Polish Spec

Review a spec file collaboratively with the human. Claude surfaces issues and asks clarifying questions; the human responds; Clau…

mlinnem updated 3mo ago
Claude CodeGeneric
View source ↗
# Skill: polish-spec

Review a spec file collaboratively with the human. Claude surfaces issues and asks clarifying questions; the human responds; Claude folds answers into the spec. Repeat until the human says stop or no moderate-or-higher issues remain.

## Finding the spec

If a path argument is given, use it. Otherwise, infer from context: look for the spec most recently discussed or the latest `specs/*/spec.md` by modification time.

## What to review

Read the spec fully. Also read `context/Architecture.md` to check for architectural conflicts. Identify every issue and open question. For each, assign a severity:

- **Blocking** — would cause the implementer to make a wrong or contradictory decision, or cannot be implemented as written
- **Significant** — ambiguous, underspecified, or likely to produce bugs or design regret
- **Minor** — polish, clarity, or nice-to-have

## Categories of issues

**Gaps**: something the implementer will need to know that isn't specified (e.g., what happens on error, how a field is initialized, what a term means)

**Contradictions**: two parts of the spec that conflict

**Architectural conflicts**: spec decisions that conflict with `context/Architecture.md`

**Design questions**: choices the spec makes that seem worth examining — not necessarily wrong, but worth confirming the author intended them (e.g., "this means X will never be possible — is that intentional?")

**Clarifications needed**: things Claude genuinely doesn't understand well enough to implement

## Loop

### 1. Present issues

After reading, present findings in a single message:
- List each Blocking/Significant issue with a short description and your proposed resolution or question
- List Minor issues briefly at the end (optional — skip if the list would be overwhelming)
- For design questions, frame as "This implies X — is that intentional?"
- Do NOT edit the spec yet

### 2. Wait for human response

The human will answer questions, accept proposals, reject proposals, or redirect. Do not proceed until they respond.

### 3. Fold in

Based on the human's answers:
- Edit the spec to incorporate confirmed resolutions
- If the human rejects a proposed fix, note it and move on (don't re-argue)
- If an answer reveals new questions, include them in the next round

### 4. Check for remaining issues

After editing, re-read the spec. If any Blocking or Significant issues remain unresolved, go back to step 1 with the remaining issues only. If the human says stop, stop.

## Escalate rather than guess when

- A question touches on game rules, world content, or design intent that Claude cannot infer from context
- Two reasonable interpretations would lead to meaningfully different implementations
- The issue requires looking up reference material Claude doesn't have

## Report format

Start each round with a brief header:

Round N — [count] blocking, [count] significant, [count] minor


Then list issues. Use this format per issue:

[Severity] [Category]: [description] → Proposed: [what Claude would do] — or "Needs your input: [question]"


When done (human says stop or no B/S issues remain), output:
"Spec is ready for planning." with a one-line summary of what changed.

Maintain Polish Spec?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

[Polish Spec on getagentictools](https://getagentictools.com/loops/mlinnem-skill-polish-spec?ref=badge)