Spec-Driven Development · Built for complex codebases

The spec-driven framework for scope precision and quality.

Built for complex, high-quality codebases. Every requirement is mapped to a traceable, atomically-committed task and proven by an independent verifier. In our 4-framework benchmark, the most consistent, with the highest average score and the best test completeness. Works with any stack and any agent.

npx @tech-leads-club/agent-skills install --skill tlc-spec-driven

Works with Cursor, Claude Code, Copilot, Windsurf, Cline and 14 others.

Maps the full scope

Specify turns a request into testable requirements with unique IDs, including the edge cases and implicit requirements most agents miss. An explicit out-of-scope table stops creep before it starts.

No requirement left unclear

A requirement closure gate means nothing leaves the spec silently ambiguous: every open question is resolved with you or logged as a signed-off assumption. Declined gray areas are recorded, not dropped.

An independent verifier checks the work

After the last task, a fresh read-only sub-agent verifies the build. The author is never the verifier. It runs a spec-anchored outcome check and injects faults to confirm your tests actually catch them, then returns a verdict.

Tests that actually discriminate

Every task passes a Test Adequacy review that is necessary and sufficient: every acceptance criterion asserted, no shallow tests, no tests without a requirement. Highest test completeness in our benchmark (T = 0.90), with a perfect 12/12 on real outcome assertions.

Self-improving lessons layer

Verification failures become terse, project-local lessons that auto-load into future specs and designs. The framework gets sharper on your codebase the more you use it, with no external dependencies.

Traceability, spec to commit

Every requirement ID flows from spec to design to task to commit, so every change traces back to a sanctioned requirement, and the independent verifier flags anything that drifts.

How it works

A flow that auto-sizes to complexity: scope mapped up front, quality verified independently at the end.

1
SPECIFY

Map the full scope

Requirements, edge cases, and an explicit out-of-scope table. Always required. The agent generates testable requirement IDs that every downstream task traces back to.

2
DESIGNoptional

Architecture & reuse

Component design, data flow, code reuse, and risk mitigation for fragile areas. Auto-skipped for straightforward changes, with no boilerplate when there's nothing to decide.

3
TASKSoptional

Atomic breakdown

Atomic tasks with dependencies, co-located tests, and binary verification criteria. Auto-skipped when there are ≤3 obvious steps, so they become implicit in Execute.

4
EXECUTE

Implement

One task at a time, gated by the test runner before every atomic commit. Tests derive from the spec and each task passes an adequacy review before moving on. Always required.

5
VERIFY

Independent verification

A fresh read-only sub-agent (never the author) checks outcomes against the spec and injects faults to confirm the tests catch them. Always on, every feature.

Quality by construction

How quality is built and ensured

Quality is not a final review bolted on at the end. The harness learns how your project tests, builds the right tests into every task, and then proves them with an independent verifier.

1

It learns how your project tests

Reads your standards

Scans AGENTS.md, .cursor/rules, CONTRIBUTING, test-runner configs, and CI workflows for documented quality and testing rules.

Samples your tests

Studies 5 to 10 existing test files to learn your style, file locations, framework, and per-layer depth, then treats that depth as a floor, never a ceiling.

Discovers your commands

Extracts the real test and gate commands from your manifests and CI instead of guessing an ecosystem. No tests yet? It asks you which types and commands to use.

2

Built into every task

  • Co-located, not deferred

    Tests ship inside the task that creates the code, and they must satisfy the required coverage expectation for that layer, not merely exist. "Tested later" is rejected.

  • Spec-derived assertions

    Tests are written from the spec acceptance criteria, never by reading the code. Each assertion targets the exact spec-defined outcome.

  • Test Adequacy Review

    Every task passes a necessary-and-sufficient review: each criterion covered with file:line evidence (evidence-or-zero), and every test traced back to a requirement. No scope creep.

  • Non-shallow litmus

    Assertions that would still pass under a wrong implementation are rejected. Asserting a value or persisted state, never just that a mock was called.

3

Ensured independently

  • Deterministic gate

    The test runner decides, not the agent. A task cannot be committed until its gate (quick / full / build) passes, with the test count checked so nothing is silently deleted.

  • Independent Verifier

    After the last task, a fresh read-only sub-agent runs automatically. Author is never the verifier, so it re-derives coverage from the spec instead of inheriting the author assumptions.

  • Discrimination sensor

    The Verifier injects behavior-level faults into a throwaway copy and confirms the tests catch them. Surviving mutants become fix tasks: proof the suite detects regressions.

  • Bounded fix loop

    Gaps route back as fix tasks and the Verifier re-runs, capped at 3 iterations before escalating to you. Every grounded failure is distilled into a reusable, project-local lesson.

The simplicity advantage

Simplicity that augments models.

As models get smarter, you don't need more harness, you need the right one. No CLI. No complex workflows. Just one skill that gets out of the model's way.

No CLINo complex workflowsJust one skill
SDD Benchmark

Proven effectiveness, in numbers

Benchmarked against other spec-driven development frameworks on a real, non-trivial PRD. TLC 3.* runs in its recommended role-split (Opus 4.8 plans, Sonnet 4.6 implements); the other frameworks run on Sonnet 4.6. Three end-to-end runs each, scored by an auditable binary-check LLM judge.

3-run average
0.94
Top mean Final of the four frameworks, well ahead of the next best (0.87). Peak run 0.95.
Consistency
0.93–0.95
The most consistent framework: highest floor in the field, tight 0.02 range. Repeatable, not a lucky peak.
Test completeness
0.90
Best test completeness (T) in the field. Asserts behavior, never just exercises it.
Outcome tests
12/12
Perfect on real persisted-state checks: the only framework to assert the actual DB row after every webhook.

Average score across 3 runs

Bars show the 3-run average, the consistency-fair view. Hover for each peak run. TLC 3.* leads on the mean (0.94); TLC 2.* shown for comparison.

Consistency across 3 runs

Dots = the three independent runs; diamond = average. Tighter & higher cluster wins. TLC 3.* leads on the mean (0.94); TLC 2.* shown for comparison.

Value: cost vs quality

Tokens (work) vs final score. Top-left is the high-value quadrant.

Implementation vs Tests

Everyone implements well; test completeness is the real differentiator.

Head-to-head: the questions that matter

TLC 3.*: 3 wins

Beyond a single number: where each framework actually lands.

Who tests most rigorously?
TLC 3.*

Best test completeness (T = 0.90) and a perfect 12/12 on outcome tests. Asserts real state, not just calls.

Who is the most consistent?
TLC 3.*

Range 0.93–0.95 across three runs: the highest floor in the field. OpenSpec swings 0.79–0.93.

Who delivers the best overall result?
TLC 3.*

Top mean (0.94) and the best single run (0.95): TLC 3.* leads on both the repeatable average and the peak, with a clean Scope = pass.

FrameworkAvg (3-run)PeakImpl (I)Tests (T)ScopeTokens
TLC 3.*THIS SKILL0.940.951.000.90pass~31M
TLC 2.*0.890.900.920.72partial~31M
Speckit0.870.880.960.63partial~36M
OpenSpec0.850.930.960.65pass~24M
Superpowers0.840.860.940.58partial~31M
TLC 3.* · model ablation

Harness-friendly with most models

The comparison above runs TLC 3.* in its recommended Opus→Sonnet role-split. Here we hold the framework at TLC 3.* and vary the single model instead. The skill harness is deliberately thin and optimized for how modern models are designed. It guides without fighting the model's own reasoning, so almost every strong model lands Spec-complete (≥ 0.90). The role-split (Opus plans, Sonnet implements) tops the field at 0.95, and Composer 2.5 is the best value for money (mean 0.945, peak 0.98).

Harness-friendly with most models

Mean Final per model on TLC 3.* (same PRD). Most strong models are Spec-complete; Gemini 3.1 Pro is a poor fit for SDD.

ModelRunsMean FinalBandNotes
Opus → SonnetRECOMMENDED10.95Spec-completeRole-split: Opus plans, Sonnet implements. A strong plan let the cheaper implementer keep quality, matching the best single-model run.
Composer 2.5BEST VALUE20.94Spec-completeBest value for money: top single-model mean (peak 0.98, green gates on both runs) at a fraction of the cost of the frontier models.
Claude Opus 4.820.93Spec-completeSpec-complete on both runs, perfect precision.
GPT-5.5 (high)20.93Spec-completeTightest spread (0.03); spec-complete on both runs.
GLM 5.2 (high)40.91Spec-completeCapable but variable (n=4): runs 2–4 average 0.94 with the richest robustness layers measured.
Claude Sonnet 4.620.87SolidJust below the spec-complete line: thinner test coverage, not missing behavior (I ≈ 0.97).
Gemini 3.1 ProAVOID FOR SDD20.54WeakIgnores the spec: green gates but green-but-wrong, with un-wired endpoints, dropped requirements, missing state transitions. Stays Weak on every framework tested, so the limitation is model-driven, not framework-driven.
HEADS UP

Gemini 3.1 Pro is a bad fit for spec-driven development. It passed every engineering gate (build / lint / unit / e2e) yet stayed Weak (0.54) because it ignores the spec, shipping green-but-wrong code: un-wired endpoints, dropped requirements, and missing state transitions. It stayed Weak on a second framework too, so the limitation is model-driven, not framework-driven.

Verdict

Across three independent runs on a real, non-trivial PRD, TLC 3.* (Opus plans, Sonnet implements) posts the highest average Final (0.94) and the most consistent results (0.93–0.95) of four spec-driven frameworks, powered by the best test completeness in the field (T = 0.90), a perfect 12/12 on real outcome assertions, and a clean Scope = pass. v3 raises the bar with an independent verifier, a requirement-closure gate, and a self-improving lessons layer, and it stays harness-friendly across most strong models.

npx @tech-leads-club/agent-skills install --skill tlc-spec-driven

Benchmark methodology: each framework ran end-to-end 3× on the same non-trivial PRD. TLC 3.* used its recommended role-split (Opus 4.8 plans → Sonnet 4.6 implements); TLC 2.* and the other frameworks used Sonnet 4.6 for both planning and implementation. Quality was scored by an auditable binary-check LLM judge. View skill source →

Ready to build with precision?

Scope mapped, quality proven. One command, works with your agent today.

npx @tech-leads-club/agent-skills install --skill tlc-spec-driven