faff-prep

Explores the codebase and produces a validated spec attached to a tracker issue.

3|Updated Apr 16, 2026
One-click install
npx skills add https://github.com/shftwst/faff --skill faff-prep-shftwst
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: faff-prep
Source: https://github.com/shftwst/faff/tree/main/plugin/skills/faff-prep
Command: npx skills add https://github.com/shftwst/faff --skill faff-prep-shftwst

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Vague tickets stall engineering work because nobody has turned them into a buildable design. This Skill takes an ambiguous issue, explores the codebase, delegates spec writing to a configurable spec producer, validates the result against a fixed readiness contract, and attaches the finished spec to the issue so implementation can start immediately. ## Core Features & Use Cases - Delegated spec production: Always routes spec writing through a configurable spec slot (default faffter-noon-spec), gating on the producer's confidence rating and canonical decision markers (Chosen / Punt / Assumes). - Contract validation and gating: Parses the producer's faff-contract:spec-readiness block via the faff contract spec-readiness CLI, stamping provenance and build-tier metadata before attach, and parking low-confidence or malformed specs for human review. - Spec-review gate: Runs a lens-selected approach review (architectural, infosec, QA, methodology) whose verdict routes to revise, re-slice, park, or promote, with bounded retry loops and L4 autonomous handling. - Use Case: A developer runs prep FAFF-123 on a vague Linear ticket; the Skill explores the repo, produces a spec with acceptance criteria, validates it, and attaches it to the issue ready for /faff-graft to build. ## Quick Start Ask the agent to prep a specific ticket, for example: prep FAFF-123 so it explores the codebase and attaches a buildable spec to the issue.

Frequently Asked Questions about faff-prep

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

FAQPage Schema
How do I turn a vague ticket into a buildable spec?▼

Run prep on the issue (for example, prep FAFF-123). The Skill explores the codebase, delegates spec writing to the configured spec producer, validates the result against the spec-readiness contract, and attaches the spec to the issue.

How do I configure which skill produces the spec?▼

Set the spec slot in .faffrc under slots.spec. If unset, it defaults to faffter-noon-spec. The producer must return a confidence self-rating and use the canonical Chosen, Punt, and Assumes decision markers.

Does faff-prep work without an issue tracker?▼

Yes. In git-only mode the spec is written to .faff/specs/<issue-id>.md instead of a tracker comment, and the provenance stamp omits the tracker reference. Tracker MCP integration is optional.

What happens when a spec gets a low confidence rating?▼

A low-confidence spec is parked rather than attached or promoted. The park is recorded on the attach-state marker with disposition parked, and the issue surfaces in the next /faff-wtf review for a human to resolve.

Why did my spec fail validation before attach?▼

Validation fails when the spec is missing canonical decision markers, the confidence line, or the provenance stamp, or when the contract block is malformed. Interactive runs let you add the missing marker; autonomous runs park the issue.

What is the difference between the confidence gate and the spec-review gate?▼

The confidence gate checks whether the spec is internally well-formed. The spec-review gate evaluates whether the approach itself is sound using architectural, infosec, QA, and methodology lenses. Both must pass before the issue promotes to Todo.