Skip to content

ismaelJimenez/spec-kit-verify

Repository files navigation

Spec-Kit Verify Extension

Post-implementation quality gate that validates implemented code against specification artifacts.

Features

  • Implementation verification: Checks implemented code against spec, plan, tasks, and constitution to catch gaps before review
  • Actionable report: Produces a verification report with findings, metrics, and next actions
  • Configurable: Adjust report size limits
  • Automatic hook: Optional post-implementation prompt after /speckit.implement
  • Read-only & idempotent: Never modifies source files or artifacts; repeated runs produce the same report

Installation

specify extension add verify

Or install from repository directly:

specify extension add verify --from https://github.com/ismaelJimenez/spec-kit-verify/archive/refs/tags/v1.0.0.zip

For local development:

specify extension add --dev /path/to/spec-kit-verify

Configuration

  1. Create configuration file:

    cp .specify/extensions/verify/config-template.yml \
      .specify/extensions/verify/verify-config.yml
  2. Edit configuration:

    vim .specify/extensions/verify/verify-config.yml
  3. Customize as needed:

    # Limit report size
    report:
      max_findings: 30

Usage

Command: verify

Validate implemented code against specification artifacts.

# In Claude Code
> /speckit.verify

Prerequisites:

  • Spec Kit >= 0.1.0
  • Completed /speckit.implement run
  • spec.md and tasks.md present in the feature directory
  • At least one completed task in tasks.md

Output:

  • Verification report with findings, metrics, and next actions
  • Optional remediation suggestions on request

Automatic Hook

If the after_implement hook is enabled, you'll be prompted automatically after /speckit.implement completes:

Run verify to validate implementation against specification?

Configuration Reference

Report Settings

Setting Type Required Description
report.max_findings integer No Maximum findings in the report (default: 50)

Environment Variables

This extension does not currently support environment variable overrides. All configuration is managed through verify-config.yml.

Examples

Example 1: Basic Verification

# Step 1: Create specification
> /speckit.specify

# Step 2: Plan and generate tasks
> /speckit.plan
> /speckit.tasks

# Step 3: Implement
> /speckit.implement

# Step 4: Verify implementation
> /speckit.verify

The verify command produces a report like:

## Verification Report

| ID | Category | Severity | Location(s) | Summary | Recommendation |
|----|----------|----------|-------------|---------|----------------|
| A1 | Task Completion | LOW | tasks.md | 1 of 12 tasks incomplete | Complete task T08 |
| C1 | Requirement Coverage | CRITICAL | spec.md:FR-003 | No implementation evidence | Implement FR-003 |
| D1 | Scenario & Test Coverage | HIGH | spec.md:SC-02 | No test for login failure | Add test for scenario SC-02 |

Metrics: Tasks 11/12 · Requirement Coverage 92% · Files Verified 8 · Critical Issues 1

What It Does

The verify command analyzes implemented code against specification artifacts:

  1. Loads feature artifacts (spec.md, plan.md, tasks.md, constitution.md)
  2. Identifies implementation scope from completed tasks
  3. Runs verification checks across seven categories
  4. Produces a report with findings, metrics, and next actions

Verification Checks

Check What it verifies
Task Completion All tasks marked complete
File Existence Task-referenced files exist on disk
Requirement Coverage Every requirement has implementation evidence
Scenario & Test Coverage Spec scenarios covered by tests or code paths
Spec Intent Alignment Implementation matches spec intent and acceptance criteria
Constitution Alignment Constitution principles are respected
Design & Structure Consistency Architecture and conventions match plan.md

Workflow Integration

/speckit.specify → /speckit.plan → /speckit.tasks → /speckit.implement → /speckit.verify

Operating Principles

  • Read-only: Never modifies source files, tasks, or spec artifacts
  • Spec-driven: All findings trace back to specification artifacts
  • Constitution authority: Constitution violations are always CRITICAL
  • Idempotent: Multiple runs on the same state produce the same report

Troubleshooting

Issue: Configuration not found

Solution: Create config from template (see Configuration section):

cp .specify/extensions/verify/config-template.yml \
  .specify/extensions/verify/verify-config.yml

Issue: Command not available

Solutions:

  1. Check extension is installed: specify extension list
  2. Restart AI agent
  3. Reinstall extension: specify extension add verify

Issue: "No completed tasks" error

Solution: Run /speckit.implement first. The verify command requires at least one completed task ([x]) in tasks.md.

Issue: "Missing spec.md" error

Solution: Run /speckit.specify to create the specification before verifying. Both spec.md and tasks.md must exist in the feature directory.

License

MIT License - see LICENSE file

Support

Changelog

See CHANGELOG.md for version history.

Extension Version: 1.0.0 · Spec Kit: >=0.1.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors