bmad-brainstorming: add Idea Selector toolbar (select/filter/export)#2558
Conversation
…to the HTML keepsake Every generated brainstorm.html now ships a self-initializing floating toolbar: tick ideas to mark them, filter down to just the selection with a live count, and export the picks as a markdown file. Idea-level elements just need a data-idea attribute; the widget (assets/idea- selector-widget.html) handles the rest with no external dependencies.
🤖 Augment PR SummarySummary: Adds an always-on “Idea Selector” UI to generated Changes:
Technical Notes: No external dependencies; selection state is in-memory per page load and export uses a Blob download. 🤖 Was this summary useful? React with 👍 or 👎 |
| * - Export Selected — downloads ticked ideas as a markdown file | ||
| * - Help button that opens an inline modal explaining the UI | ||
| */ | ||
| (function () { |
There was a problem hiding this comment.
src/core-skills/bmad-brainstorming/assets/idea-selector-widget.html:16 — This script initializes unconditionally; if it’s ever appended/executed twice, it will create duplicate toolbars/modals and register duplicate global listeners. Consider adding a simple initialization guard so repeated execution becomes a no-op.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
|
Superseded by #2559 — replaced the fixed floating-toolbar widget with selection controls built natively into each artifact's own visual theme, plus a real export-ideas.py script instead of client-side markdown generation. Sorry for the churn — this version is a clear improvement and better fits the skill's no-template philosophy. |
Why
Right now a brainstorm.html keepsake is great to read, but there's no way to act on it — reviewing a session with 50-100+ ideas means scrolling back and forth with nothing to mark your favorites with. This adds a small floating toolbar to every generated keepsake so that while someone's reviewing the brainstorm, they can tick the ideas they like, filter the page down to just their picks to sanity-check the shortlist, and export that shortlist as a markdown file to carry into whatever comes next (a PRD, a follow-up session, a team discussion).
What's in this PR
src/core-skills/bmad-brainstorming/assets/idea-selector-widget.html— a single self-contained<script>block, no external dependencies, self-initializing. Adds:selected-ideas.mdreferences/finalize.mdso building the HTML keepsake always: (1) tags each idea-level element with adata-ideaattribute as it's built, and (2) appends the widget verbatim before</body>— making this a permanent, always-on part of every keepsake rather than something dependent on a session's particular CSS class names..bv-ctrl(the widget's injected checkbox row) so ticking the box doesn't also trigger the card's own interaction.Test plan
new Function(...)over the extracted<script>block)selected-ideas.md, and clicking a checkbox on a flip card no longer also flips it