spec-feature

Drafts and lints feature specification markdown contracts with acceptance criteria.

1|Updated Jul 9, 2026
One-click install
npx skills add https://github.com/matthewalton/speccle --skill spec-feature-matthewalton
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: spec-feature
Source: https://github.com/matthewalton/speccle/tree/main/packages/plugin/skills/spec-feature
Command: npx skills add https://github.com/matthewalton/speccle --skill spec-feature-matthewalton

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing acceptance criteria that are testable, consistent, and lint-clean is hard to do by hand. This Skill drafts or amends a feature's markdown contract — SPEC.md, CONTEXT.md, CLAUDE.md, and decisions/ — following a fixed convention, then validates it with the deterministic speccle oracle until it lints clean, without writing any tests or code. ## Core Features & Use Cases - Contract drafting: Scaffolds SPEC.md with product-voiced When/Then acceptance criteria carrying stable [KEY-n] ids, plus a CONTEXT.md glossary and a per-slice CLAUDE.md. - Amendment workflow: Adds new criteria with never-reused ids, retires changed statements, and records cross-criterion choices as ADRs in decisions/. - Deterministic linting: Runs the speccle oracle (resolving the repo-pinned binary first) and fixes violations like weasel-wording, compound-criterion, unmeasurable, and code-voice until the spec reports clean. - Use Case: After a planning session settles the key decisions for a checkout feature, ask the agent to spec the slice — it drafts the criteria, lints them clean, and announces every criterion id and statement for your review. ## Quick Start Ask the agent to spec the checkout feature from the plan we just agreed, drafting acceptance criteria and linting them clean.

Frequently Asked Questions about spec-feature

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write acceptance criteria for a feature before implementing it?▼

Provide a plan or raw description and the skill drafts SPEC.md with one testable When/Then statement per criterion, each carrying a stable [KEY-n] id. It then runs the speccle oracle lint until the spec reports clean and announces every criterion for your review.

What lint rules does the speccle oracle enforce on specs?▼

The oracle enforces fixed rules including missing-key, key-collision, malformed-id, duplicate-id, weasel-wording, compound-criterion, unmeasurable, and code-voice. Quality rules judge only the heading statement; criterion bodies are never linted.

Can I amend an existing SPEC.md without breaking criterion ids?▼

Yes. New criteria take the next never-used number under the existing key, and deleted ids stay retired forever. A reworded statement keeps its id only if it promises the same behaviour; otherwise the old id is retired and a new one drafted.

Does spec-feature write tests or implementation code?▼

No. It writes markdown only — SPEC.md, CONTEXT.md, CLAUDE.md, and decisions/. Tests and code are the responsibility of the separate implement-feature skill, which runs after the spec lints clean.

What happens if the speccle CLI is not installed?▼

The skill resolves the oracle in order: the repo's pinned node_modules binary, a global install on PATH, then running from a source clone with Node 24 or later. If none resolves, it points you to the install steps and stops rather than hand-checking the convention.