Loading...
Loading...
Compare original and translation side by side
plan.htmlplan.html$(command -v python3 || command -v python) ${CLAUDE_PLUGIN_ROOT}/scripts/session-catchup.py "$(pwd)"git diff --statplan.htmlprogress_logplan.htmlplan.html$(command -v python3 || command -v python) ${CLAUDE_PLUGIN_ROOT}/scripts/session-catchup.py "$(pwd)"git diff --statplan.htmlprogress_log| Location | What goes there |
|---|---|
Skill directory ( | Templates, scripts, reference docs |
| Your project directory | |
| 位置 | 存放内容 |
|---|---|
Skill 目录( | 模板、脚本、参考文档 |
| 项目目录 | |
/planbash scripts/init-plan.sh <template>implementation-planthree-approachesticket-triagefeature-flag-editormodule-mapannotated-prliving-design-systemanimation-sandboxweekly-statusincident-timeline/plan-renderbash scripts/render-plan.sh<script type="application/json" id="plan-data">/plan-attestplan.html/planbash scripts/init-plan.sh <template>implementation-planthree-approachesticket-triagefeature-flag-editormodule-mapannotated-prliving-design-systemanimation-sandboxweekly-statusincident-timeline/plan-renderbash scripts/render-plan.sh<script type="application/json" id="plan-data">/plan-attestContext Window = RAM (volatile, limited)
Filesystem = Disk (persistent, unlimited)
plan.html = the canonical surface — visual to humans, structured to agentsContext Window = RAM (volatile, limited)
Filesystem = Disk (persistent, unlimited)
plan.html = the canonical surface — visual to humans, structured to agents{
"schema_version": "0.2.0",
"plan_title": "...",
"goal": "...",
"current_phase": 1,
"template": "implementation-plan",
"ownership": "agent",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"gate": {"enforce_evidence": false, "require_approval": false},
"phases": [
{
"id": 1,
"title": "...",
"status": "pending|in_progress|complete|blocked",
"approval": {
"state": "pending|approved|rejected|changes_requested",
"approach": "...", "blast_radius": ["..."],
"confidence": "high|medium|low", "cost_estimate": "light|medium|heavy",
"decided_at": null, "decided_by": null, "note": ""
},
"items": [{"text": "...", "done": false, "owner": null}],
"evidence": [{"command": "...", "output": "...", "exit_code": 0, "probe": "...", "checked_at": "ISO 8601"}],
"milestones": ["..."]
}
],
"findings": [...],
"progress_log": [...],
"decisions": [...],
"errors": [...],
"history": [{"ts": "ISO 8601", "kind": "created|approved|rejected|completed|sealed", "phase": null, "summary": "...", "prev_hash": "...", "hash": "..."}],
"integrity": {"algo": "SHA-256", "value": null, "sealed_at": null, "scope": "plan-data-v1", "sections": {"phases": "...", "gate": "...", "history": "..."}},
"attestation_sha256": null
}gateintegrityevidenceapprovalownership"agent""user""shared"{
"schema_version": "0.2.0",
"plan_title": "...",
"goal": "...",
"current_phase": 1,
"template": "implementation-plan",
"ownership": "agent",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"gate": {"enforce_evidence": false, "require_approval": false},
"phases": [
{
"id": 1,
"title": "...",
"status": "pending|in_progress|complete|blocked",
"approval": {
"state": "pending|approved|rejected|changes_requested",
"approach": "...", "blast_radius": ["..."],
"confidence": "high|medium|low", "cost_estimate": "light|medium|heavy",
"decided_at": null, "decided_by": null, "note": ""
},
"items": [{"text": "...", "done": false, "owner": null}],
"evidence": [{"command": "...", "output": "...", "exit_code": 0, "probe": "...", "checked_at": "ISO 8601"}],
"milestones": ["..."]
}
],
"findings": [...],
"progress_log": [...],
"decisions": [...],
"errors": [...],
"history": [{"ts": "ISO 8601", "kind": "created|approved|rejected|completed|sealed", "phase": null, "summary": "...", "prev_hash": "...", "hash": "..."}],
"integrity": {"algo": "SHA-256", "value": null, "sealed_at": null, "scope": "plan-data-v1", "sections": {"phases": "...", "gate": "...", "history": "..."}},
"attestation_sha256": null
}gateintegrityevidenceapprovalownership"agent""user""shared"implementation-planevidence[]probecompletegate.enforce_evidenceapproachblast_radiusconfidencecost_estimate/plan-attestintegrityhistory[]/plan-attesthistorygate.enforce_evidencegate.require_approvalgateimplementation-planevidence[]probecompletegate.enforce_evidenceprobeprobeapproachblast_radiusconfidencecost_estimate/plan-attestintegrityhistory[]/plan-attesthistorygate.enforce_evidencegate.require_approvalgate| Command | What it does |
|---|---|
| Create a new plan.html from a template |
| Open plan.html in your default browser |
| Lock the plan with SHA-256 attestation (--show, --clear) |
| Print one-line plan status to terminal |
| Flatten plan.html → task_plan.md (bidirectional) |
| Export the embedded JSON to plan.json |
| Compose with Claude Code's |
| Compose with Claude Code's |
| 命令 | 作用 |
|---|---|
| 根据模板创建新的 plan.html |
| 在默认浏览器中打开 plan.html |
| 使用 SHA-256 证明锁定计划( |
| 在终端中打印一行计划状态 |
| 将 plan.html 扁平化为 task_plan.md(双向) |
| 将嵌入的 JSON 导出为 plan.json |
| 与 Claude Code 的 |
| 与 Claude Code 的 |
plan.htmlplan<script type="application/json" id="plan-data">plan.htmlplan.htmlplan<script type="application/json" id="plan-data">plan.htmlplan.html/planplan.html/plan<script type="application/json" id="plan-data"><script type="application/json" id="plan-data">findingsfindingsphases[i].status: "complete"completed_atprogress_logcurrent_phasephases[i].status"complete"completed_atprogress_logcurrent_phaseerrors/clearerrors/clearsystem-ui, sans-serif, monospace<style><script>box-shadowsystem-ui, sans-serif, monospace<style><script>prefers-color-scheme<style><script type="application/json" id="plan-data"><script><link rel="stylesheet"><script src>evalFunction()lang<style><script type="application/json" id="plan-data"><script><link rel="stylesheet"><script src>evalFunction()===BEGIN PLAN DATA======END PLAN DATA===---/plan-attest[PLAN TAMPERED — injection blocked]===BEGIN PLAN DATA======END PLAN DATA===---/plan-attest[PLAN TAMPERED — injection blocked]/plan-export markdown/plan-export markdownplan.html/plan-attest --clear && /plan<script type="application/json"><script type="application/json">scripts/render-plan.shxdg-openwslviewopenInvoke-Item.ps1--lines 30---===$HOMECLAUDE_PLUGIN_ROOTPLAN_ID=<slug>.planning/<slug>/plan.htmlplan.html/plan-status/plan-export markdown/plan-attestgate.enforce_evidencecomplete/plan-attestimplementation-plan1.0/plan-attest --clear && /plan<script type="application/json"><script type="application/json">scripts/render-plan.shxdg-openwslviewopenInvoke-Item.ps1--lines 30---===$HOMECLAUDE_PLUGIN_ROOTPLAN_ID=<slug>.planning/<slug>/plan.htmlplan.html/plan-status/plan-export markdown/plan-attestgate.enforce_evidencecomplete/plan-attestimplementation-plan1.0