spec-workflow

Enforces spec-first documentation workflow for behavioral code changes in docs/specs.

1|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/TierOne-Studio/spa-velocity --skill spec-workflow-tierone-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spec-workflow
Source: https://github.com/TierOne-Studio/spa-velocity/tree/main/.ruler/skills/spec-workflow
Command: npx skills add https://github.com/TierOne-Studio/spa-velocity --skill spec-workflow-tierone-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Behavioral code changes often ship without up-to-date specifications, causing documentation drift, ambiguous requirements, and untraceable acceptance criteria. This Skill mandates that a Markdown SPEC under docs/specs/ is created or updated before any behavioral code is written and reconciled with what actually shipped afterward. ## Core Features & Use Cases - Pre-coding gate: Classifies changes as behavioral or exempt, searches existing SPECs to prevent duplicates, and runs a clarification gate that blocks coding until material ambiguity is resolved. - SPEC lifecycle management: Governs naming (SPEC-NNN-kebab), the _template.md structure, create-vs-update rules, readiness rubric, architect review routing, and Draft-to-Implemented status transitions. - Post-coding reconciliation: Aligns affected areas with the real diff, confirms or corrects assumptions, links every acceptance criterion to a green test, and appends Change Log entries. - Deterministic CI gates: Uses spec-gate.sh, spec-complete-check.sh, and spec-links-check.sh scripts so compliance is enforced by tooling, not just the agent. - Use Case: When asked to add a new form validation behavior, the workflow first checks docs/specs/ for an existing SPEC, asks batched clarifying questions if requirements are underspecified, updates the SPEC via the spec-steward agent, and only then permits implementation. ## Quick Start Ask the assistant to implement a new feature or bug fix and it will first create or update the governing SPEC in docs/specs/ before writing any code.

Frequently Asked Questions about spec-workflow

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

FAQPage Schema
How do I write a spec before implementing a feature?

Search docs/specs/README.md and grep docs/specs/ for an existing SPEC covering the feature, then create or update one from docs/specs/_template.md using the SPEC-NNN-kebab naming convention. Resolve all material ambiguity through clarifying questions before writing the SPEC or any code.

When is a SPEC required for a code change?

A SPEC is required for any change with observable behavior: features, improvements, bug fixes, behavioral refactors, and requirement corrections. Only non-code changes, type-only changes, and config changes with no behavior impact are exempt, and the exact waiver phrase must be stated.

How do frontend and backend specs stay in sync across repos?

Each layer gets one spec: ui specs live in the frontend repo's docs/specs/ and contract specs live in api-velocity/docs/specs/. They are cross-linked via the counterpart_spec frontmatter field and bound by a coordination doc, with spec-links-check.sh verifying the links resolve.

What happens if code diverges from the SPEC during implementation?

Implementation must stop, the SPEC is fixed first with updated assumptions and a Change Log entry, then coding resumes. Code must never silently diverge from the SPEC, and a confirmed assumption contradicted by code is a blocking issue.

What are the limitations of the spec-first workflow?

The workflow adds upfront clarification and documentation overhead, so it explicitly exempts non-code, type-only, and no-behavior config changes. It also depends on CI gate scripts and reviewer agents being configured, and does not replace ADRs for load-bearing architectural decisions.