用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/trungdo9/ClauKit --skill planning命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | planning |
| description | Use when you need to plan technical solutions that are scalable, secure, and maintainable. |
| license | MIT |
Create detailed technical implementation plans through research, codebase analysis, solution design, and comprehensive documentation.
Use this skill when:
Always honoring YAGNI, KISS, and DRY principles. Be honest, be brutal, straight to the point, and be concise.
Load: references/research-phase.md
Skip if: Provided with researcher reports
Load: references/codebase-understanding.md
Skip if: Provided with scout reports
Load: references/solution-design.md
Load: references/plan-organization.md
Load: references/output-standards.md
Load: references/forecasting-outcomes.md
When: estimating timelines from team velocity, risk-scoring an architectural decision, predicting bottlenecks from a dependency graph. Use historical metrics, not gut feel. Distinct from solution design — predictive planning quantifies uncertainty rather than choosing among approaches.
plan.md + phase-*.md (the structure below). Always the single source of truth; /ck:cook consumes these.-o html (opt-in): ADDITIONALLY render one self-contained plan.html view, derived from the markdown. Markdown stays primary; html is a one-directional snapshot. Also supports convert mode — /ck:plan <existing-plan.md> -o html re-renders plan.html from an existing plan without re-planning. Full template + fill procedure: references/html-output.md (single source — do not duplicate HTML guidance elsewhere)../docs/development-rules.md file.Plan Directory Structure
Plan dir name: YYMMDD-HHmm-<slug> — 6-digit date, from bash -c 'date +%y%m%d-%H%M' (PowerShell: Get-Date -UFormat "%y%m%d-%H%M"), never from model knowledge. /ck:cook resolves plan paths on this form; an 8-digit YYYYMMDD dir is a different name and will not be found.
plans/
└── 260805-1430-plan-name/
├── research/
│ ├── researcher-XX-report.md
│ └── ...
├── reports/
│ ├── XX-report.md
│ └── ...
├── scout/
│ ├── scout-XX-report.md
│ └── ...
├── plan.md
├── phase-XX-phase-name-here.md
└── ...
plan.md)Plans are executed by fresh per-phase implementers and resumed by sessions with no memory of this one; these five blocks are what make that safe. Details: references/output-standards.md.
Global Constraints block — project-wide requirements with values copied verbatim (limits, versions, naming, paths). Implicitly part of every phase; a phase implementer sees only its own phase, so constraints must not live in prose elsewhere.
Interfaces per phase — Consumes: / Produces: with exact signatures and types, so a fresh implementer that reads only its phase still learns neighboring names. This is also what keeps per-phase dispatch (cook Implement) from losing cross-phase knowledge.
No Placeholders — "TBD", "add appropriate error handling", "similar to Phase N", "write tests for the above" are plan failures, not shorthand. Every task names its files, values, and behavior.
Exit gate per phase — every phase declares its gate as an executable check: a command, a test id, or a query with the expected result stated. This is what lets a resumed run (run-state skill) re-derive true state instead of trusting status claims.
Scope options table — when the task could span >1 repo/layer: the (A) minimal-surface vs (B) thorough table (repos/layers touched + conventions followed/broken per option, recommendation marked). Produced by cook's scope lock; the plan records which option was picked and why.
Plan Completeness block — the plan's own explicit sign-off, the last section of plan.md. Six ticked items; the plan is not finished until it declares itself finished. Exact block: references/output-standards.md.
plan-lintA self-attested checklist is attested by the same agent that wrote the plan, so the checkable half is machine-checked instead:
node .claude/scripts/ck/plan-lint.cjs <plan-dir> # 0 = PASS · 1 = violations · 2 = no plan.md
Verifies: ## Global Constraints present and non-empty · every phase has a gate stating <command> → <expected> (**Exit gate:**, **Acceptance:** and **Exit criteria:** all count) · every phase declares **Interfaces** (or **Interfaces:** none — no cross-phase surface, a recorded decision rather than silence) · no banned placeholders outside code fences and quotations · the ## Plan Completeness block exists with all six items ticked. Warns when the plan spans >1 top-level dir with no scope options table.
Exit 1 ⇒ the plan does not leave the planner. Do not present it for review, do not implement against it. The two items no script can settle — spec coverage and cross-phase type agreement — stay attestation-only and the tool says so rather than implying it checked them.
Why hard: without ## Global Constraints, .claude/scripts/ck/phase-brief.cjs emits a "plan declares no Global Constraints" comment and exits 0, so every per-phase implementer works without the verbatim values and the violation only surfaces at review, three gates later. Run against this repo's own flagship plan the gate returns 11 violations — the failure mode is the normal case, not a hypothetical.
Self-review checklist before handing the plan over: spec coverage (every requirement maps to a phase) · placeholder scan (grep for TBD/appropriate/similar to) · type/name consistency across phases (Interfaces blocks agree) · every phase gate runnable · Global Constraints verbatim. Then run plan-lint — the checklist is the intent, the linter is the gate.
Remember: Plan quality determines implementation success. Be comprehensive and consider all solution aspects.