polish
Skill3 starsChanged 6 months agoMITView on GitHub
Automated post-implementation review-and-fix loop. Use after completing a feature or implementation plan to find and fix issues across multiple passes until convergence. Invoke with /polish. Composes blunder-hunt for the review pass, convergence-detect for the stop condition, and deslop for any user-facing prose at the end.
70 other projects use a version of this.
Adopted by
Most recently taken up by
- Mrbaeksang/skillstheir own version, first seen Nov 8, 2026
- Integralist/agent-skillstheir own version, first seen Nov 6, 2026
- tenequm/skillstheir own version, first seen Nov 5, 2026
- galiprandi/job-seekertheir own version, first seen Nov 5, 2026
- inkatze/planwrighttheir own version, first seen Nov 4, 2026
- angusfretwell/skillstheir own version, first seen Nov 4, 2026
Used with
Projects with it also use layout, shape and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
owshq-mecSkilllayout
Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.
Also in 8 projects that use this
HAR5HA-7663Skillshape
Plan the UX and UI for a feature before writing code. Runs a structured discovery interview, then produces a design brief that guides implementation. Use during the planning phase to establish design direction, constraints, and strategy before any code is written.
Also in 13 projects that use this
PeterCangSkilltokens
Count all historical Claude Code token usage across all local projects, broken down by model, project, date, and week. Includes cost estimation based on official Anthropic pricing.
Also in 3 projects that use this
arjunkshahSkillredesign
Redesign existing interfaces to premium quality while preserving product goals and functional behavior.
Also in 3 projects that use this
leonaaardobSkillmotion
Complete Motion.dev documentation - modern animation library for React, JavaScript, and Vue (formerly Framer Motion)
Also in 3 projects that use this
MicrosoftSkillreview-loop
Iterative review loop using any lens agent against any target (plan, code, design). Use when you want to run a focused review cycle: spawn a fresh reviewer subagent with a specific lens, present findings and remediation to the user, apply fixes with user guidance, and repeat until clean.
Also in 3 projects that use this
Other versions70 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 70
- talesofai/cohub★ 585same name
- educlopez/ui-craft★ 441same name
- nexmoe/DayBee★ 424same name
- nexmoe/eve★ 424same name
- Southclaws/storyden★ 348same name
- 10xChengTu/Mux0★ 337same name
- theexperiencecompany/gaia★ 325same name
- AkaraChen/aghub★ 271same name
- zacharyfmarion/openscad-studio★ 238same name
- jagrat7/linux-wallpaper-engine★ 227same name
60 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- code-simplificationSkill
- dcgSkill
- editorial-reviewSkill
- journalSkill
- readme-updateSkill
- security-and-hardeningSkill
- session-retroSkill
- autopilotSkill
- blunder-huntSkill
- brainstormSkill
- convergence-detectSkill
- deslopSkill
- dispatch-parallelSkill
- doc-reviewSkill
- dreamSkill
- incremental-implementationSkill
- planning-and-task-breakdownSkill
- pr-reviewSkill
- refactor-planSkill
- scope-checkSkill
- security-auditSkill
- spec-driven-developmentSkill
- unstuckSkill
- verification-before-completionSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
30 rules. 0 are common, 22 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 62 edited versions we read keep these.
22
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Read any active implementation plan if it exists
- Distinctive: line 33
Read each in full, not just the diff hunks
- Distinctive: line 34
Look for: dead code from refactoring, leftover debug statements, missing error handling at system boundaries, security issues, race …
- Distinctive: line 39
Look at how pieces fit together:
- Distinctive: line 42
Verify: contracts honored, error paths handled by callers, no silent type narrowing, no swallowed errors
- Very specific: line 47
Run blunder-hunt with the pass's lens on the in-scope files.
- Distinctive: line 53
If the platform doesn't support parallel subagents, fall back to sequential — same lenses, same dedup, just slower.
- Distinctive: line 57
After each pass, fix every finding (not just critical).
- Very specific: line 61
After pass 3 — once you have at least three rounds of findings — invoke convergence-detect.
- Very specific: line 65
Before declaring done, scan the diff for user-facing prose: README sections, commit messages, doc strings, error messages shown to humans, …
- Very specific: line 71
After convergence + deslop, BEFORE emitting "polish complete", run verification-before-completion.
- Distinctive: line 75
Run them ALL fresh, in this turn (not "I ran them earlier").
- Distinctive: line 76
Read full output + exit codes.
- Distinctive: line 77
If anything fails → state truth, fix, re-run from Step 1 (the convergence loop).
- Distinctive: line 78
If all pass → emit the polish-complete claim WITH the evidence (commands ran + N/N pass).
- Very specific: line 80
Never declare polish-complete on vibes.
- Distinctive: line 95
If items remain after the cap, list them for the user.
- Very specific: line 101
Before pass 1, create branch polish/<short-feature-name> off the current HEAD
- Very specific: line 102
After each pass's fix phase, commit with message polish: pass N — <one-line summary>
- Distinctive: line 103
If a later pass introduces a regression, git bisect over the polish commits identifies the culprit fix
- Distinctive: line 110
DO fix issues immediately — don't just report them
- Distinctive: line 111
DO run tests after each fix pass
- Distinctive: line 112
DO stop when convergence-detect says converged, even before the cap
- Very specific: line 113
DO refuse to declare done if tests are failing at any point in any pass — hard test gate (enforced by verification-before-completion's gate …
- Distinctive: line 114
DO commit after polish (ask user first)
- Distinctive: line 115
DON'T gold-plate. Real issues only, no style refactors
- Distinctive: line 116
DON'T add features. Correctness only
- Distinctive: line 117
DON'T count cosmetic preferences as issues unless they violate project conventions
- Distinctive: line 118
DON'T silently revert decisions the author made — if you disagree, raise it as a finding for the user to weigh in
- Distinctive: line 119
DON'T parallelize the *fix phase*.
“Common” is measured: kept by at least 6 in 10 of the 62 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
polish
Loops until clean. Each pass: review the diff, fix everything found, re-run tests/linters. Stop when convergence-detect says no new signal is appearing.
This skill composes:
blunder-huntfor the review (multi-pass adversarial critique)convergence-detectfor the stop condition (smarter than "ran N rounds")verification-before-completionfor the hard test/build/lint gate AFTER convergence (convergence ≠ correctness)deslopfor any user-facing prose touched in the diff
Step 0: Scope
Determine what was implemented:
- Read any active implementation plan if it exists
git diff master...HEAD --stat(or--cached --stat/--statif on master)- Identify all files in the change set
Step 1-N: Review-Fix Passes
Cap at 4 passes. Stop early when convergence-detect says converged.
For each pass, alternate two lenses:
Lens A — Random Code Exploration (odd passes: 1, 3)
Traverse the codebase semi-randomly:
- Pick 5 files in the diff at random
- Read each in full, not just the diff hunks
- Look for: dead code from refactoring, leftover debug statements, missing error handling at system boundaries, security issues, race conditions, missing tests for new paths
- For each finding: severity + file:line + description
Lens B — Cross-Agent Integration Review (even passes: 2, 4)
Look at how pieces fit together:
- List the public-API surface added or changed in the diff
- Find every call site of those APIs (in the diff and outside)
- Verify: contracts honored, error paths handled by callers, no silent type narrowing, no swallowed errors
- For each finding: severity + file:line + description
Apply blunder-hunt to each pass
Run blunder-hunt with the pass's lens on the in-scope files. The primitive handles the lie-to-them pressure and the dedup. Polish just consumes the output.
Parallel pass-runners (when supported)
For a single pass with K lenses, compose dispatch-parallel: spawn one subagent per lens, run all in parallel, collect findings. Wall-time savings are large on big diffs. Each subagent gets the same diff but a different lens prompt; synthesis dedupes findings that surface in 2+ subagents.
If the platform doesn't support parallel subagents, fall back to sequential — same lenses, same dedup, just slower.
Fix Phase
After each pass, fix every finding (not just critical). Run the project's test/lint commands. If a fix breaks something, fix that too — count as part of the same pass.
Convergence check
After pass 3 — once you have at least three rounds of findings — invoke convergence-detect. If it returns CONVERGED, stop. Otherwise continue to pass 4 (the cap).
Step F: Final deslop
Before declaring done, scan the diff for user-facing prose: README sections, commit messages, doc strings, error messages shown to humans, CLI help text. Run deslop on each.
Skip code comments unless the diff specifically reworked them.
Step V: Verification gate (HARD STOP)
After convergence + deslop, BEFORE emitting "polish complete", run verification-before-completion. The convergence-detect signal means "no new findings in the last pass". It does NOT mean "the code still compiles + tests still pass". Both can be true OR false independently.
The primitive enforces:
- Identify the verification commands for this codebase (test runner, linter, type-checker, build).
- Run them ALL fresh, in this turn (not "I ran them earlier").
- Read full output + exit codes.
- If anything fails → state truth, fix, re-run from Step 1 (the convergence loop).
- If all pass → emit the polish-complete claim WITH the evidence (commands ran + N/N pass).
Never declare polish-complete on vibes. The evidence template lives in verification-before-completion's SKILL.md.
Step Final: Summary
## Polish Summary
- Passes completed: <N>
- Stop reason: <converged | hit cap of 4 | clean from pass 1>
- Issues found: <X> (<Y> critical, <Z> issue, <W> minor)
- Issues fixed: <X>
- Tests: <passing | failing — listed below>
- Deslop edits: <count>
- Status: <Clean | <N> remaining items>If items remain after the cap, list them for the user.
Optional: branch-protected mode
For long-running polish loops on critical code, optionally commit each pass as a separate commit on a polish/<feature> branch:
- Before pass 1, create branch
polish/<short-feature-name>off the current HEAD - After each pass's fix phase, commit with message
polish: pass N — <one-line summary> - If a later pass introduces a regression,
git bisectover the polish commits identifies the culprit fix - At the end, optionally squash before merging back to the working branch
This trades commit-history noise for an auditable trail. Useful for high-stakes refactors; overkill for small fixes.
Hard rules
- DO fix issues immediately — don't just report them
- DO run tests after each fix pass
- DO stop when convergence-detect says converged, even before the cap
- DO refuse to declare done if tests are failing at any point in any pass — hard test gate (enforced by
verification-before-completion's gate at Step V) - DO commit after polish (ask user first)
- DON'T gold-plate. Real issues only, no style refactors
- DON'T add features. Correctness only
- DON'T count cosmetic preferences as issues unless they violate project conventions
- DON'T silently revert decisions the author made — if you disagree, raise it as a finding for the user to weigh in
- DON'T parallelize the fix phase. Parallel review is fine; parallel writes to the same files = chaos.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

