to-spec
Synthesize accepted conversation and planning decisions into a versioned specification without restarting the interview.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- to-spec
- metadata
- { "author": "Brenden Bishop", "attribution": "../../../ATTRIBUTION.md" }
- description
- Synthesize accepted conversation and planning decisions into a versioned specification without restarting the interview.
- disable-model-invocation
- true
02 资源文件 1
- 参考文档agents/openai.yaml43 B
03 SKILL.md 正文
To spec
Synthesize what is already known. Do not restart the design interview. Read workspace access, work adapters, and decision authority. Specs belong to the planning adapter; tickets can use a different provider later.
Read the referenced decisions and relevant glossary/ADRs. Reuse adequate code grounding. Identify the highest existing behavioral test seam that can verify the feature, preferring fewer seams. Confirm a new material testing choice with the decision owner unless it is already agreed or delegated. Missing product decisions remain explicit open points in a draft; do not invent them to obtain approval.
Write the spec with:
- The user's problem and proposed outcome.
- User stories covering the accepted behaviors and meaningful edge cases, without padding the list.
- Settled implementation decisions and contracts.
- Testing decisions, behavioral acceptance, and relevant test precedents.
- Scope exclusions and remaining notes or unresolved decisions.
Use domain concepts and interfaces instead of brittle file paths or line numbers. A small prototype state machine, schema, or type can stay inline when it expresses an accepted decision better than prose. Trim demo controls and link the runnable reference separately.
Store the authoritative Markdown with spec.create or spec.update, linking the exact planning questions and artifact references. Use the existing record when revising a spec. Do not create a parallel Markdown source of truth; export only when requested.
For acceptance, acquire the spec claim and read each declared question's current accepted answer. Use the shared request helper to call spec.approve with the spec and question receipts as bases and actual decision authority as input. Code derives the exact questionSources; do not recreate that logic. Use prior explicit approval when it covers this body; otherwise present the draft for approval. A settled subset is sufficient and does not require finishing the whole map. Missing answers or stale sources keep the spec unapproved.
Return the spec reference and whether it is draft or approved. Approval preserves an immutable revision and may feed to-tickets; it is not permission to implement.
04 同仓库更多 Skills
why
Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.
unslop
Cut AI tells from any writing. Must always apply.
typescript-best-practices
TypeScript best practices. Use when reading or editing any .ts or .tsx file.
technical-writing
Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for /technical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.
teach
Explain a body of work plainly so a person actually understands it. Runs the `how` and `why` skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.
tdd
Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.