plan

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

plan: scope it properly, or don't build it at all

规划:要么做好梳理,要么干脆不做

Every initiative gets ONE file that travels its whole life:
 idea ──> survived ──> planned ──> executing ──> reviewed ──> banked
              ^            ^
          the gauntlet  THIS SKILL
Plan owns the
planned
arrow. Work that reaches sprint without passing through here does not run. That refusal is the whole point of the collection, and this skill is where it lives.
Before any step, read
${CLAUDE_SKILL_DIR}/../../CONVENTIONS.md
. This resolves from the installed skill directory to the plugin's shared contract; the founder's working folder is never used to locate it. Its state, receipts, filing, and dedupe rules govern this workflow.
每个举措都对应一个贯穿其全生命周期的文件:
 idea ──> survived ──> planned ──> executing ──> reviewed ──> banked
              ^            ^
          the gauntlet  本技能
规划环节负责
planned
这个节点的转换。未经过此环节就进入冲刺阶段的工作不会被执行。拒绝此类工作是整个流程的核心意义,而本技能正是实现这一规则的关键。
在执行任何步骤之前,请阅读
${CLAUDE_SKILL_DIR}/../../CONVENTIONS.md
。该文件从已安装的技能目录解析到插件的共享协议;绝不会使用创始人的工作文件夹来定位它。其状态、凭证、归档和去重规则将管控整个工作流。

Step 0: Load the ground

步骤0:加载基础信息

Run the shared contract's Universal preflight. A Fresh, Partial, or Wrong-folder result routes to
/co-founder:co-founder-setup
(re-sync for Partial) and stops without creating an initiative or vision stub. On Ready, read the charter (AGENTS.md / CLAUDE.md), then check the charter-mapped vision path immediately. If the canonical vision is missing, say the founder is planning against nothing, route to vision, and stop without creating or sizing an initiative, changing a queue entry, or writing a log row. Only after vision exists, consult the vault: what does
wiki/
already know about this idea, this customer, past attempts? Cite what you find by file. Read pending
queue.md
entries addressed to
plan
; an offer queue item points to the canonical
wiki/business/offer.md
rather than carrying copied terms. Then locate the initiative: an existing file in
wiki/initiatives/
, or a new one.
Done when: you hold the charter's laws, the vault's relevant history, and the initiative file.
执行共享协议的通用预检。若结果为Fresh、Partial或Wrong-folder,则路由至
/co-founder:co-founder-setup
(Partial状态需重新同步),且停止操作,不创建举措或愿景存根。若状态为Ready,则读取章程(AGENTS.md / CLAUDE.md),然后立即检查章程映射的愿景路径。如果标准愿景缺失,则告知创始人当前无规划依据,路由至愿景环节,停止操作,不创建或确定举措规模、更改队列条目或写入日志行。只有当愿景存在后,再查阅存储库:
wiki/
中已有哪些关于这个想法、客户、过往尝试的信息?按文件引用找到的内容。读取
queue.md
中发给
plan
的待处理条目;报价队列条目指向标准的
wiki/business/offer.md
,而非携带复制的条款。然后定位举措文件:
wiki/initiatives/
中的现有文件,或新建一个。
完成标志:已掌握章程规则、存储库相关历史记录以及举措文件。

Step 1: Size the stakes

步骤1:评估风险规模

One judgment, made out loud: SMALL (hours, reversible, no real money) or BIG (weeks, money, customer-facing, hard to undo). Uncertain resolves to BIG. The size sets everything downstream: question count, research depth, whether the gauntlet is required.
Done when: the size is stated in one line with its reason, in the initiative file.
做出一个公开判断:SMALL(数小时工作量,可逆转,无实际资金投入)或BIG(数周工作量,涉及资金,面向客户,难以撤销)。不确定时默认判定为BIG。规模将决定后续所有事项:问题数量、研究深度、是否需要经过the gauntlet环节。
完成标志:在举措文件中用一行文字说明规模及理由。

Step 2: The gate check

步骤2:关卡检查

Check the stages in order, and stop at the first one missing:
  • BIG bet, state still
    idea
    : route to the gauntlet first. One sentence of why ("this is weeks of your life, it gets interrogated before it gets planned"), then the queue item contract: leave the initiative as an
    idea
    stub, tell the founder to run the gauntlet on it, and write nothing further. The gauntlet alone flips
    survived
    ; plan resumes after. A SMALL bet may proceed directly, recorded as: "Sized small, gauntlet waived."
  • BIG bet, state
    survived
    :
    read the latest Gauntlet verdict. Only SURVIVES with no Parked recommendation may proceed; DIES or PARKED routes back to the named evidence gap without a state change.
  • The ask is raw execution ("just build it", "go"): refuse the build, start the scope. Create at most an
    idea
    stub; the missing stage is
    planned
    , and the refusal shape from the shared contract carries the message: name the missing stage, ask the first missing question. Interviewed, never scolded.
  • State is already
    planned
    :
    this is replanning, not a new transition. Preserve the state, run the checkpoint on the changed scope, and update the roadmap without erasing history.
  • State is
    executing
    :
    a same-destination amendment preserves checked steps and stays
    executing
    . A changed destination creates a separate
    idea
    whose body links this initiative;
    reopens
    stays null because the predecessor is still active. With the founder's confirmation, move every unchecked old step to
    Roadmap → Stopped
    with today's date and the reason. Review records the stopped outcome on the old arc; the new idea earns its own gates.
  • State is
    reviewed
    or
    banked
    :
    the arc is closed. New work gets a new linked
    idea
    ; the closed file stays unchanged.
  • State is unknown or malformed: stop for repair. Never infer the nearest legal state.
Done when: every required stage before
planned
is genuinely done, or the founder has been routed to the one that is missing.
按顺序检查各个阶段,在第一个缺失的阶段处停止:
  • BIG级举措,状态为
    idea
    :先路由至the gauntlet环节。用一句话说明原因(“这将花费你数周时间,在规划前需先经过质询”),然后遵循队列条目规则:将举措保留为
    idea
    存根,告知创始人需对其执行the gauntlet环节,不再进行其他操作。只有the gauntlet环节能将状态切换为
    survived
    ;之后规划环节再继续。SMALL级举措可直接推进,记录为:“规模判定为小,豁免the gauntlet环节。”
  • BIG级举措,状态为
    survived
    :读取最新的Gauntlet裁决结果。只有标注为SURVIVES且无Parked建议的才可推进;标注为DIES或PARKED的则路由回指定的证据缺口,不更改状态。
  • 请求为原始执行指令(“直接构建它”“去做”):拒绝执行构建,启动梳理流程。最多创建一个
    idea
    存根;缺失的阶段是
    planned
    ,共享协议中的拒绝模板将传递信息:指明缺失的阶段,提出第一个待解决的问题。采用询问方式,而非指责。
  • 状态已为
    planned
    :这属于重新规划,而非新的阶段转换。保留当前状态,针对变更后的范围执行检查点,更新路线图但不删除历史记录。
  • 状态为
    executing
    :目标不变的修订将保留已完成的步骤,状态仍为
    executing
    。目标变更的则创建一个单独的
    idea
    ,其内容链接至当前举措;
    reopens
    字段保持为空,因为原举措仍在进行中。经创始人确认后,将所有未完成的旧步骤移至
    Roadmap → Stopped
    ,标注今日日期及原因。评审环节将在旧流程中记录已停止的结果;新想法需通过自身的关卡。
  • 状态为
    reviewed
    banked
    :流程已结束。新工作需创建一个新的关联
    idea
    ;已关闭的文件保持不变。
  • 状态未知或格式错误:停止操作以修复。绝不推断最接近的合法状态。
完成标志:
planned
之前的所有必要阶段均已真正完成,或已将创始人路由至缺失的环节。

Step 3: Scope the WHAT

步骤3:梳理WHAT(内容范围)

One question per turn, recommended answer attached, founder's words captured. Facts you can get yourself (from the vault, from research), get yourself. Probe only where a real gap shows: what is the smallest version that still delivers, and what does the current workaround cost? A concrete founder earns zero probes.
Then the checkpoint, before the Scope and Roadmap sections or any state change are written (the
idea
stub and its sizing line may already exist). Present on one screen:
  • What we're doing (2-3 lines in their words)
  • Key tradeoffs (the calls made and why)
  • Out of scope (what this deliberately is not)
  • Needs your call (anything only they can rule on)
Every line must be judgeable without homework. Any correction: integrate, re-present the whole checkpoint, wait for the yes again. A revision is never a confirmation.
Run the shared durable claim admission gate before this checkpoint and again before filing. Each number, customer fact, and causal statement carries a recomputation, an exact checked quote from an open source file, or
Founder-stated: unverified
. Earlier gauntlet or offer prose is not trusted as a receipt merely because it is already durable.
Apply the shared parameter gate to durations, counts, caps, sequence assumptions, and completion thresholds. Ask one founder question when a missing value blocks the scope; otherwise keep it as a working hypothesis under Needs your call or Parked recommendations. Imported unverified offer or gauntlet values never become roadmap commitments.
Ask before you assert: never present a quantity, duration, sample size, date, or causal motive in prose before asking the founder for it or citing a receipt for it.
A
wiki/decisions/**
page is a T1 consent surface (shared contract, Immutable consent receipts): plan may create one only with the founder's
[receipt: raw/inbox/<file>#<exact words>]
for the exact call. Without that yes, record the tradeoff in Key decisions and write no decision page.
Done when: the founder has said yes to the exact scope about to be written.
每次提出一个问题,附上推荐答案,记录创始人的回答。可自行获取的事实(从存储库或研究中)自行获取。仅在存在真实信息缺口时进行探查:最小可交付版本是什么,当前的workaround(临时方案)成本是多少?如果创始人提供了具体信息,则无需探查。
然后在写入Scope和Roadmap部分或更改状态前,先进行检查点确认(
idea
存根及其规模说明可能已存在)。在一个页面中呈现以下内容:
  • 我们要做什么(用创始人的话总结2-3行)
  • 关键权衡(已做出的选择及原因)
  • 不属于范围的内容(明确排除的事项)
  • 需你决策(只有创始人能决定的事项)
每一行都应无需额外查阅即可判断。如有修正:整合后重新呈现整个检查点内容,再次等待确认。修订不等于确认。
在检查点之前及归档之前,均需执行共享的持久化凭证准入关卡。每个数字、客户事实和因果陈述都需附带重新计算结果、来自开源文件的准确引用,或标注
Founder-stated: unverified
(创始人陈述:未验证)。此前the gauntlet或报价环节的文本仅因已持久化并不被视为有效凭证。
对持续时间、数量、上限、顺序假设和完成阈值应用共享参数关卡。当缺失值阻碍范围梳理时,向创始人提出一个问题;否则将其作为“需你决策”或“Parked recommendations”(搁置建议)下的工作假设。导入的未验证报价或the gauntlet环节的值永远不会成为路线图承诺。
先询问再断言:在向创始人询问或引用凭证之前,绝不在文本中提及数量、持续时间、样本量、日期或动机。
wiki/decisions/**
页面是一级同意界面(共享协议,不可变同意凭证):只有当创始人提供
[receipt: raw/inbox/<file>#<exact words>]
以确认具体决策时,规划环节才可创建该页面。若无此确认,则将权衡记录在“关键决策”中,不创建决策页面。
完成标志:创始人已对即将写入的准确范围表示同意。

Step 4: Plan the HOW

步骤4:规划HOW(实施方式)

STOP. Read
references/initiative-template.md
now: it holds the file's exact section shape and the roadmap rules. An improvised structure breaks sprint's ability to execute it.
Snapshot every pre-existing prior-stage section before editing. Patch Scope, Roadmap, Needs your call, and Parked recommendations in place; preserve the complete Gauntlet verdict, advisor board, objections, exact receipt lines, and append-only Log. Scope links to
[Gauntlet verdict](#gauntlet-verdict)
.
log.md
points to the event and never stores the board. Compare the preserved sections byte for byte before the state flip; any loss aborts the transition.
Write decisions with their rationale, never task spam. Every consequential recommendation in Key decisions carries both receipt legs from the shared contract: a vault fact and a checked external source. A missing leg moves the item to
Parked recommendations
in the contract's canonical shape; it never moves to "Needs your call" because evidence gathering is not a founder judgment. The roadmap section follows fog-of-war discipline: chart in detail only what is visible now as session-sized steps, keep the rest in "Not yet decided" where it graduates as the frontier advances, and keep "Out of scope" as the list that never graduates.
Every initiative advancing beyond
idea
carries both checked references in frontmatter:
internal_receipt: <path>#<quote-anchor>
to business evidence outside initiative/content output, and
external_receipt: wiki/research/<file>.md#<quote-anchor>
to dated checked research. This is a state invariant, independent of wording or size. Missing fields keep the initiative PARKED and below
planned
.
Done when: the initiative file matches the template with zero empty sections (an honest "Not yet decided" or "Parked recommendations: None." entry counts as content).
暂停操作。立即阅读
references/initiative-template.md
:该文件包含了举措文件的精确章节结构和路线图规则。即兴的结构会破坏冲刺环节的执行能力。
编辑前,对所有现有前置阶段的章节进行快照。在原位置更新Scope、Roadmap、Needs your call和Parked recommendations部分;完整保留Gauntlet裁决结果、顾问委员会意见、异议、准确的凭证行,并追加Log内容。Scope部分需链接至
[Gauntlet verdict](#gauntlet-verdict)
log.md
指向事件,绝不存储委员会内容。在状态转换前逐字节比较保留的章节;任何内容丢失都将中止转换。
撰写决策时需附带理由,绝不要堆砌任务。“关键决策”中的每一项重要建议都需附带共享协议要求的两类凭证:存储库事实和经过验证的外部来源。缺失任意一类凭证的项将按协议的标准格式移至“Parked recommendations”;绝不能移至“需你决策”,因为收集证据并非创始人的职责。路线图部分需遵循“战争迷雾”原则:仅详细规划当前可见的会话级步骤,其余内容保留在“尚未决定”中,待推进时再细化;“不属于范围的内容”列表永不纳入规划。
任何推进至
idea
之外的举措都需在前置内容中附带两类已验证的引用:
internal_receipt: <path>#<quote-anchor>
指向举措/内容输出之外的业务证据,
external_receipt: wiki/research/<file>.md#<quote-anchor>
指向已日期标记的验证研究。这是一个状态不变量,与表述或规模无关。缺失字段将使举措处于PARKED状态,无法进入
planned
完成标志:举措文件与模板完全匹配,无空章节(如实填写的“尚未决定”或“Parked recommendations: None.”视为有效内容)。

Step 5: Flip the state and hand off

步骤5:切换状态并移交

Re-read the current state immediately before writing. Set
state: planned
only for the legal
idea → planned
SMALL waiver or
survived → planned
transition. Replanning stays
planned
; a same-destination executing amendment stays
executing
. Any other state follows Step 2 instead of moving backward. Bump today's date and append the log row:
## [date] plan | <initiative title>
. Ensure
index.md
and
hub/initiatives.md
point to the initiative under the bucket matching its current state, update the index roadmap summary and
baton.md
, and reconcile the consumed queue entry as one linked-state transaction. Then close with exactly two lines: what got decided (one line), and the ONE next command: "say 'let's work' and sprint takes the first step."
When this plan consumes a queue entry, mark that same ID done with the initiative path only after the initiative legally reaches
planned
. A route to vision, gauntlet, or receipts leaves the entry pending.
写入前立即重新读取当前状态。仅当合法转换为
idea → planned
(SMALL级豁免)或
survived → planned
时,才设置
state: planned
。重新规划保持
planned
状态;目标不变的执行中修订保持
executing
状态。其他任何状态均需遵循步骤2,不得回退。更新今日日期并追加日志行:
## [date] plan | <initiative title>
。确保
index.md
hub/initiatives.md
将举措归入与其当前状态匹配的分类下,更新索引路线图摘要和
baton.md
,并将已处理的队列条目作为关联状态事务进行协调。最后以两行文字结束:一行说明已做出的决策,另一行给出唯一的下一步指令:“说'let's work',冲刺环节将执行第一步。”
当本规划环节处理队列条目时,仅当举措合法进入
planned
状态后,才将对应ID标记为已完成并关联举措路径。若路由至愿景、the gauntlet或凭证环节,则该条目保持待处理状态。

Mandatory filing gate

强制归档关卡

  1. Run
    scripts/graph-audit
    on every touched durable file.
  2. Fix every violation and rerun it. The plan, state transition, log, and queue completion remain incomplete until it exits zero.
Done when: the legal state is preserved or advanced, the log row exists, and the founder knows the next move.
  1. 对所有涉及的持久化文件运行
    scripts/graph-audit
  2. 修复所有违规项并重新运行。只有当该脚本返回零错误时,规划、状态转换、日志和队列完成操作才算完成。
完成标志:合法状态已保留或推进,日志行已存在,创始人知晓下一步行动。