spec-writer

Writes reviewable design specs for barwise changes using the house template and pre-push gate.

Updated Feb 17, 2026
One-click install
npx skills add https://github.com/semantic-praxis/barwise --skill spec-writer-semantic-praxis
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: spec-writer
Source: https://github.com/semantic-praxis/barwise/tree/main/.claude/skills/spec-writer
Command: npx skills add https://github.com/semantic-praxis/barwise --skill spec-writer-semantic-praxis

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Barwise requires a written, reviewed spec before any development begins, and ad-hoc specs drift from the house format, bury decisions, or ship ungrounded claims. This Skill turns a REPO_REVIEW finding, feature, or refactor into a reviewable docs/specs/*.spec.md that follows the project conventions. ## Core Features & Use Cases - Structured spec workflow: Grounds the design against the code, interviews away ambiguities, argues from the project's design principles, and drafts from the annotated template.spec.md. - Editing and quality gates: Runs ordered edit passes (BLUF, brevity, voice, accuracy), scans for LLM writing tics, and enforces a design and formatting pre-push gate including dprint checks. - Sensemaking discipline: Anchors designs in verified facts, holds competing frames, runs premortems, and marks ungrounded forward sections as provisional. - Use Case: Given a REPO_REVIEW finding about a misplaced module, produce a spec with principle framing, an inventory table, workstreams split into independently shippable PRs, and open decisions for the reviewer. ## Quick Start Use the spec-writer skill to draft a design spec for the REPO_REVIEW finding about moving the manifest reader out of core.

Frequently Asked Questions about spec-writer

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

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

Ground the design in the actual code, interview the requester about ambiguities, argue from the project's design principles, and draft from the house template. Split implementation into independently shippable workstreams and end with open decisions for the reviewer.

What is the EARS requirement format in a spec?▼

EARS states requirements as "When <trigger>, the system shall <response>." Naming one trigger and one observable response makes each requirement testable, so a reviewer can dispute it and an implementer can turn it into a test case.

How should spec files be named and dated?▼

Specs keep a stable undated kebab name like docs/specs/<name>.spec.md, with Created and Last-updated ISO date headers in the file. Point-in-time artifacts like REPO_REVIEW carry a full YYYY-MM-DD date in the filename.

What does the pre-push gate check before landing a spec?▼

The design gate checks principle conflicts, genuinely open decisions, mechanism closure, current headers, parity checks, and the REPO_REVIEW link. The formatting gate runs npm run fmt so dprint formats markdown, tables, and fenced code blocks.

When should a spec section be marked provisional?▼

Mark a section "(provisional: not yet grounded)" when it was drafted ahead of its grounding, which is common for later workstreams in a multi-workstream spec. Drop the marker only after grounding that workstream and verifying or correcting its claims.