Skip to content
Back to skills

Iterate On Logo

ASecurity

Use this skill when Tyler asks to iterate on a logo, run an adversarial critique-fix loop, or says 'critique and fix this until done'. Runs scored critique → targeted SVG fix cycles until no fixable issues remain.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 20, 2026
ai-agentsgo

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add tstapler/dotfiles --skill iterate-on-logo --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Iterate On Logo?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Iterate On Logo
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tstapler-iterate-on-logo/badge)](https://www.skillsdirectory.com/skills/tstapler-iterate-on-logo)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: iterate-on-logo
description: "Use this skill when Tyler asks to iterate on a logo, run an adversarial critique-fix loop, or says 'critique and fix this until done'. Runs scored critique → targeted SVG fix cycles until no fixable issues remain."
---

# iterate-on-logo — Adversarial Critique-Fix Loop

Invoke with: "adversarially critique [iteration-N] and fix it, loop until done"

No subprocess calls. Execute inline. Read the target SVG first, then cycle.

---

## Scoring Rubric

Score each dimension 1–3. Max 15. A round with no 1s is done.

| Dimension | 1 — Broken | 2 — Acceptable | 3 — Strong |
|---|---|---|---|
| **home_read** | Primary metaphor illegible at 200px | Readable with effort | Instant read |
| **brand_fit** | Off-palette or wrong mood | Correct colors, weak mood | Colors + mood both land |
| **distinctiveness** | Generic icon | Recognizable category | Memorable silhouette |
| **favicon_16px** | Collapses to noise | Survives as silhouette | Distinct at 16px |
| **direction_clarity** | No sense of movement | Implied direction | Unambiguous departure vector |

Score ≥ 12 (all 2s or better): declare done, no further iteration.  
Any dimension at 1: fix it, increment iteration number, loop.  
Max 5 rounds — escalate if still failing after round 5.

---

## Geometry Verification (Sortie road icon)

Before writing any SVG that places elements near the road edges, verify clearance:

**Road edge equation** (viewBox 0 0 512 512, V from (72,472)→(256,164)←(440,472)):
```
left_edge_center(y)  = 72  + 184 * (472 - y) / 308
right_edge_center(y) = 440 - 184 * (472 - y) / 308
road_stroke_width    = 32
left_boundary(y)     = left_edge_center(y)  - 16   ← visible left limit
right_boundary(y)    = right_edge_center(y) + 16   ← visible right limit
```

**Rule**: Any element tip that faces the road must satisfy:
- Left-side elements: tip_x < left_boundary(y) at the element's y
- Right-side elements: tip_x > right_boundary(y) at the element's y

Compute at the y of each arm/element tip before writing the rect.

**Centerline perspective** (scale factor approach):
```
s(y) = (y - 164) / 308          ← 0 at horizon (164), 1 at bottom (472)
dash_length(y)   = 42 * s(y)    ← reference 42px at y≈431
dash_sw(y)       = 14 * s(y)    ← reference sw=14 at y≈431
gap(y)           = 28 * s(y)    ← gap shrinks proportionally
```
Apply at each dash midpoint, working bottom-up (near to far).

**Drawing order** (later = on top):
1. Cacti / background elements
2. Road edge lines
3. Centerline dashes
4. Sun rays
5. Horizon circle (caps ray bases)

---

## Loop Protocol

### Round start

1. Read the current iteration SVG
2. Score all 5 dimensions
3. Print: `Round N — score X/15`
4. List findings: dimension, score, specific pixel/geometry evidence

### Fix step (only if any dimension scored 1)

1. Address the lowest-scoring dimension first
2. Verify geometry before writing (use road edge formula above if applicable)
3. Write the new SVG to `logos/iterations/iteration-{N+1}.svg`
4. Update the "Current direction" section of `logos/preview.html`:
   - Add new card at top with label `{N+1} — [one-line fix description] ★ LATEST`
   - Move prior LATEST card down, drop the ★ LATEST badge
5. State what changed and why in one sentence

### Termination conditions

| Condition | Action |
|---|---|
| All dimensions ≥ 2 | Declare done. Print final score. |
| Round 5 reached with 1s remaining | Escalate — describe what can't be auto-fixed and why |
| Remaining issues require concept change | Stop, present the issue to the user |

---

## File paths (Sortie project)

| Resource | Path |
|---|---|
| Iteration SVGs | `logos/iterations/iteration-N.svg` |
| Preview | `logos/preview.html` |
| Concepts | `logos/concepts/concept-*.svg` |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…