Code Polish
Resolve scope once, make only high-confidence simplifications, fix evidenced defects by risk, and verify the final
state.
Modes
--simplify: simplify only.
--review: review and fix only.
- Neither or both: simplify, then review the simplified result.
--with-profile <name> / --skip-profile <name>: add or suppress review profiles; skip wins.
Fixed Scope
- Require a Git repository.
- Use explicit paths, patterns, ranges, natural-language targets, or a supplied
resolved-scope block when present.
Otherwise use only files modified in this session; if session history is unavailable, use all uncommitted tracked and
untracked files.
- Exclude lockfiles, generated outputs, vendored code, minified bundles, and large data snapshots from manual review
unless explicitly requested. Validate relevant excluded outputs through their generator, schema, or invariants.
- Resolve and retain one authoritative scope set and optional exclusions for execution. Do not broaden or recompute
scope later. Stop if it is empty.
Simplify
Preserve public contracts, inputs, outputs, side effects, error behavior, performance-sensitive characteristics,
telemetry, and operational guards. Apply only changes with a concrete comprehension or defect-risk benefit:
- flatten avoidable control-flow nesting;
- clarify misleading names or dense transforms;
- remove real duplication when the abstraction reduces total complexity;
- tighten local types and contracts without broad churn;
- remove only dead code caused by this session's edits.
Do not split by line count, perform architecture cleanup, convert sync/async APIs, add speculative configurability, or
replace readable duplication with a one-use abstraction. A no-op is a valid result.
Review and Fix
Judge the diff against the user's request. Prioritize CRITICAL → HIGH → MEDIUM → LOW:
- CRITICAL: exploitable security, data loss, or critical outage path.
- HIGH: behavior, error-path, boundary, or performance defect affecting core behavior.
- MEDIUM: resource leak, complexity hotspot, test gap, over-scoped change, speculative complexity, or weak success
criterion likely to cause defects.
- LOW: localized clarity or style issue with a real maintenance cost.
Every finding must cite a verified location, triggering input/state, failure mode, blast radius, and evidence in the
changed code. Merge duplicates and apply the smallest defensible fix. When intent is ambiguous, stop or record the
assumption instead of guessing.
Select every applicable profile and read it once:
| Surface |
Profile |
| auth, secrets, crypto, external input/network, unsafe parsing |
security |
| env, config, timeouts, retries, pools, limits |
configuration |
| Go behavior, concurrency, context, errors |
go |
| Rust, Cargo/workspaces, async/concurrency, unsafe/FFI |
rust |
| TypeScript types, modules, packages, async behavior |
typescript |
| Python services, scripts, async, packaging, data IO |
python |
| shell, CI, deploy, installers, quoting |
shell |
| CSV/JSON/YAML/binary, schemas, migrations, generated data |
data-formats |
| naming and intent clarity |
naming unless skipped |
Profiles live at references/profiles/<name>.md. Missing selected profiles are a stop condition.
Verification and Report
Run the narrowest formatter/lint, targeted tests, typecheck, and invariant checks that prove the final touched behavior.
Broaden only for shared contracts. Name skipped checks and why.
Report Scope, Simplifications when run, Review Findings and Fixes when run, Verification, and Residual Risks.
Summarize scope with the file count and smallest useful repository-relative roots, globs, ranges, or user-supplied
targets. Do not enumerate every file merely to prove scope; name individual paths only for a small explicit scope or to
clarify exceptions and findings. Findings include severity, location, impact, evidence, fix, and confidence. A residual
risk states the assumption, consequence if wrong, and how to check it. Completion requires fixed scope, traceable
edits/findings, and validation evidence.
Render a successful report as ### ✨ Code polish — ✅ complete, a small summary-count table, a compact Scope
summary, ### ✨ Simplifications, ### 🔎 Review findings and fixes, ### 🧪 Verification, and
### ⚠️ Residual risks, omitting inapplicable sections. When review is clean, state ✅ No verified review findings.
If a stop condition below prevents completion, lead with ### ✨ Code polish — ⛔ blocked and report the evidence and
required decision. Keep severity tokens, profile IDs, commands, locations, reproduction inputs, and security evidence
exact and undecorated.
Stop when behavior parity or required high-risk validation cannot be established, or a fix requires an unrequested
public-contract change or larger redesign.
1---2name: code-polish3description: Polish changed code when the user explicitly asks, or when an active workflow requests post-implementation simplification and risk-profiled review over a fixed file scope.4---5
6# Code Polish
7
8Resolve scope once, make only high-confidence simplifications, fix evidenced defects by risk, and verify the final
9state.
10
11## Modes
12
13- `--simplify`: simplify only.
14- `--review`: review and fix only.
15- Neither or both: simplify, then review the simplified result.
16- `--with-profile <name>` / `--skip-profile <name>`: add or suppress review profiles; skip wins.
17
18## Fixed Scope
19
201. Require a Git repository.
212. Use explicit paths, patterns, ranges, natural-language targets, or a supplied `resolved-scope` block when present.
22 Otherwise use only files modified in this session; if session history is unavailable, use all uncommitted tracked and
23 untracked files.
243. Exclude lockfiles, generated outputs, vendored code, minified bundles, and large data snapshots from manual review
25 unless explicitly requested. Validate relevant excluded outputs through their generator, schema, or invariants.
264. Resolve and retain one authoritative scope set and optional exclusions for execution. Do not broaden or recompute
27 scope later. Stop if it is empty.
28
29## Simplify
30
31Preserve public contracts, inputs, outputs, side effects, error behavior, performance-sensitive characteristics,
32telemetry, and operational guards. Apply only changes with a concrete comprehension or defect-risk benefit:
33
34- flatten avoidable control-flow nesting;
35- clarify misleading names or dense transforms;
36- remove real duplication when the abstraction reduces total complexity;
37- tighten local types and contracts without broad churn;
38- remove only dead code caused by this session's edits.
39
40Do not split by line count, perform architecture cleanup, convert sync/async APIs, add speculative configurability, or
41replace readable duplication with a one-use abstraction. A no-op is a valid result.
42
43## Review and Fix
44
45Judge the diff against the user's request. Prioritize `CRITICAL → HIGH → MEDIUM → LOW`:
46
47- **CRITICAL**: exploitable security, data loss, or critical outage path.
48- **HIGH**: behavior, error-path, boundary, or performance defect affecting core behavior.
49- **MEDIUM**: resource leak, complexity hotspot, test gap, over-scoped change, speculative complexity, or weak success
50 criterion likely to cause defects.
51- **LOW**: localized clarity or style issue with a real maintenance cost.
52
53Every finding must cite a verified location, triggering input/state, failure mode, blast radius, and evidence in the
54changed code. Merge duplicates and apply the smallest defensible fix. When intent is ambiguous, stop or record the
55assumption instead of guessing.
56
57Select every applicable profile and read it once:
58
59| Surface | Profile |
60| ------------------------------------------------------------- | ----------------------- |
61| auth, secrets, crypto, external input/network, unsafe parsing | `security` |
62| env, config, timeouts, retries, pools, limits | `configuration` |
63| Go behavior, concurrency, context, errors | `go` |
64| Rust, Cargo/workspaces, async/concurrency, unsafe/FFI | `rust` |
65| TypeScript types, modules, packages, async behavior | `typescript` |
66| Python services, scripts, async, packaging, data IO | `python` |
67| shell, CI, deploy, installers, quoting | `shell` |
68| CSV/JSON/YAML/binary, schemas, migrations, generated data | `data-formats` |
69| naming and intent clarity | `naming` unless skipped |
70
71Profiles live at `references/profiles/<name>.md`. Missing selected profiles are a stop condition.
72
73## Verification and Report
74
75Run the narrowest formatter/lint, targeted tests, typecheck, and invariant checks that prove the final touched behavior.
76Broaden only for shared contracts. Name skipped checks and why.
77
78Report `Scope`, `Simplifications` when run, `Review Findings and Fixes` when run, `Verification`, and `Residual Risks`.
79Summarize scope with the file count and smallest useful repository-relative roots, globs, ranges, or user-supplied
80targets. Do not enumerate every file merely to prove scope; name individual paths only for a small explicit scope or to
81clarify exceptions and findings. Findings include severity, location, impact, evidence, fix, and confidence. A residual
82risk states the assumption, consequence if wrong, and how to check it. Completion requires fixed scope, traceable
83edits/findings, and validation evidence.
84
85Render a successful report as `### ✨ Code polish — ✅ complete`, a small summary-count table, a compact `Scope`
86summary, `### ✨ Simplifications`, `### 🔎 Review findings and fixes`, `### 🧪 Verification`, and
87`### ⚠️ Residual risks`, omitting inapplicable sections. When review is clean, state `✅ No verified review findings.`
88If a stop condition below prevents completion, lead with `### ✨ Code polish — ⛔ blocked` and report the evidence and
89required decision. Keep severity tokens, profile IDs, commands, locations, reproduction inputs, and security evidence
90exact and undecorated.
91
92Stop when behavior parity or required high-risk validation cannot be established, or a fix requires an unrequested
93public-contract change or larger redesign.