SuperAPI AI Directory

sdd-verify

Coding & development

View repository

Updated 10-15 21:41

About this skill

sdd-verify

Verifies that the implementation complies with the specs, design, and task plan. The quality gate before archiving.

Triggers: /sdd-verify <change-name>, verify implementation, quality gate, validate change, sdd verify


Purpose

Verification objectively validates that what was implemented meets what was specified. It fixes nothing — it only reports.

Sibling reference file

  • REPORT_TEMPLATE.md — persisted compact format + conversational detail blocks.

Skill resolution

Project-local → global, in order:

1. .claude/skills/sdd-verify/SKILL.md     (project-local — highest priority)
2. ~/.claude/skills/sdd-verify/SKILL.md   (global catalog — fallback)

See docs/SKILL-RESOLUTION.md for the full algorithm.



Claude execution wiring

These notes bind the tool-neutral logic above to the Claude Code harness. They are the EXECUTION layer that does not port to other tools.

  • Step 0 preload — follow skills/_shared/sdd-phase-common.md Section F (Project Context Load) and Section G (Spec Context Preload). Both non-blocking.

  • Artifact reads (Step 1) — use the harness Read("docs/sdd/{change-name}/<artifact>.md") tool. If a disk file is absent (legacy change), fall back to mem_search(query: "sdd/{change-name}/<artifact>") → mem_get_observation(id). Neither exists and Engram unreachable → orchestrator passes inline.

  • Test / build execution (Steps 6–7) — run each resolved command via the harness Bash tool; capture exit code + stdout/stderr.

  • Reuse/Boundary & Error-Surfacing (Steps 9.5–9.6) — the neutral "content search" resolves to the harness Grep tool; "read" resolves to Read. The Evidence rule cross-reference is SKILL.md:202-208 in the legacy line-numbered source.

  • Persistence (Step 10) — disk FIRST: Write("docs/sdd/{change-name}/verify-report.md", …). Then mem_save a pointer + summary with topic_key: sdd/{change-name}/verify-report, type: architecture, project: {project}, content = "path: docs/sdd/{change-name}/verify-report.md\n\n{1-3 sentence summary}". Engram unreachable → still write the disk artifact (source of truth); skip the engram pointer only.

  • Receipt mint (Step 10.5) — the neutral "record a review receipt" step resolves to one Bash call, run from the repo root after the report is written, and ONLY when the verdict is not FAIL:

    node core/hooks/_shared/receipt-mint.js --minter sdd-verify --verdict <PASS|PASS_WITH_WARNINGS>
    

    With no --files, it attests to the currently staged paths. Best-effort: a non-zero exit or a "nothing minted" message is reported in the phase summary and never changes the verdict.

  • Orchestrator output — return the neutral Output Contract as the JSON block the orchestrator expects; the artifacts entry maps to engram:sdd/{change-name}/verify-report when the engram pointer landed. The manual next step is /sdd-archive <slug>.