본문으로 건너뛰기
cccskills
무료GitHub에 공개

spec-lint

Preflight a spec draft without saving. Runs the same checks as the write-boundary hooks — PlantUML syntax, required diagram presence, AC-to-sequence traceability, Design calls quality floor, and System delta row resolution — and prints a compact pass/fail table. Use while iterating so the hooks don't bite on save.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md3.8 KB
  • lint.mjs19.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Checker config (tier-dial:read-path): this checker's floor/ceiling come from the tier dial at .claude/hooks/lib/tier-dial.mjs via resolveCheckerThreshold('spec'). Advisory only this slice (v1 piece 2); blocking is piece 5.

spec-lint — preflight a spec draft

Invocable by both user (/spec-lint <slug>) and Claude (when iterating on a spec and wanting to check status before writing).

What it checks

Five checks always run, same logic as the hooks, but advisory (no writes are blocked). One more appears only when its trigger fires.

Checks are identified by row name, in the order the report prints them. Ordinals are deliberately absent: they have already drifted once — lint.mjs labels the codesign check "#4" in its own comment while the report prints it last — and a number that means one thing in the source and another in the table is worse than no number.

CheckRow nameHook it mirrors
Every plantuml fence parses under plantuml -checkonlyplantuml_syntaxplantuml_syntax_guard
Required diagram kinds present (config: project.json → artifacts.required_diagrams.spec)diagram_presencespec_diagram_presence_guard
Every AC-NNN row in the Acceptance criteria table references a §Behavior #N section that existsac_traceability(no hook — unique to the lint)
Each ## Design calls row carries a populated Reference target and Quality criteriadesign_callsspec_design_calls_guard
Each ## System delta row resolves — an add anchors inside the governed surface, a change/remove names an existing elementsystem_delta(no hook — the guard checks only that the section is present)
Conditional checkRow nameFires when
A ## Decisions section is presentcodesign_decisionsworkflow.json → codesign_mode is true

system_delta reports SKIP when project.json → memory.architecture_map.enabled is not true. The corpus at docs/system/ is opt-in, so a project that has not adopted it declares no delta and the check has nothing to resolve.

Invocation

/spec-lint <slug> — where <slug> corresponds to docs/specs/<slug>.md.

Steps

  1. Validate the slug: docs/specs/<slug>.md must exist.
  2. Run:
    node .claude/skills/spec-lint/lint.mjs <slug>
    
  3. Print the script's output verbatim to the user. It is a table with one row per check and a final summary line.

Output format

check                              status
---------------------------------- ------
plantuml_syntax                    PASS
diagram_presence                   FAIL  (missing: c4_component, dependency_graph)
ac_traceability                    FAIL  (AC-002 → §Behavior #2 not found)
design_calls                       PASS
system_delta                       FAIL  (add row foo-guard: anchor docs/notes/x.md falls outside the governed surface)
---------------------------------- ------
overall                            FAIL

Exit 0 on overall PASS, 1 on overall FAIL. Intended for use in CI or a pre-commit loop as well as interactively.

Prerequisites

  • plantuml CLI on PATH for check #1 (if absent, #1 is reported as SKIP (no plantuml); the rest still run).

Notes

  • Unlike the hooks, spec-lint runs against the on-disk file, not proposed content. Save or use the hooks to validate an unsaved draft.
  • spec-lint does not render. Use /spec-render <slug> for that.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

archive

무료

Phase 10.5 — move the slug's workflow artifacts (intake, scout, research, spec, approvals, swarm state, security reports, rendered diagrams) to docs/archive/<YYYY-MM-DD>/<slug>/. Runs before /commit so the committed tree is clean of work-in-flight files. workflow.json stays live and gets archived as the first step of /commit.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

friedbotstudio/baseline142026년 10월 13일 업데이트

Drift check between the baseline implementation on disk and the claims in `docs/init/seed.md` + cross-references in CLAUDE.md, README.md, and the rendered docs site. Verifies hook/agent/skill/command names + counts, settings.json wiring, project.json key presence, .mcp.json servers, vendored license files, and helper script presence. Exit 0 PASS / 1 FAIL — suitable for CI. Read-only; safe to invoke any time.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

friedbotstudio/baseline142026년 10월 13일 업데이트

PM-mode brainstorm helper. Captures the requirement via Socratic dialogue before any entry phase (`/intake`, `/spec`, `/tdd`) drafts its artifact. Stage 0 skip-check, Stage 1 gap-analysis, Stage 2 probe-loop, Stage 3 confirm-and-persist. Output lives at `docs/brief/<slug>.md`. Never proposes solutions — Stage 2 dialogue discipline is structurally enforced via `discipline.mjs`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

friedbotstudio/baseline142026년 10월 13일 업데이트

brd

무료

Draft a Business Requirements Document (BRD) for cross-functional or stakeholder-heavy work that needs more structure than an intake. Use after `/intake` when the request spans multiple systems/teams, carries regulatory weight, or needs formal sign-off. Output lives at `docs/brd/<slug>.md`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

friedbotstudio/baseline142026년 10월 13일 업데이트

chore

무료

Workflow track for tasks that need no TDD — documentation edits, governance count bumps, vendored-skill content updates, configuration tweaks, formatting, typo fixes, dependency bumps where no project code changes. Skips `/scenario` and `/implement` (no failing test to drive) and runs the work directly. `archive`, `memory-sync`, `/grant-commit`, and `/commit` remain mandatory. `verify`, `simplify`, `integrate`, and `document` are conditional — required when the diff hits one of the listed triggers, optional otherwise. `verify` is skipped only when the diff is pure-docs/prose AND `project.json → test.kind` is `behavior` (absent/invalid `test.kind` → `structural` → verify runs). Chore is a stripped-down pipeline, not a bypass; never silently skip a conditional phase whose triggers apply.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

friedbotstudio/baseline142026년 10월 13일 업데이트

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

friedbotstudio/baseline142026년 10월 13일 업데이트

friedbotstudio의 스킬 모두 보기

이 스킬의 문제 신고