brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
plan-featProduce module-level implementation plans for a NEW feature or application — markdown plan files in a per-feature folder, never code. Takes a free prompt, a *.md file, or a folder of *.md docs; cross-checks project docs against each other and against the code before planning, splits large scope into modules, and writes one directive plan file per module (ne…
Independent GitHub snapshot · Automated classification · Original documentation governs
Produces plans, never implementation code. Output = a
plans/<feature_slug>/ folder containing an overview, one plan per module,
and a progress tracker.
Scope: new features. Modifying or extending an existing feature →
sibling skill plan-update.
Normalize any input — free prompt, a *.md file, or a folder of *.md
files (read them in full) — into a brief: goal, scope, constraints,
unknowns. Blocking unknowns → ask the user before splitting, not after.
Always first, before touching the graph or the code: read
references/doc-coherence.md and run its
four steps on every project *.md touching the scope.
| Need | Tool |
|---|---|
| Any identifier named in a plan (files, modules, classes, routes, tables) | Skill naming-convention — mandatory, no improvised names |
| Structure skeletons proposed in a plan | Skill archi-vide — plans reference typed empty architectures, not vague pseudo-code |
| Simplifying a split that grows | Skill micro-optimiz — apply its logic (DRY, single responsibility, YAGNI) to the split itself |
| What already exists in the code | codebase-memory-mcp: index_status first (index if absent/stale), then search_graph, get_architecture, trace_path, get_code_snippet |
| Feature with design/UI | Browser-controller MCP if available (inspect existing screens) + skill ui for maquina contracts |
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.
Never plan on an unindexed repo: the existing / todo relations would be
guesses.
Assess the brief: how many files touched, how many distinct features, how
many domains (docs/*.md) involved.
plans/<feature_slug>/plan.md following the module plan template. No
module split, no tracker. State in one line why it is small, and stop
there.plans/_progress.yml — read
references/trackers.md when creating or
resuming any tracker.Split the brief into:
Rules: DRY (any duplication between features moves up to shared), YAGNI (a feature with no explicit request and no mandatory dependency → removed, stated in one line), maximal simplicity (two valid splits → the smaller one wins). Every feature keeps a one-sentence justification; no justification → no feature.
Each feature splits into modules: a cohesive grouping of functions around a single responsibility. Applies to backend and frontend alike:
split-payment
= Payment model + PaymentSplitService + reminder job).For each module:
search_graph / get_architecture whether it already exists
in the code → status existing (fully in code) or partial (partially
in code); everything else is todo.Build the relation map: who depends on whom, what data flows, which modules are shared. Every relation is explicit and justified (why this dependency direction). Detect:
This map goes into 00-overview.md.
Never all plans at once — write one plan at a time, in the Phase 3
topological order. Before writing the first plan, read
references/plan-template.md (plan format,
directive language, vigilance-first rule) and
references/trackers.md (folder layout, tracker
formats). After each plan: update _progress.yml and run the
coherence checklist of references/coherence.md.
A plan (or the whole set) may need several rounds. Read references/coherence.md when starting critique rounds — round mechanics, per-plan checklist, and stop condition live there.
The plans form a system. Any change to any plan or feature immediately triggers the coherence pass of references/coherence.md — in the same pass, never "later".
search_graph before committing any module.existing claim is a guess; index_status
before anything.