技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
plan-update【数据与研究】Produce module-level update plans for changing an existing feature or adding features to an existing system — markdown plan files, never code. Reuses plan-feat's discipline and adds what change requires: current-state reconnaissance, impact analysis with a ripple set, delta plans (current → target), regression vigilance, data migration, backward comp…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Same discipline as plan-feat, applied to change: modify an existing
feature, or add features to a system that already has plans and/or code.
Produces plans, never implementation code. Output = existing plan
files revised in place + new numbered plan files for new modules.
All content lives in the sibling plan-feat skill; never duplicate it
here:
coherence_checks:, and phases never advance over a red gate.Normalize the change request — free prompt, *.md file, or folder — into
a change brief: what changes, why, scope, constraints, unknowns.
Blocking unknowns → ask the user before any analysis.
Same protocol, with a third corpus: the existing plan files in plans/
count as docs. The cross-check becomes three-way — doc ↔ plan ↔ code.
A plan that no longer matches the code it planned is a contradiction like
any other.
plans/: global tracker, feature trackers, 00-overview.md of
every feature the change may touch.index_status (index if absent/stale), then get_architecture
on the touched domains.search_graph, get_architecture: modules,
relations, statuses) before planning the change. Nothing exists at
all → this is green field: use plan-feat instead.MCP names are bare, not callable as written. Prefix cbm_ under pi,
mcp__codebase-memory-mcp__ under Claude Code. Under pi, trace_path,
query_graph, detect_changes, get_architecture and get_graph_schema
need one cbm_search_tools call first.
notes:, state in one line why it is small,
stop there. If the feature has no _progress.yml (plan-feat small
path), create one first.Replaces plan-feat's feature split. No plan is written before the impact table is complete.
trace_path(<module function>, direction="both") on each touched
module → the ripple set: callers, consumers, data flows the
change can reach.00-overview.md and is
the single record of each module's kind for this run:| Module | Kind | Why | Evidence |
|---|---|---|---|
| modified · new · deprecated · verify-only | one sentence | exact graph call + result |
verify-only = in the ripple set but believed untouched — still gets a
verification check in Phase 5, never dropped silently.
Plan-feat Phase 2 rules apply, plus:
search_graph
existence check.Update the relation map in 00-overview.md in place, marking each
diff (added / removed / redirected) with its justification. Plan-feat
Phase 3 detection rules apply. New implementation order = topological
sort over modified + new + deprecated modules (shared first,
deprecations last unless they unblock).
One plan at a time, in the Phase 3 order (plan-feat Phase 4 rules).
NN-<module>.md in place:
keep the plan-feat template, add the delta sections — read
references/update-template.md before
each revision.After each plan: the strict coherence gate (coherence.md §Strict mode). Vigilance rules for modified modules: update-template §Vigilance points.
Round mechanics and stop condition: shared coherence protocol, strict mode. Plus one mandatory question per round:
Does this change silently break a module it does not modify?
Answer with the evidence required by the strict-mode final gate, not opinion.
verify-only rows stay.Current state claim without its graph call is a guess, and a guess
is a planning fault.notes: (what changed, why,
date) — an unrecorded revision cannot be resumed or audited.