S

spec

by @juliusbrusseev
4.4(120)

The `spec` skill is designed to be a robust technical specification management tool. It offers multiple modes to interact with specifications: generating new ones from user ideas, distilling them from existing code, or precisely amending current documentation. Crucially, this skill also features a backpropagation mechanism to automatically handle bugs and update affected specifications. By maintaining synchronization between specifications and the codebase, `spec` significantly improves software architecture clarity and overall engineering efficiency.

specarchitectureengineeringdocumentationworkflowGitHub
Installation
npx skills add https://github.com/juliusbrussee/cavekit --skill spec
compare_arrows

Before / After Comparison

1 组
Before

Engineers manually analyze code, identify issues, and update technical specifications, which is time-consuming and error-prone, leading to discrepancies between specs and actual code, impacting development efficiency.

After

Using AI Skill to automatically analyze bug descriptions and code, quickly locate and update relevant sections in SPEC.md, significantly improving specification update efficiency and accuracy.

SKILL.md

spec — spec mutator

Read FORMAT.md at repo root if not already loaded. Caveman skill applies to all writes here.

DISPATCH

Inspect user request and project state:

  1. No SPEC.md at repo root AND args describe idea → NEW
  2. No SPEC.md AND from-code in args → DISTILL
  3. SPEC.md exists AND args start bug: → BACKPROP
  4. SPEC.md exists AND args start amend → AMEND
  5. SPEC.md exists, no args → ask user which mode

NEW — idea → spec

Input: user idea.

Steps:

  1. Extract goal (1 line, caveman). → §G.
  2. List constraints user stated or implied. → §C.
  3. List external surfaces user named. → §I.
  4. Propose initial invariants. → §V (numbered V1…).
  5. Break goal into ordered tasks. → §T pipe table, all status ., ids T1…
  6. §B section with header row only (id|date|cause|fix).

Write to SPEC.md. Show user full file. Ask: "spec OK? suggest edits or invoke build."

DISTILL — code → spec

Walk repo. Produce §G (infer from README/package.json/main entry), §C (infer from stack), §I (enumerate public APIs/CLIs/configs), §V (derive from tests and assertions), §T (one task per known TODO or missing test), §B (empty).

Caveman everywhere. Flag uncertain items with ? in text so user can confirm.

BACKPROP — bug → §B + §V

Input: bug: <description>.

Steps:

  1. Parse bug description.
  2. Find root cause (read relevant code).
  3. Decide: would a new invariant catch recurrence? If yes → draft V<next>.
  4. Append §B row: B<next>|<date>|<cause>|V<N>.
  5. Append new invariant to §V.
  6. If fix also changes behavior → add/update §T rows.
  7. Show diff. Apply only on user OK.

Rule: every bug gets a §B entry. Invariant optional but preferred.

AMEND — targeted edit

Input: amend §V.3 or amend §T etc.

Read that section. Show current. Ask user what changes. Write. Show diff.

Never silently rewrite sections user did not name.

OUTPUT RULES

  • Caveman format per FORMAT.md.
  • Preserve identifiers, paths, code verbatim.
  • Numbering monotonic — never reuse §V.N or §B.N.
  • §T row cites column ! list §V/§I deps: T5|.|impl auth mw|V2,I.api.

NON-GOALS

  • No sub-agents. Main thread writes.
  • No dashboards, no logs, no state files beyond SPEC.md itself.
  • No auto-build after spec. User invokes build explicitly.

User Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs2.7K
Rating4.4 / 5.0
Version
Updated2026年9月10日
Comparisons1

User Rating

4.4(120)
5
37%
4
43%
3
13%
2
5%
1
2%

Rate this Skill

0.0

Compatible Platforms

🤖claude-code

Timeline

Created2026年5月19日
Last Updated2026年9月10日
🎁 Agent Knowledge Cards
Survey