Skip to main content

spec

Turn a grilled idea or the current conversation into a durable, build-ready product spec (PRD), using the repository's language and decisions. Use after `/grill` when a feature is too large for one `/implement` session and needs a clear handoff to `/tickets`.

来源信息

仓库
ContractorKeith/skills
最近来源活动
2026年7月22日 14:04
检测到的 SKILL.md 语言
英语
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
spec
description
Turn a grilled idea or the current conversation into a durable, build-ready product spec (PRD), using the repository's language and decisions. Use after `/grill` when a feature is too large for one `/implement` session and needs a clear handoff to `/tickets`.
disable-model-invocation
true
# Spec A grill gets the forms square. This skill writes down what is agreed so the crew building it does not have to guess. Turn the current conversation and your codebase knowledge into a written, build-ready spec. Do not restart discovery or make the user repeat the interview they just completed. Synthesize the decisions already made. ## Read the ground first Before writing, establish the current shape of the work: - Read the relevant code and docs if you have not already done so. Confirm what exists, what the feature changes, and the nearby behavior it must not disturb. - Read the root `CONTEXT.md` when it exists. It is the project's glossary; use its preferred terms throughout the spec. Do not edit it — `/grill` owns the glossary. - Read relevant ADRs under `docs/adr/` and preserve their decisions. Point out a conflict instead of quietly designing around it. - Find the highest useful test seam. Prefer an existing seam, and add one only where the feature cannot be proven otherwise. Fewer seams are easier to keep honest; one is ideal. Do not turn this into another grill. If the thread leaves a material decision or test seam unresolved, ask one narrow question with a recommendation. If it does not block a useful spec, record it as an open question instead. ## Write the spec Write a standalone PRD that a later `/tickets` session can use without the original chat. Follow this shape, adding detail where the feature needs it and cutting boilerplate that does not: ```md # <Feature name> ## Problem statement Describe the user's problem in their terms: what goes wrong today, for whom, and why it matters. ## Solution Describe the intended experience and outcome, from the user's point of view. ## User stories 1. As a <person or role>, I want <capability>, so that <outcome>. Include the normal path, important variations, failure states, permissions or roles where relevant, and the operational work needed for the feature to hold up outside a happy-path demo. ## Implementation decisions Record the decisions already settled: affected module boundaries, interface or contract changes, data or schema changes, architecture, and notable behavior. Explain the reason when it prevents a future reversal by accident. ## Testing decisions State the external behavior that proves the feature works, the highest seams to test, and useful prior art already in the repository. Test outcomes, not private implementation details. ## Out of scope Name nearby work that this effort deliberately does not include. ## Open questions List only decisions that genuinely remain unresolved; omit this section when there are none. ## Further notes Capture constraints, rollout concerns, migration notes, or other context a ticket author needs. ``` Make the user stories thorough enough to expose missing behavior, not long for their own sake. Do not pin the plan to file paths or code snippets that will rot. The exception is a small, decision-rich artifact from `/prototype` — a state machine, reducer, schema, or type shape that says something prose cannot. Label it as prototype output and include only the part that carries the decision. ## Persist and hand off Save the approved spec where the project keeps product work. When there is no established convention, create a GitHub Issue with `gh issue create` when a GitHub remote and authenticated `gh` are available; otherwise write `.scratch/<effort>/SPEC.md`. Keep the full spec in that one durable location. Briefly show the user the problem, solution, test seam, and any open question before treating the spec as final. Then route the work to `/tickets`. A small, single-session change can skip the ticket split and go straight to `/implement`; larger work should become tickets before anyone starts coding.
在 GitHub 查看