grill
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesegrill — sharpen idea before spec
grill — 在撰写规格前打磨想法
One question at a time. Every answer lands in a § or gets parked . Never guess a constraint into existence.
?Plan-then-execute guesses the fuzzy parts & builds the wrong thing.
Grill drags the fuzz into §G/§C before a single §T row exists.
A bad assumption caught here costs one question. Caught in §B it costs a bug.
每次只提一个问题。每个答案要么归入某个§,要么标记为暂存。绝不凭空猜测约束条件。
?先计划再执行的方式会模糊不确定的部分,进而构建出错误的产物。
Grill会在任何§T条目出现之前,将模糊点梳理进§G/§C。
在这里发现一个错误假设只需要一个问题的成本,而在§B阶段发现则会导致bug的产生。
WHEN TO GRILL
何时使用Grill
- Idea is one sentence & you can feel the holes.
- Multiple readings of the goal exist & you are about to pick one silently.
- Before on anything non-trivial.
/spec new - User asks to be challenged / stress-tested.
Skip for a typo or a one-line fix. Grill scales to uncertainty, ⊥ to ego.
- 想法只有一句话,且你能察觉到其中的漏洞。
- 目标存在多种解读,而你正打算默默选择其中一种。
- 在对任何非琐碎事项执行之前。
/spec new - 用户要求挑战自己的想法或进行压力测试。
对于拼写错误或单行代码修复可跳过使用。Grill适用于处理不确定性,与个人 ego 无关。
CALIBRATE FIRST
先校准
One opening read, not a quiz:
- How well does user know this domain? (sets question depth)
- How locked is the idea? (exploring vs committed)
- Pressure wanted: light / normal / brutal.
Match it. Brutal grilling on a half-formed idea just demoralizes. Light
grilling on a committed plan misses the load-bearing flaw.
先进行一次开场解读,而非直接提问:
- 用户对该领域的了解程度如何?(决定问题的深度)
- 这个想法的确定程度如何?(处于探索阶段还是已确定)
- 需要的施压程度:轻度/常规/严苛。
匹配对应的施压程度。对尚未成型的想法进行严苛拷问只会打击积极性。对已确定的计划进行轻度拷问则会忽略关键缺陷。
QUESTION LADDER
问题阶梯
Climb in order. Each rung, ask one question, recommend an answer, wait.
- Goal — what must the code do, in one line? (→ §G)
- Done — how do we know it works? name the observable. (→ §C / future §V)
- Boundary — what is explicitly out of scope? (→ §C)
- Lock — what tech/lib/pattern is non-negotiable? what is forbidden? (→ §C)
- Surface — what does the outside world touch — cmd, api, file, env? (→ §I)
- Edge — the one input that breaks the happy path? (→ future §V)
- Unknown — what do we not know yet? (→ park as §C bullet)
?
Stop climbing the moment the spec would be unambiguous. Do not ask all seven by reflex.
按顺序逐步提问。每一步,只提一个问题,给出一个推荐答案,等待回复。
- 目标 — 代码必须实现什么功能?用一句话描述。(→ §G)
- 验收标准 — 我们如何判断它有效?明确可观测的指标。(→ §C / 未来的§V)
- 边界 — 哪些内容明确不在范围内?(→ §C)
- 锁定项 — 哪些技术/库/模式是不可协商的?哪些是被禁止的?(→ §C)
- 交互面 — 外部会通过什么方式与之交互?命令行、API、文件、环境变量?(→ §I)
- 边界情况 — 哪种输入会打破常规流程?(→ 未来的§V)
- 未知项 — 我们目前还不知道什么?(→ 标记为归入§C的项目符号中)
?
一旦规格变得清晰明确,就停止提问。不要机械地问完所有七个问题。
ANSWER FORMAT
答案格式
Each question carries a recommended answer so the user can grunt "yes" & move:
Q: auth — session cookie or JWT? rec: JWT — stateless, you named horizontal scaling as a §C. (a) JWT (b) cookie (c) something else?
每个问题都附带推荐答案,方便用户只需回复“是”即可继续:
Q: 认证方式 — Session Cookie 还是 JWT? 推荐:JWT — 无状态,你已将水平扩展列为§C项。 (a) JWT (b) Cookie (c) 其他方式?
HANDOFF
交接
When done, emit a compact block — goal line, constraint bullets, surfaced
unknowns as — and hand to the spec skill to write §G/§C. Grill proposes;
spec is the sole mutator. Never write SPEC.md directly.
?完成后,输出一个简洁的模块——目标语句、约束项目符号、标记为的已梳理未知项——然后交由spec技能撰写§G/§C。Grill负责提出方案;spec是唯一的文档修改者。切勿直接编写SPEC.md。
?WHEN TO STOP
何时停止
Done when ALL hold:
- §G is one line, one reading, zero "or maybe".
- §C covers every non-negotiable the user stated or implied.
- Every blocking unknown is either answered or parked as an explicit .
?
Unresolved blocking unknown that needs the outside world → recommend , not a guess.
/research当满足以下所有条件时停止:
- §G为一句话,只有一种解读,没有“或者可能”的表述。
- §C涵盖了用户明确说明或隐含的所有不可协商项。
- 所有阻碍性未知项要么已得到解答,要么被明确标记为暂存。
?
若存在需要外部信息才能解决的阻碍性未知项→推荐使用,而非猜测。
/researchBOUNDARIES
边界限制
- ⊥ make product decisions for the user. Recommend, never decide.
- ⊥ write SPEC.md. Hand structured answers to spec.
- ⊥ ask in bulk. One question, one recommendation, wait.
- ⊥ grill a trivial change. Right-size or skip.
- ⊥ 为用户做产品决策。只推荐,不决定。
- ⊥ 编写SPEC.md。将结构化答案交由spec处理。
- ⊥ 批量提问。一次只提一个问题,给出一个推荐答案,等待回复。
- ⊥ 拷问琐碎的变更。选择合适的方式或直接跳过。