agentleFS
PedroMosqueraPedroMosquera/squadai/.claude/skills/sdd-verify/SKILL.md

sdd-verify

Skill10 starsChanged 20 days agoMITView on GitHub

Spec compliance verification for spec-driven development

We split this skill into the rules it gives an agent

10 rules. 0 are common, 10 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Verify that the implementation matches the specification exactly.

    line 9
  2. Distinctive:

    Set up the verification matrix: Create a checklist from the spec.

    line 14
  3. Distinctive:

    Verify interface contracts: Check each function signature and behavior.

    line 20
  4. Distinctive:

    Verify success criteria: Test each acceptance criterion.

    line 27
  5. Distinctive:

    Write a test for each "Given/When/Then" in the spec if not already present

    line 28
  6. Distinctive:

    Run the tests; each must pass

    line 29
  7. Distinctive:

    If a criterion has no test, flag it as untested

    line 30
  8. Distinctive:

    Verify edge case behavior: Test the edge case table.

    line 32
  9. Distinctive:

    If any edge case is not tested, write a test and run it

    line 35
  10. Distinctive:

    Verify non-functional requirements: Check constraints.

    line 37

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

SDD Verify Skill

Verify that the implementation matches the specification exactly. This is the final phase of the SDD pipeline: a systematic compliance check.

Steps

  1. Set up the verification matrix: Create a checklist from the spec.
    • List every interface contract from the spec
    • List every success criterion
    • List every edge case behavior
    • List every non-functional requirement
  2. Verify interface contracts: Check each function signature and behavior.
    • Does the function exist with the correct signature?
    • Does it return the correct types?
    • Does it return the correct error types as specified?
    • Are all side effects present?
    • Are all invariants maintained?
  3. Verify success criteria: Test each acceptance criterion.
    • Write a test for each "Given/When/Then" in the spec if not already present
    • Run the tests; each must pass
    • If a criterion has no test, flag it as untested
  4. Verify edge case behavior: Test the edge case table.
    • For each row in the spec's Edge Case Behavior table, confirm the implementation produces the specified behavior
    • If any edge case is not tested, write a test and run it
  5. Verify non-functional requirements: Check constraints.
    • Performance: run a benchmark if latency/throughput was specified
    • Security: verify input validation for all untrusted inputs
    • Reliability: check retry and timeout behavior if specified
  6. Identify deviations: Flag any mismatch between spec and implementation.
    • Omission: spec item not implemented
    • Addition: behavior not in spec was added
    • Deviation: behavior differs from what spec says
    • Ambiguity: spec is unclear; implementation made an assumption
  7. Produce the verification report: Summarize findings for the orchestrator.

Output Format

## Verification Report: <feature name>

### Interface Contracts
| Contract | Status | Notes |
|----------|--------|-------|
| FunctionName signature | ✓ PASS | |
| FunctionName error types | ✓ PASS | |
| SideEffect X | ✗ FAIL | Missing in implementation |

### Success Criteria
| Criterion | Test | Status |
|-----------|------|--------|
| Given X, when Y, then Z | TestFunctionName_Z | ✓ PASS |

### Edge Cases
| Condition | Expected | Actual | Status |
|-----------|----------|--------|--------|
| empty input | return ErrEmpty | returns nil | ✗ FAIL |

### Non-Functional Requirements
| Requirement | Verified By | Status |
|-------------|-------------|--------|
| latency < 100ms | BenchmarkFunctionName | ✓ PASS |

### Deviations
1. **Omission**: <spec item> not implemented. Severity: blocking/non-blocking.
2. **Addition**: <behavior> not in spec. Should be removed or spec updated.

### Verdict
PASS / FAIL: <summary>

### Required Actions Before Merge
1. <action>

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.