# Polish

> Completion-claim gate. Before any "completed" / "done" / "passed" claim, output the self-check table. If ANY row is ✗, fix it first — do NOT report completion. Lean discipline-gate version (not the full quality-loop polish). Triggers: "polish", "완료 점검", "done check", "ready to ship", "PR ready", "완료 선언 전"

- Skill: `jazz1x/polish` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add jazz1x/polish`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jazz1x/polish/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: jazz1x (https://skillmd.com/u/jazz1x)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jazz1x/polish

---


# galmuri:polish — completion-claim gate

> "검증 없이 완료 선언하지 않는다." A short, hard gate to run **before** saying *done* / *완료* / *passed*. If any row is ✗, fix it; do not declare completion.

If invoked bare (no scope hint), ask: *"What are you about to declare complete? e.g. `feat/foo branch`, `UI refactor`, `migration 0042` — name the scope so the checklist evidence makes sense."*

This is the **discipline-gate** version. For the full quality-improvement loop (6-axis inspection × N + e2e + PR doc), use `oh-my-borory:polish`.

## Step 1: Gather context

Cheap reads only — no full-file scans.

```bash
git status --short
git diff --stat
git branch --show-current
git log -1 --pretty='%h %s'
```

Note the baseline branch + SHA explicitly — the checklist below references it.

## Step 2: Run the Self-Check Gate

Output **exactly** the following table. Every row must resolve to ✓ or ✗ — no `n/a`, no `pending`. If a row genuinely does not apply (e.g. no UI changes → testid row), mark it ✓ with `evidence: scope-not-applicable`.

```
| Check                                                          | Status | Evidence                                  |
|----------------------------------------------------------------|--------|-------------------------------------------|
| Branch is feature/* (not main/master/release/*)                | ✓/✗    | `git branch --show-current`               |
| Pre-commit hooks ran successfully                              | ✓/✗    | last hook exit code (or `.husky/pre-commit` ran) |
| Baseline branch + SHA explicitly stated for comparisons        | ✓/✗    | quote the SHA                             |
| No `withTimeout`, defensive `{ timeout }`, or silent try/catch | ✓/✗    | `rg 'withTimeout\|timeout:\s*\d+' diff`   |
| No hardcoded version field names (`v1.*`, `schema_v2`)         | ✓/✗    | `rg 'v\d+\.\w+\|schema_v\d' diff`         |
| testid constants are UPPER_SNAKE_CASE                          | ✓/✗    | `rg 'data-testid="[a-z]' diff`            |
| No raw px values outside design tokens                         | ✓/✗    | manual diff inspection / tokens file      |
| Long reports (>30 lines) written to docs/reports/ not chat     | ✓/✗    | inspect last chat output                  |
| Pixel-delta table present when claim is UI work                | ✓/✗    | path to pixel-delta artifact (or scope-not-applicable) |
| Locale separation respected (en/ko/jp files do not mix)        | ✓/✗    | `rg -l '[가-힣]\|[ぁ-ヿ]' *.md` filtered  |
```

### Token Efficiency

After the table:

- If the cycle exceeded **80% of context budget**, write a handoff note to `tmp/polish-handoff-<ts>.md` and STOP. Wait for an explicit "continue".
- Never restate the entire diff in chat — summarize and link to the commit hash.

## Step 3: Halt-or-Pass

- **Any ✗** → halt. List each ✗ row with the fix command, apply fixes, re-run Step 2. Do **not** emit a completion claim until all rows are ✓.
- **All ✓** → emit one line: `polish gate clean: {commit-hash} ready.` That is the *only* form of completion claim allowed.

## What this skill does NOT do

- ✗ Run inspections / write tests / generate PR docs (that's `oh-my-borory:polish` or `harnish:ralphi`)
- ✗ Modify any code by itself — it only verifies *what you already did*
- ✗ Replace `galmuri:self-audit` (which audits Claude's own session actions across all axes, not just completion claims)

