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.
Scanned 9/20/2026
Install to Claude Code
npx -y skills add tstapler/dotfiles --skill iterate-on-logo --agent claude-codeInstalls 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 automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tstapler-iterate-on-logo)More formats (shields.io, HTML) on the badges page.
---
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` |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!