agent-comms
SendMessage recipient validation and worktreePath safety (CWE-59). TRIGGER when: validating a SendMessage `to:` recipient against…
Verify an implementation against its OpenSpec artifacts. TRIGGER when: checking completed work against design.md and tasks.md. SKIP: security-specific review (use security-review-checklists); executing tasks (use spec-develop).
Claude Code
$ npx -y skills add komluk/scaffolding --skill spec-review --agent claude-code
Codex
$ npx skills add komluk/scaffolding --skill spec-review -a codex -y
Cursor
$ npx skills add komluk/scaffolding --skill spec-review -a cursor -y
Gemini CLI
$ npx skills add komluk/scaffolding --skill spec-review -a gemini-cli -y
GitHub Copilot
$ npx skills add komluk/scaffolding --skill spec-review -a github-copilot -y
OpenCode
$ npx skills add komluk/scaffolding --skill spec-review -a opencode -y
Windsurf
$ npx skills add komluk/scaffolding --skill spec-review -a windsurf -y
name: spec-review description: "Verify an implementation against its OpenSpec artifacts. TRIGGER when: checking completed work against design.md and tasks.md. SKIP: security-specific review (use security-review-checklists); executing tasks (use spec-develop)."
Guide for verifying that implementation matches spec artifacts.
| File | Required | Purpose | |------|----------|---------| | `{specs_path}/design.md` | Yes | Requirements and scenarios to verify | | `{specs_path}/tasks.md` | Yes | Completion checklist | | `{specs_path}/proposal.md` | Optional | Original intent reference |
**Path Enforcement**: The `specs_path` MUST be `.scaffolding/conversations/{UUID}/specs/` where `{UUID}` is a valid UUID (format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`). NEVER use descriptive folder names.
`.scaffolding/conversations/` is a symlink to `<share>/projects/<repo-name>/conversations` (paths below are unchanged; always go through the symlink).
**Question**: Are all tasks done and all requirements covered?
| Check | Method | Issue Level | |-------|--------|-------------| | All checkboxes marked `[x]` | Parse tasks.md | CRITICAL if incomplete | | All requirements have code | Search codebase for keywords | CRITICAL if missing | | All new files exist | Verify file paths from tasks | CRITICAL if missing |
**Question**: Does the code do what the spec says?
| Check | Method | Issue Level | |-------|--------|-------------| | GIVEN/WHEN/THEN satisfied | Trace scenario through code | WARNING if divergent | | Tests cover scenarios | Match test names to scenarios | WARNING if uncovered | | Edge cases handled | Check error paths in code | WARNING if missing | | Validation commands pass | Run pytest / npm run validate | CRITICAL if failing |
**Question**: Does the code match design decisions?
| Check | Method | Issue Level | |-------|--------|-------------| | Design decisions followed | Compare Decisions section to code | WARNING if violated | | Patterns consistent | Check naming, structure, style | SUGGESTION | | No undocumented changes | Diff scope vs design scope | WARNING if extra | | No design deviations | Cross-reference architecture | WARNING if different |
Review in two ordered stages. Do not start stage 2 until stage 1 passes.
| Stage | Question | Basis | Blocks on | |-------|----------|-------|-----------| | 1. Spec compliance | Does it build exactly what was asked - nothing missing, nothing extra? | design.md requirements/scenarios, tasks.md | Missing or divergent requirement, undocumented scope | | 2. Code quality | Is it well built - readable, tested, secure, maintainable? | Project conventions, tests, patterns | Bugs, missing tests, unsafe code; style nits are SUGGESTION |
Why this order: polishing code that implements the wrong thing is wasted work, and quality findings on code that will change after a spec fix are noise. Stage 1 maps to the Completeness + Correctness + Coherence dimensions above; stage 2 is the code-quality pass layered on top. Report stage results separately.
When acting on review feedback: 1. **Read all items first**, then address them in order: CRITICAL, WARNING, SUGGESTION. 2. **Verify before changing** - confirm each finding against the code; do not apply a suggestion blindly. 3. **Disagree with evidence** - if a finding is wrong or conflicts with the spec, reply with the reason (file/line, spec reference) instead of silently ignoring or complying. 4. **One fix, one check** - after each change re-run the relevant tests; do not batch unrelated fixes. 5. **Ask when unclear** - an ambiguous item gets a question, not a guess. 6. **Report back** per item: fixed / disputed (why) / deferred (why). No performative agreement; state what changed.
1. **Load artifacts** - Read design.md, tasks.md, proposal.md 2. **Check completeness** - Parse checkboxes, search for requirement implementations 3. **Check correctness** - Trace each scenario through code, verify test coverage 4. **Check coherence** - Compare decisions to implementation, check patterns 5. **Generate report** - Summarize findings with issue levels
## Verification Report ### Summary | Dimension | Status | |--------------|---------------------| | Completeness | X/Y tasks, N reqs | | Correctness | M/N scenarios pass | | Coherence | Followed / N issues | ### Critical Issues | # | Dimension | Issue | File | Recommendation | |---|-----------|-------|------|----------------| | 1 | Completeness | Task 2.3 incomplete | - | Complete or mark blocked | ### Warnings | # | Dimension | Issue | File | Recommendation | |---|-----------|-------|------|----------------| | 1 | Correctness | Scenario X not tested | test_foo.py | Add test case | ### Suggestions - [Pattern deviation details with file reference] ### Assessment [CRITICAL: N issues | WARNINGS: N | Ready for archive: Yes/No]
| Available Artifacts | Checks Performed | |--------------------|-----------------| | tasks.md only | Completeness (checkboxes) only | | tasks.md + design.md | Completeness + Correctness | | All three | All three dimensions |
Always note which checks were skipped and why.
Spec-driven multi-agent orchestration for Claude Code — pure markdown, zero backend, runs on the stock runtime. 13 agents, 39 skills, 21 commands, 20 hooks, per-phase model tiers, opt-in lifecycle hooks, optional cross-device semantic memory.
SendMessage recipient validation and worktreePath safety (CWE-59). TRIGGER when: validating a SendMessage `to:` recipient against…
Repo-local file memory under .scaffolding/ (shared/agent/conversation tiers). TRIGGER when: reading or writing .scaffolding/…
RESTful API design standards: resource naming, HTTP methods, status codes, pagination, versioning. TRIGGER when: designing new…
Optimize Claude Code context-window usage for accuracy and cost. TRIGGER when: hitting context limits, structuring prompts for an…
Schema design, index strategy, migration safety, and query analysis. TRIGGER when: designing tables or indexes, writing a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.