Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Final craft pass applying the compound details from the polish checklist — micro-typography, spacing rhythm, hover states, and a signature detail — directly to code. Use when the surface is functionally complete but feels unfinished, or when the user says "polish this" / "it looks generic" / "add the final touches". Invoke when the user asks for polish on their UI, or mentions 'polish' alongside design / UI / frontend work.
.claude/skills/educlopez-polish/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | -66% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -75% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -41% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -67% | 0% |
<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->
Context: this sub-skill is one lens of the broader ui-craft skill. If the ui-craft skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.
Polish the UI at $ARGUMENTS. Load the ui-craft skill.
Source of truth: read references/review.md → Polish Pass (Compound Details) section. Apply every item on that list to the target. Do not re-derive the list here — review.md owns it.
Then the signature detail: surfaces built via /craft already carry exactly one signature bet, chosen in the Craft Read and built in the first pass (references/craft-intent.md). Polish verifies it survived and strengthens it — never stacks a second. Only if the surface predates craft-intent (no signature anywhere) do you propose and add one: a subtle motif, an asymmetric layout break, a custom list marker, a distinctive hover — one thing someone would remember.
Knob gating (CRAFT_LEVEL):
≤ 4 → skip the Polish Pass. Ask the user first before running it.5-7 → apply everything on the list, leave the signature as-built unless asked.8+ → apply everything + verify/strengthen the signature detail (add one only if the surface has none).Output: edit the code directly (polish is implementation, not critique). After each file, print the Review Format table from SKILL.md showing what changed and why. No full diffs — one row per change.
Close every run with a Craft Report (references/review.md → Craft Report). The table above is the per-file diff log; the Craft Report is the run's receipt — Checked / Passed / Changed / Left alone / Verdict. Produce it even when the Polish Pass found nothing to change — that is itself the finding.
Next step: /finalize — the pre-ship gate (rung 3).
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-16 | fail→pass | 26,542 | 7,864 | -70% | 1 | 1 | 0% | 5,692 | 1,954 | -66% | 0 | 0 | — |
case-01 | fail→fail | 3,884 | 5,418 | +39% | 1 | 1 | 0% | 188 | 872 | +364% | 0 | 0 | — |
case-02 | fail→fail | 3,977 | 4,375 | +10% | 1 | 1 | 0% | 145 | 725 | +400% | 0 | 0 | — |
case-03 | fail→fail | 2,308 | 5,351 | +132% | 1 | 1 | 0% | 157 | 838 | +434% | 0 | 0 | — |
case-04 | fail→pass | 17,023 | 2,910 | -83% | 1 | 1 | 0% | 3,792 | 958 | -75% | 0 | 0 | — |
case-05 | fail→pass | 26,326 | 15,537 | -41% | 1 | 1 | 0% | 6,178 | 3,627 | -41% | 0 | 0 | — |
case-06 | pass→fail | 28,138 | 4,181 | -85% | 1 | 1 | 0% | 6,171 | 782 | -87% | 0 | 0 | — |
case-07 | fail→fail | 29,612 | 5,287 | -82% | 1 | 1 | 0% | 6,181 | 800 | -87% | 0 | 0 | — |
case-08 | pass→pass | 9,587 | 4,762 | -50% | 1 | 1 | 0% | 1,413 | 1,299 | -8% | 0 | 0 | — |
case-09 | fail→fail | 7,282 | 3,974 | -45% | 1 | 1 | 0% | 1,136 | 1,085 | -4% | 0 | 0 | — |
case-10 | fail→pass | 5,609 | 1,423 | -75% | 1 | 1 | 0% | 898 | 647 | -28% | 0 | 0 | — |
case-11 | fail→fail | 25,207 | 5,331 | -79% | 1 | 1 | 0% | 6,169 | 1,009 | -84% | 0 | 0 | — |
case-12 | fail→pass | 12,143 | 1,042 | -91% | 1 | 1 | 0% | 2,039 | 668 | -67% | 0 | 0 | — |
case-13 | fail→pass | 9,609 | 14,310 | +49% | 1 | 1 | 0% | 1,475 | 3,251 | +120% | 0 | 0 | — |
case-14 | fail→pass | 6,040 | 5,110 | -15% | 1 | 1 | 0% | 1,086 | 1,388 | +28% | 0 | 0 | — |
case-15 | fail→pass | 22,648 | 2,779 | -88% | 1 | 1 | 0% | 5,681 | 1,010 | -82% | 0 | 0 | — |
case-17 | pass→fail | 26,476 | 4,918 | -81% | 1 | 1 | 0% | 5,966 | 705 | -88% | 0 | 0 | — |
case-18 | fail→fail | 26,476 | 28,233 | +7% | 1 | 1 | 0% | 6,171 | 832 | -87% | 0 | 0 | — |
case-19 | fail→pass | 8,174 | 1,920 | -77% | 1 | 1 | 0% | 1,388 | 833 | -40% | 0 | 0 | — |
case-20 | fail→fail | 3,478 | 5,526 | +59% | 1 | 1 | 0% | 589 | 820 | +39% | 0 | 0 | — |
case-21 | fail→fail | 14,779 | 4,553 | -69% | 1 | 1 | 0% | 2,395 | 746 | -69% | 0 | 0 | — |
case-22 | fail→fail | 2,797 | 4,114 | +47% | 1 | 1 | 0% | 473 | 695 | +47% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 12 counted toward the lift figure. The other 10 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +32 percentage points is the difference between those two pass rates over the 12 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.