From 1b0118d254bd94616777e0a0122ee4d9ce2d99cb Mon Sep 17 00:00:00 2001 From: vitya Date: Thu, 27 Aug 2026 21:09:12 +0300 Subject: [PATCH] feat(mappa-vitya-brainstorming): brainstorm METHODOLOGY for a mappa zone [v0.1.0] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Behavior layer (not mechanics): how to run a storm in a mappa zone, keep the running-record buffer, judge maturity by criterion (not feeling), and route the matured result (spec → wiki concept, tasks, reviews). - Promotion MECHANICS delegated to mappa-brainstorm-promote (not duplicated). - Specs/knowledge → mappa wiki concept; mappa-knowledge required before wiki. - Multiple impl tasks → paired -review + umbrella -review, non-implementer reviewer; ask who implements (boss does not implement). - Notify affected projects via inbox_send. - Reviewed by clean-context non-implementer reviewer; all findings closed (description → pure triggers, no 'what should we build' conflict, explicit promote boundary, zero-impl-task case, mandatory mappa-knowledge). - README provenance table updated. --- README.md | 1 + dist/mappa-vitya-brainstorming.skill | Bin 0 -> 3689 bytes skills/mappa-vitya-brainstorming/SKILL.md | 163 ++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 dist/mappa-vitya-brainstorming.skill create mode 100644 skills/mappa-vitya-brainstorming/SKILL.md diff --git a/README.md b/README.md index 7fe695c..918a316 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,7 @@ an explicit `adapted-from` marker in its frontmatter. | `find-skills` | `adapted-from: vercel-labs/skills @ c6f69c6` (MIT) — vendored copy | | `grilling` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — family collapsed to one skill (pi hides `disable-model-invocation` wrappers) | | `brainstorming` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — divergent phase, visual-companion dropped | +| `mappa-vitya-brainstorming` | `author: ours` — brainstorm METHODOLOGY for a mappa zone (capture in mappa entity, maturity by criterion, spec → wiki, paired+umbrella review, ask who implements, notify); promotion mechanics delegated to `mappa-brainstorm-promote` | | `diagnosing-bugs` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) + superpowers 6.2.0 concepts (Iron Law, red flags) | | `loop-me` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — workflow-spec design gate | | `review-kit-pi-method` | `author: ours` — pi-native spawn for clean-context review subagents | diff --git a/dist/mappa-vitya-brainstorming.skill b/dist/mappa-vitya-brainstorming.skill new file mode 100644 index 0000000000000000000000000000000000000000..5fb93e433e79913107a74041eb0bb7b57cbd740e GIT binary patch literal 3689 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 literal 0 HcmV?d00001 diff --git a/skills/mappa-vitya-brainstorming/SKILL.md b/skills/mappa-vitya-brainstorming/SKILL.md new file mode 100644 index 0000000..09c7820 --- /dev/null +++ b/skills/mappa-vitya-brainstorming/SKILL.md @@ -0,0 +1,163 @@ +--- +name: mappa-vitya-brainstorming +author: ours +version: 0.1.0 +description: > + The brainstorm METHODOLOGY (the behavior layer) for a mappa knowledge zone — + runs a storm, keeps its running-record buffer, judges MATURITY, and routes + the matured result (spec → wiki concept, tasks, reviews). The mappa promotion + MECHANICS are delegated to mappa-brainstorm-promote. Use when the user opens + a brainstorm or asks whether a storm is mature enough to persist. Triggers: + «забрендшторми», «поштормим», «накидай идеи», «что думаешь про идею», + «разложи куда что», «когда шторм зрелый», "brainstorm this", + "help me think this through", "run the storm". NOT for: sharpening a finished + plan (→ grilling), a single recommendation (→ recommend-dont-menu), or the + mappa promotion mechanics (→ mappa-brainstorm-promote). +--- + +# mappa-vitya-brainstorming + +**This is the vitya-flavored brainstorm *methodology*.** It tells you how to +run a storm in a mappa zone and where the matured output goes. It does NOT +implement the mappa promotion mechanics — that is `mappa-brainstorm-promote`. + +Run a brainstorm **anywhere**, in **any project**, by **any agent**. This is not +boss-zone-only. You (the agent driving the storm) own the method; promotion is +a separate mechanical step you delegate to the promote skill. + +A storm produces impl tasks → this skill also covers the review routing. A +storm that produces **zero impl tasks** (a research/decision-only storm) is +mature when the decisions are distilled into a wiki concept and no review +umbrella is created — the criterion holds vacuously, no tasks to review. + +**Boundary with the promote skill:** this skill ends at "I have judged +maturity and know the routing shape — which decisions become a spec, which +become tasks, how many reviews". It passes a **routing decision** to +`mappa-brainstorm-promote`, NOT a question of whether to persist. + +## When to use + +- User opens a brainstorm: «забрендшторми», «накидай идеи», «что думаешь про + идею», «поштормим», "brainstorm this", "run the storm". +- A storm is running and you must decide whether it's mature enough to persist. +- You must route the matured result into mappa (spec → wiki, tasks + reviews). + +**NOT for:** sharpening a finished plan (→ grilling), single recommendation +(→ recommend-dont-menu), or the actual mappa promotion mechanics (→ +`mappa-brainstorm-promote`). + +## Quick reference + +| Decision | Answer | +|---|---| +| Where does the buffer live | A mappa `brainstorm` entity (status=buffer). NOT a file. | +| When is a storm mature | The buffer-completion criterion, NOT a gut feel. | +| Where does the spec/decisions go | A mappa **wiki concept**. Before any wiki work — run `mappa-knowledge` first. | +| Multiple impl tasks | Paired `-review` per impl + an umbrella `-review`. Both blocked, non-implementer. | +| Who implements | ASK who implements (you are not automatically it). Boss does not implement (Rule 10). | +| Who notifies | Send an `inbox_send` letter to every affected project. | +| Zero-impl storm | Mature when decisions are distilled into a wiki concept; NO review umbrella (criterion holds vacuously). | + +## Core method + +**1. Capture the buffer in mappa, not in a file.** +Start the storm as a mappa `brainstorm` entity (status=buffer). It is the +running record. Update it after each significant decision, not in batches — a +crash-safe append beats token savings. File-based buffers (`.brainstorm/`, +`notes/*.md`) are legacy; the file channel is closed. + +**2. Maturity is a criterion, not a feeling.** +Do not persist on "it feels done". The storm is mature to persist when the +buffer-completion criterion holds: all action-items have been raised as tasks, +and all those tasks are done (including the review-umbrella). Decide this from +the criterion — derived from the graph, not judged by hand. + +**3. Distill into decisions, keep the record.** +The buffer records **decisions** (what was decided and why), not just "we +talked". Refs (`[[...]]`) link entities. The value is the decision trail, not +prose volume. + +**4. Specs/knowledge → mappa wiki concepts.** +Matured conclusions (the "what we decided and why") become a **mappa wiki +concept** (`wiki_create`). It is a formal enough spec: context → decisions → +rationale → non-goals → open questions, so intent is recoverable and tasks can +reference it. Domain knowledge goes to the target project's wiki; workshop-meta +to the `.workshop` wiki entity. **Before any wiki work — run `mappa-knowledge` +first** (Rule 6), it loads the project's AGENTS entity and the read/ingest +contract. + +**5. Review is a separate, non-implementer role.** +When multiple implementation tasks come out of the storm, create BOTH: +- a **paired `-review`** per impl task (status=blocked, blocker=impl-ref); +- an **umbrella `-review`** (status=blocked, blocker=impl-slugs). + +Reviewer is the next session in the target, **not the implementer** — this +fights the "I just wrote it" bias. You (the brainstorming agent) generate the +review tasks; you do NOT do the code review yourself. The umbrella review is +done only when its reviewer confirms — the storm is not mature until the +umbrella `-review` is resolved, not merely created. + +**6. Ask who implements. Do not assume it's you.** +Brainstorms run anywhere by any agent. The implementer is not automatically the +storming agent. If the project is the boss zone (`.workshop`), the boss does NOT +implement (Rule 10) — it distills and routes via `task_create` to a target +project. In other projects the storming agent may implement, but ASK rather +than assume. + +**7. Notify affected projects with a letter.** +A task on a board does not ping a live session. After raising tasks, send an +`inbox_send` letter to every affected project (all except yourself — a +self-copy is not a notification). This is the required ping. + +## Where the mappa promotion happens (delegate, don't repeat) + +The **mechanics** — `wiki_create` / `brainstorm_promote`, `task_create`, +creating review pairs/umbrella, sending the covering letter, adding the final +buffer entry — live in **`mappa-brainstorm-promote`**. This skill does NOT +duplicate those steps; it points to the promote skill for the actual +persistence/promotion. + +**Boundary:** you (the brainstorming agent) run the storm and decide maturity +and routing (what becomes a spec, what becomes tasks, how many reviews). The +promote skill executes the mappa write/promotion. + +## Common rationalizations (excuse → reality) + +| Excuse | Reality | +|---|---| +| "I'll just jot notes in a markdown file" | Buffer must be a mappa brainstorm entity; the file channel is closed. | +| "It feels done, let's write it up" | Maturity is the completion criterion, not a feeling. | +| "The spec can live in docs/ for now" | Spec goes to a mappa wiki concept; before wiki — run `mappa-knowledge`. | +| "I'll review my own tasks, then hand to the user" | Review is a separate non-implementer role; paired + umbrella. | +| "I'm the coding agent, I'll just implement it" | Ask who implements; in the boss zone the boss does not implement. | +| "I'll note the impact in the spec, no need to ping" | Notify every affected project with an `inbox_send` letter. | + +## Red flags (all = STOP and re-orient) + +- You created a `.brainstorm/` or `notes/*.md` file instead of a mappa entity. +- You are persisting because "it feels mature", not by the completion criterion. +- You are about to write the spec to a repo file rather than a mappa wiki concept. +- You are reviewing your own implementation (or the user reviewing it) instead + of a separate non-implementer reviewer. +- You assume you are the implementer for a boss-zone storm. +- You are skipping the `inbox_send` notification to affected projects. + +## Out of scope + +- Does NOT stress-test a finished plan (→ grilling). +- Does NOT give a single recommendation (→ recommend-dont-menu). +- Does NOT execute the mappa promotion mechanics (→ `mappa-brainstorm-promote`). +- Does NOT cover code-discipline / git / versions / push (→ `project-discipline` + / `mappa-vitya-project-discipline`). + +## Cross-agent applicability + +Behavior methodology with a mappa-media dependency. The mappa tool names are +concrete (this zone runs on mappa); the METHOD (capture in a durable record, +maturity by criterion, spec to the durable knowledge store, separate reviewer, +ask who implements, notify affected) transfers to any mappa-based zone. On a +non-mappa setup, substitute the corresponding knowledge channels. + +**`mappa-knowledge` is a mandatory precursor before any wiki work** (Rule 6): +it loads the project's AGENTS entity and the read/ingest contract. Never write +a wiki concept without running it first.