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).
meeting-to-spec-updateUpdate a product spec from a meeting transcript — extract decisions, open questions, spec changes, and flowchart updates. Use this skill when: - A meeting discussed changes to a product spec and you need to update the local .md + wiki page - The user shares a meeting URL or transcript ID and says "update the spec" - The user says "what needs to change in th…
Independent GitHub snapshot · Automated classification · Original documentation governs
name: meeting-to-spec-update description: | Update a product spec from a meeting transcript — extract decisions, open questions, spec changes, and flowchart updates. Use this skill when:
Update a product spec from a meeting transcript — decisions, open questions, spec text, flowcharts.
This skill focuses on spec content changes driven by meeting discussions. Pair it with a separate "process meeting" skill if you also need to capture action items and tracker tickets.
The user provides:
Multi-spec meetings: A single meeting may discuss changes to 2+ specs. If the transcript covers multiple features, identify ALL affected specs in Step 2 and run Steps 3-8 for each spec sequentially. Present a combined summary at the end. Ask the user which spec to start with if more than 3 are affected.
Always fetch BOTH the meeting summary AND the full transcript:
Never rely on summary alone. The summary may omit nuance, disagreements, or conditional agreements.
If not specified by the user:
epic-to-spec-map.yaml) and match meeting keywords to spec keywordsRead the full spec file to understand current state.
Multi-spec detection: While reading the transcript, if you encounter discussions about features NOT covered by the target spec, note the other spec(s) affected. After completing the primary spec, ask: "The meeting also discussed [feature X] which maps to [spec Y]. Want me to update that spec too?"
Go through the transcript systematically. For every point discussed, classify it as one of:
Criteria — ALL must be true:
For each confirmed decision, record:
.local/team/users.md)Criteria — ANY of these:
For each open question, record:
Criteria:
For each spec change, record:
CRITICAL RULE: Zero assumptions. Never proceed without user review.
Present these tables to the user:
Table 1: Confirmed Decisions
| # | Decision | Decided by | Confidence | Spec section |
Table 2: Open Questions
| # | Question | Clarification from | Context |
Table 3: Spec Changes
| # | Section | What changes | Source |
Table 4: Diff Preview (current → proposed)
For each spec change, show the user exactly what will change (CURRENT vs PROPOSED text blocks).
Table 5: Decision Conflict Check
Before writing decisions, check any existing decisions.md for contradictions:
| New decision | Existing decision | Conflict? |
If a conflict exists, the new decision must include **Supersedes:** D-NNN-XXX and the old decision's
status must be updated to Superseded by D-NNN-XXX.
Ask: "Please review. I'll only update the spec with items you confirm. Any corrections?"
After user confirms, make changes in this order:
# 9. Open Questions
| **ID** | **Question** | **Clarification needed from** | **Context** | **Raised on** | **Status** |
|---|---|---|---|---|---|
| OQ-001 | ... | ... | ... | DD-MM-YYYY | Open |
decisions.mdD-NNN-XXX format (NNN = spec folder number, XXX = sequential)epic-to-spec-map.yaml) to flip has_decisions_log: false → true
if this is the first decisions.md for the specAppend a new entry (newest-first) with:
<br/> between each numbered point in the change descriptionIf any confirmed decision changes expected behaviour, update the Acceptance Criteria section:
.mmd file and run
npx @mermaid-js/mermaid-cli -i <file>.mmd -o /tmp/test.png -s 2 -b white<spec-folder>/images/Check and update these index files if affected by the spec changes:
a) spec-decisions-index.md — if any confirmed decision adds, changes, or removes a business
rule, threshold, or decision: add/update entries with spec reference and section number.
b) glossary.yaml — if the meeting introduced new terminology, acronyms, or product concepts:
add new terms with definition, spec reference, and first-used date.
c) Any feature-matrix files — if the spec changes affect which variants/modules support the feature, update the feature's row accordingly.
If no updates are needed for any index file, state explicitly: "Checked [files] — no updates needed."
After spec changes are applied locally, add a comment on the linked ticket:
@name mention format (auto-resolved from the team directory)Every spec change can ripple into dependent specs. This step catches those ripples BEFORE the user asks.
How to do it:
depends_on and look for other
specs that have depends_on pointing to this spec.spec-decisions-index.md (or your equivalent) for keywords related to the changes made.| # | Affected spec | Section | What needs updating | Why |
Ask: "These specs may need updates based on today's changes. Want me to apply them?"
On confirmation:
change.md (with cross-reference to the source spec and meeting)If no cross-spec impact found: State explicitly: "No cross-spec impact found. Checked N specs."
This eval runs BEFORE presenting results. If issues are found, fix them silently and only present the fixed version.
| # | Criteria | Min | Weight | What to check |
|---|---|---|---|---|
| 1 | Source fidelity | 8 | 15% | For every change made, find the exact transcript line that justifies it. If none exists, remove the change. |
| 2 | Completeness | 8 | 15% | List every distinct topic discussed. Check each is captured as spec change, decision, open question, or "not relevant". |
| 3 | Zero assumptions | 9 | 15% | For every statement added as fact: (a) someone explicitly said it, (b) no one said "we need to check", (c) no conditional language. |
| 4 | Engineering actionability | 8 | 15% | Can a developer implement without asking a question? |
| 5 | QA testability | 8 | 10% | Can QA write a test case with clear expected behaviour? |
| 6 | Structure | 8 | 10% | Section numbers sequential, no duplicate headings, tables have headers, flowcharts render. |
| 7 | Edge cases | 7 | 10% | Offline scenarios, conflict resolution, missing data, boundary conditions captured. |
| 8 | Cross-references | 8 | 5% | All OQ-XXX and D-NNN-XXX references point to existing entries. Ticket/wiki links valid. |
| 9 | Formatting | 9 | 5% | DD-MM-YYYY dates, no em-dashes, hyperlinked ticket/wiki refs, no direct quotes in spec body, numbered lists. |
| 10 | @mentions everywhere | 9 | 5% | EVERY person name on the wiki uses the user-link macro — not plain text. |
For each criterion scoring below minimum:
Do NOT ask the user for permission to fix rubric failures. Fix them, then report what was fixed.
After all fixes are applied, show the rubric scores and any auto-fixes applied.
For each affected spec that was updated, run a mini-eval:
change.md updated (entry added with cross-reference to source spec)If any check fails, fix silently and report.
After user approves the local changes:
confluence-update script):
replace-section for changed sectionsadd-section for new sections (Open Questions, Decisions Log reference)add-table-row or replace-table-row for the versioning tablereplace-section HTML must NOT include the heading tag — the script keeps the original heading
and replaces only the content below it. Including the heading creates a duplicate.Auto-log this spec update to your daily work log:
Spec updated from meeting: "<Meeting Title>" (DD-MM-YYYY)
Decisions logged: X (D-NNN-001 to D-NNN-00X)
Open questions added: Y
Sections updated: §A, §B, §C
Flowcharts updated: F1, F3 (re-rendered + uploaded)
Cross-spec impact: N specs affected
Quality score: X.X/10
Auto-fixes applied: N
Files changed (primary spec):
- <spec-path>/spec.md
- <spec-path>/decisions.md (created/updated)
- <spec-path>/change.md
- <spec-path>/images/*.png (if flowcharts changed)
- epic-to-spec-map.yaml (has_decisions_log, last_reviewed)
Files changed (cross-spec impact):
- <affected-spec>/spec.md — §X updated
- <affected-spec>/change.md — entry added
Wiki:
- Page version: N → N+M
- URL: <page-url>
decisions.md uses meeting title + date only.<ol><li> for multi-item lists.<a href>.decisions.md and meeting notes.<br/> between numbered points.decisions.md, not the spec.decisions.md created/updated with meeting reference and rejected alternativeschange.md appended with section-by-section diff