[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FX2FPDTYW2PW6FEGK077AK":3,"skill-same:01M6FX2FPDTYW2PW6FEGK077AK":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6FX2FPDTYW2PW6FEGK077AK","brainstorm",null,"Evaluate the codebase and suggest ideas to explore with \u002Ffeature-interview","GeorgeQLe\u002Fagentic-skills","GeorgeQLe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F21134126?v=4","01M6D2JP418S0VGJGF8M93EC3H","George Le","01M6D2JPBAKYD82TA5FS6HKQ3D",1,"MIT","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fproduct-design\u002Fclaude\u002Fbrainstorm\u002Farchive\u002Fv0.5\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30],"prototype","planning","explore","page","interview","v0","alignment","focus","ideas","feature","dump","with","2026-11-10 10:12:30",false,"---\nname: brainstorm\ndescription: Evaluate the codebase and suggest ideas to explore with \u002Ffeature-interview\ntype: planning\nversion: v0.5\nrequired_conventions: [alignment-page, interrogation-page]\nargument-hint: \"[optional: focus area] [--dump]\"\ncontext_intake: scoped\nvisual_tier: prototype\n---\n\n# Brainstorm\n\nEvaluate the current codebase and generate actionable suggestions that the user can take into `\u002Ffeature-interview` for human\u002Fagent alignment, planning-destination triage, and follow-up specification or roadmap work.\n\nThis skill runs a three-stage flow by default: a **stage-zero HTML interrogation loop** elicits the ideation frame, then the agent generates the idea set, then an **always-on HTML alignment page** presents that idea set as a review\u002Fapproval hub with a copyable `\u002Ffeature-interview` handoff per idea. Writing the legacy `tasks\u002Fideas.md` dump is opt-in (`--dump` flag plus the alignment page's artifact-destination gate).\n\n## Follow-up Skill Availability Gate\n\nBefore listing any `\u002Ffeature-interview` prompts, verify that `feature-interview` is available through at least one of these signals:\n\n- `.agents\u002Fproject.json` has `enabled_skills.feature-interview`.\n- `.agents\u002Fproject.json` has an enabled pack that provides `feature-interview`; use `scripts\u002Fpack.sh which feature-interview` when available to identify the provider.\n- A local or global skill file exists, such as `.claude\u002Fskills\u002Ffeature-interview\u002FSKILL.md`, `.codex\u002Fskills\u002Ffeature-interview\u002FSKILL.md`, `~\u002F.claude\u002Fskills\u002Ffeature-interview\u002FSKILL.md`, or `~\u002F.codex\u002Fskills\u002Ffeature-interview\u002FSKILL.md`.\n\nIf `feature-interview` is unavailable, the first line of the displayed output and the first line appended for this run in `tasks\u002Fideas.md` must be:\n\n```bash\nnpx skillpacks install feature-interview\n```\n\nThen tell Claude users to run `\u002Freload-skills`, then `\u002Fclear` or restart if `\u002Ffeature-interview` remains invisible after install. Put this prerequisite before any brainstorm suggestion or `\u002Ffeature-interview \u003Ctopic>` prompt.\n\n## Process\n\n### 0. Product-Path Scope Resolution\n\nResolve research scope by product path before using code or app structure as a hint:\n\n1. If `$ARGUMENTS` names a non-archived `research\u002F{slug}\u002F` directory or a product-path ID whose `scope_path` points there, use that path. Treat `{slug}` as the product\u002Fapp name, not the ICP, audience, or segment label.\n2. If `$ARGUMENTS` names only `research\u002F_archive\u002F{slug}\u002F` or a manifest entry with `status: archived` or legacy `status: abandoned`, stop and warn that the path is archived; do not write or update scoped outputs there.\n3. Read `research\u002F.progress.yaml` when present. Normalize legacy `active_path` to `active_paths` on read and write back `active_paths` on manifest updates. Treat legacy `abandoned` as `archived`; exclude `archived`, `abandoned`, `deferred`, `revisit_candidate`, `promoted`, and any `scope_path` under `research\u002F_archive\u002F` from active target selection.\n4. If active product paths exist in the manifest, use those paths. If multiple active paths exist, ask which one to target unless this skill explicitly supports cross-path output.\n5. If no active manifest target exists, list non-archived product directories under `research\u002F`, excluding `research\u002F_archive\u002F` and dot directories. Auto-select only when exactly one exists; ask when multiple exist.\n6. If no product directories exist, use flat `research\u002F` single-product mode.\n7. Detect monorepo\u002Fapp\u002Fpackage structure only as a secondary hint. Suggest creating a missing `research\u002F{slug}\u002F` product path when code clearly exposes an app, but do not require code or monorepo detection before using `research\u002F{slug}\u002F`.\n\nWhen product path `{slug}` is active, read and write research under `research\u002F{slug}\u002F`, specs under `specs\u002F{slug}\u002F`, and treat top-level `research\u002F*.md` files as flat-mode documents or cross-path summaries.\n\n1. **Understand the project**: Read CLAUDE.md, README, package config, and key source files to understand what the project does, its architecture, tech stack, and current state.\n2. **Check existing plans and research**: Read `tasks\u002Froadmap.md`, `tasks\u002Ftodo.md`, `tasks\u002Fmanual-todo.md`, `tasks\u002Frecord-todo.md`, `tasks\u002Frecurring-todo.md` (when they exist), and specs from `specs\u002F` (or `spec.md`) if they exist to understand work already planned, in progress, or deferred as advisory records — avoid suggesting things already covered. Read `research\u002Fcompetitive-analysis.md` (or `research\u002F{slug}\u002Fcompetitive-analysis.md`) if it exists — competitor gaps, market white space, and positioning weaknesses are high-signal inputs for ideation. Read `research\u002Fcustomer-feedback.md` (or `research\u002F{slug}\u002Fcustomer-feedback.md`) if it exists — \"Wrong\" and \"New\" findings are highest-signal ideation input (real user feedback that contradicts assumptions or reveals unmet needs). Read `research\u002Fmetrics.md` (or `research\u002F{slug}\u002Fmetrics.md`) if it exists — instrumentation gaps can generate ideas for tooling or observability improvements.\n\n### 2. Stage-zero interrogation loop\n\nThis skill **cannot generate the idea set until the confidence gate passes.** Before brainstorming, elicit the ideation frame in HTML interrogation rounds (see `## Interrogation Page` \u002F `INTERROGATION-PAGE.md` in this skill's directory). Terminal questioning is the degraded fallback only when an HTML page cannot be opened.\n\n1. **Surface an Ideation Frame Manifest (interrogation round 1).** Present what you think the project is and how you intend to brainstorm it, as confirm\u002Fcorrect\u002Fflag controls in `interrogation\u002Fbrainstorm-r1-{branch}.html`, alongside the first genuinely open questions (each marked `data-open-input`) placed only where no assumption is derivable. Tag each assumption `[from prompt]`, `[from repo]`, `[from research]`, `[from codebase]`, or `[inferred]`. Cover:\n   - project identity and current state\n   - the ideation focus and which dimensions are in or out of scope (strategic\u002Fproduct, improvement, hygiene, market-fit)\n   - effort and risk appetite (quick wins vs. larger bets) and any horizon constraints\n   - areas explicitly off-limits and hard non-goals\n   - what counts as a high-value idea for this project (success criteria for the brainstorm)\n   - the target audience or product-path scope the ideas should serve\n   - the riskiest assumptions about where the real opportunity lies\n\n   Set `data-interrogation-round=\"1\"`, `data-interrogation-gate=\"continue\"`, and the answer sidecar `research\u002F_working\u002Finterrogation-brainstorm-r1.yaml` (or `research\u002F{slug}\u002F_working\u002Finterrogation-brainstorm-r1.yaml` in product-path mode), open the page, and stop for the compiled round YAML.\n2. **Adaptive follow-ups (rounds 2..N).** Seed each round from the prior round's compiled answers: drill into corrections, resolve contradictions, and cover any frame area still open. Do not re-ask what a prior round already settled.\n3. **Confidence gate \u002F coverage checkpoint.** When every frame area is covered or explicitly waived, set `data-interrogation-gate=\"coverage-checkpoint\"`, render the coverage checkpoint, and advance to idea generation. If the user flags a gap, raise the round number and continue the loop.\n\n### 3. Generate the idea set\n\nOnly after the confidence gate passes, analyse the codebase across these dimensions, scoped by the elicited ideation frame:\n\n   **Strategic \u002F Product**\n   - **New features**: Capabilities that would make the project significantly more useful or valuable to its users — think beyond what exists today\n   - **New workflows**: End-to-end flows or automation that the project could enable but doesn't yet\n   - **Product line expansion**: If the project's core could serve adjacent use cases, new audiences, or spin off complementary products — suggest them\n   - **Integration opportunities**: External tools, services, platforms, or APIs that would multiply the project's value\n\n   **Improvement**\n   - **Missing capabilities**: Features the project's architecture is set up for but doesn't yet offer\n   - **Pain points**: Rough edges, inconsistencies, or manual steps that could be automated\n   - **Performance opportunities**: Obvious bottlenecks or low-hanging optimisations\n   - **Developer experience**: Build times, debugging ergonomics, onboarding friction\n\n   **Hygiene**\n   - **Technical debt**: Areas where the code has outgrown its original design\n   - **Testing gaps**: Untested critical paths or missing test infrastructure\n   - **Security hardening**: Areas where security posture could be improved\n\n   **Market Fit** (only when `research\u002Ficp.md` (or `research\u002F{slug}\u002Ficp.md`), `research\u002Fmvp-gap.md` (or `research\u002F{slug}\u002Fmvp-gap.md`), or `research\u002Fcompetitive-analysis.md` (or `research\u002F{slug}\u002Fcompetitive-analysis.md`) exist)\n   - **ICP alignment**: Features that directly address ICP pain points but are missing or incomplete\n   - **Journey gaps**: Steps in the user or customer journey where the product loses them\n   - **Unaddressed MVP gaps**: Gaps from `research\u002Fmvp-gap.md` (or `research\u002F{slug}\u002Fmvp-gap.md`) not yet tracked in roadmap or todo\n   - **Competitive white space**: Features or capabilities that no competitor offers well — opportunities from `research\u002Fcompetitive-analysis.md` (or `research\u002F{slug}\u002Fcompetitive-analysis.md`) market gaps\n   - **Competitor leapfrog**: Specific competitor weaknesses you could exploit, or table-stakes features competitors have that you lack\n   - **Positioning plays**: Ideas that would sharpen differentiation against the competitive landscape\nA focus area in `$ARGUMENTS` (anything other than the `--dump` flag and a product-path slug) narrows the dimensions to that area; otherwise cover all dimensions. The elicited frame from step 2 always takes precedence over the raw argument.\n\n### 4. Build the alignment page\n\nAfter the idea set is generated, present it in the **always-on** alignment page (step described under `## Alignment Page`). The page is the durable hub; do not treat a chat dump as the primary surface.\n\n## Output\n\nThe **alignment page** (`alignment\u002Fbrainstorm-{topic}.html`) is the primary, durable artifact — the idea set, its motivating evidence, the review gates, and the per-idea `\u002Ffeature-interview` handoffs all live there. Keep it open after confirmation as a working hub: copy each idea's `\u002Ffeature-interview \u003Ctopic>` prompt and its additional context into `\u002Ffeature-interview` one at a time.\n\nWriting the legacy `tasks\u002Fideas.md` dump is **opt-in**, controlled in two layers that must agree before the file is written:\n- **Flag:** `--dump` in `$ARGUMENTS` pre-sets the intent to also append the approved ideas to `tasks\u002Fideas.md`.\n- **Gate:** the alignment page's artifact-destination gate confirms the `tasks\u002Fideas.md` write at approval time. Default is no dump.\n\nOnly when `--dump` is set and the destination gate approves it (or the user selects the dump option at that gate) append the approved idea set to `tasks\u002Fideas.md` during the confirmed-page write step — do not overwrite existing content. When product-path scope is active, prefix each suggestion with the app name.\n\nEach idea — rendered on the page and in any dump — is grouped by effort level (hours \u002F days \u002F weeks) and includes:\n- A specific, actionable title\n- A one-line description with the concrete codebase signal (file, pattern, or metric) that motivates it\n- The `\u002Ffeature-interview \u003Ctopic>` prompt plus the additional context to paste alongside it\n\n## Constraints\n- Each suggestion must be specific and actionable — not vague aspirations like \"improve testing.\"\n- Include the concrete signal from the codebase that motivates each suggestion (file, pattern, or metric).\n- Provide the `\u002Ffeature-interview \u003Ctopic>` prompt the user can copy-paste to kick off planning.\n- Limit to 3–5 suggestions per effort level to avoid overwhelming the user.\n- Do not suggest changes that conflict with patterns established in CLAUDE.md.\n- Do not repeat work already tracked in `tasks\u002Froadmap.md`, `tasks\u002Ftodo.md`, `tasks\u002Fmanual-todo.md`, `tasks\u002Frecord-todo.md`, `tasks\u002Frecurring-todo.md`, or `specs\u002F` (or `specs\u002F{slug}\u002F`).\n\n## Interrogation Page\n\nBefore producing research, run the stage-zero interrogation loop following `INTERROGATION-PAGE.md` in this skill's directory. Build one HTML page per round at `interrogation\u002Fbrainstorm-r{N}-{branch}.html`, starting with the assumptions manifest as round 1, and loop until the confidence gate passes. This skill **cannot advance to stage one** (the framework\u002Fscope alignment page) **until** the confidence gate passes with at least one completed interrogation round and every interview area covered or waived. Each round page must contain at least one genuinely open input (`data-open-input`).\n\n## Alignment Page\n\nBy default, this skill reports results inline and writes only its normal durable artifacts (for example `tasks\u002F*.md`, reports, queues, benchmark notes, status docs, or other skill-specific files). Do not build an alignment page automatically. Create `alignment\u002Fbrainstorm-{topic}.html` only when the user explicitly requests an alignment page or when you explicitly identify a concrete clarification\u002Freview need that cannot be handled cleanly inline; when you create one, follow `ALIGNMENT-PAGE.md` in this skill's directory.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n","# Brainstorm\n\nEvaluate the current codebase and generate actionable suggestions that the user can take into `\u002Ffeature-interview` for human\u002Fagent alignment, planning-destination triage, and follow-up specification or roadmap work.\n\nThis skill runs a three-stage flow by default: a **stage-zero HTML interrogation loop** elicits the ideation frame, then the agent generates the idea set, then an **always-on HTML alignment page** presents that idea set as a review\u002Fapproval hub with a copyable `\u002Ffeature-interview` handoff per idea. Writing the legacy `tasks\u002Fideas.md` dump is opt-in (`--dump` flag plus the alignment page's artifact-destination gate).\n\n## Follow-up Skill Availability Gate\n\nBefore listing any `\u002Ffeature-interview` prompts, verify that `feature-interview` is available through at least one of these signals:\n\n- `.agents\u002Fproject.json` has `enabled_skills.feature-interview`.\n- `.agents\u002Fproject.json` has an enabled pack that provides `feature-interview`; use `scripts\u002Fpack.sh which feature-interview` when available to identify the provider.\n- A local or global skill file exists, such as `.claude\u002Fskills\u002Ffeature-interview\u002FSKILL.md`, `.codex\u002Fskills\u002Ffeature-interview\u002FSKILL.md`, `~\u002F.claude\u002Fskills\u002Ffeature-interview\u002FSKILL.md`, or `~\u002F.codex\u002Fskills\u002Ffeature-interview\u002FSKILL.md`.\n\nIf `feature-interview` is unavailable, the first line of the displayed output and the first line appended for this run in `tasks\u002Fideas.md` must be:\n\n```bash\nnpx skillpacks install feature-interview\n```\n\nThen tell Claude users to run `\u002Freload-skills`, then `\u002Fclear` or restart if `\u002Ffeature-interview` remains invisible after install. Put this prerequisite before any brainstorm suggestion or `\u002Ffeature-interview \u003Ctopic>` prompt.\n\n## Process\n\n### 0. Product-Path Scope Resolution\n\nResolve research scope by product path before using code or app structure as a hint:\n\n1. If `$ARGUMENTS` names a non-archived `research\u002F{slug}\u002F` directory or a product-path ID whose `scope_path` points there, use that path. Treat `{slug}` as the product\u002Fapp name, not the ICP, audience, or segment label.\n2. If `$ARGUMENTS` names only `research\u002F_archive\u002F{slug}\u002F` or a manifest entry with `status: archived` or legacy `status: abandoned`, stop and warn that the path is archived; do not write or update scoped outputs there.\n3. Read `research\u002F.progress.yaml` when present. Normalize legacy `active_path` to `active_paths` on read and write back `active_paths` on manifest updates. Treat legacy `abandoned` as `archived`; exclude `archived`, `abandoned`, `deferred`, `revisit_candidate`, `promoted`, and any `scope_path` under `research\u002F_archive\u002F` from active target selection.\n4. If active product paths exist in the manifest, use those paths. If multiple active paths exist, ask which one to target unless this skill explicitly supports cross-path output.\n5. If no active manifest target exists, list non-archived product directories under `research\u002F`, excluding `research\u002F_archive\u002F` and dot directories. Auto-select only when exactly one exists; ask when multiple exist.\n6. If no product directories exist, use flat `research\u002F` single-product mode.\n7. Detect monorepo\u002Fapp\u002Fpackage structure only as a secondary hint. Suggest creating a missing `research\u002F{slug}\u002F` product path when code clearly exposes an app, but do not require code or monorepo detection before using `research\u002F{slug}\u002F`.\n\nWhen product path `{slug}` is active, read and write research under `research\u002F{slug}\u002F`, specs under `specs\u002F{slug}\u002F`, and treat top-level `research\u002F*.md` files as flat-mode documents or cross-path summaries.\n\n1. **Understand the project**: Read CLAUDE.md, README, package config, and key source files to understand what the project does, its architecture, tech stack, and current state.\n2. **Check existing plans and research**: Read `tasks\u002Froadmap.md`, `tasks\u002Ftodo.md`, `tasks\u002Fmanual-todo.md`, `tasks\u002Frecord-todo.md`, `tasks\u002Frecurring-todo.md` (when they exist), and specs from `specs\u002F` (or `spec.md`) if they exist to understand work already planned, in progress, or deferred as advisory records — avoid suggesting things already covered. Read `research\u002Fcompetitive-analysis.md` (or `research\u002F{slug}\u002Fcompetitive-analysis.md`) if it exists — competitor gaps, market white space, and positioning weaknesses are high-signal inputs for ideation. Read `research\u002Fcustomer-feedback.md` (or `research\u002F{slug}\u002Fcustomer-feedback.md`) if it exists — \"Wrong\" and \"New\" findings are highest-signal ideation input (real user feedback that contradicts assumptions or reveals unmet needs). Read `research\u002Fmetrics.md` (or `research\u002F{slug}\u002Fmetrics.md`) if it exists — instrumentation gaps can generate ideas for tooling or observability improvements.\n\n### 2. Stage-zero interrogation loop\n\nThis skill **cannot generate the idea set until the confidence gate passes.** Before brainstorming, elicit the ideation frame in HTML interrogation rounds (see `## Interrogation Page` \u002F `INTERROGATION-PAGE.md` in this skill's directory). Terminal questioning is the degraded fallback only when an HTML page cannot be opened.\n\n1. **Surface an Ideation Frame Manifest (interrogation round 1).** Present what you think the project is and how you intend to brainstorm it, as confirm\u002Fcorrect\u002Fflag controls in `interrogation\u002Fbrainstorm-r1-{branch}.html`, alongside the first genuinely open questions (each marked `data-open-input`) placed only where no assumption is derivable. Tag each assumption `[from prompt]`, `[from repo]`, `[from research]`, `[from codebase]`, or `[inferred]`. Cover:\n   - project identity and current state\n   - the ideation focus and which dimensions are in or out of scope (strategic\u002Fproduct, improvement, hygiene, market-fit)\n   - effort and risk appetite (quick wins vs. larger bets) and any horizon constraints\n   - areas explicitly off-limits and hard non-goals\n   - what counts as a high-value idea for this project (success criteria for the brainstorm)\n   - the target audience or product-path scope the ideas should serve\n   - the riskiest assumptions about where the real opportunity lies\n\n   Set `data-interrogation-round=\"1\"`, `data-interrogation-gate=\"continue\"`, and the answer sidecar `research\u002F_working\u002Finterrogation-brainstorm-r1.yaml` (or `research\u002F{slug}\u002F_working\u002Finterrogation-brainstorm-r1.yaml` in product-path mode), open the page, and stop for the compiled round YAML.\n2. **Adaptive follow-ups (rounds 2..N).** Seed each round from the prior round's compiled answers: drill into corrections, resolve contradictions, and cover any frame area still open. Do not re-ask what a prior round already settled.\n3. **Confidence gate \u002F coverage checkpoint.** When every frame area is covered or explicitly waived, set `data-interrogation-gate=\"coverage-checkpoint\"`, render the coverage checkpoint, and advance to idea generation. If the user flags a gap, raise the round number and continue the loop.\n\n### 3. Generate the idea set\n\nOnly after the confidence gate passes, analyse the codebase across these dimensions, scoped by the elicited ideation frame:\n\n   **Strategic \u002F Product**\n   - **New features**: Capabilities that would make the project significantly more useful or valuable to its users — think beyond what exists today\n   - **New workflows**: End-to-end flows or automation that the project could enable but doesn't yet\n   - **Product line expansion**: If the project's core could serve adjacent use cases, new audiences, or spin off complementary products — suggest them\n   - **Integration opportunities**: External tools, services, platforms, or APIs that would multiply the project's value\n\n   **Improvement**\n   - **Missing capabilities**: Features the project's architecture is set up for but doesn't yet offer\n   - **Pain points**: Rough edges, inconsistencies, or manual steps that could be automated\n   - **Performance opportunities**: Obvious bottlenecks or low-hanging optimisations\n   - **Developer experience**: Build times, debugging ergonomics, onboarding friction\n\n   **Hygiene**\n   - **Technical debt**: Areas where the code has outgrown its original design\n   - **Testing gaps**: Untested critical paths or missing test infrastructure\n   - **Security hardening**: Areas where security posture could be improved\n\n   **Market Fit** (only when `research\u002Ficp.md` (or `research\u002F{slug}\u002Ficp.md`), `research\u002Fmvp-gap.md` (or `research\u002F{slug}\u002Fmvp-gap.md`), or `research\u002Fcompetitive-analysis.md` (or `research\u002F{slug}\u002Fcompetitive-analysis.md`) exist)\n   - **ICP alignment**: Features that directly address ICP pain points but are missing or incomplete\n   - **Journey gaps**: Steps in the user or customer journey where the product loses them\n   - **Unaddressed MVP gaps**: Gaps from `research\u002Fmvp-gap.md` (or `research\u002F{slug}\u002Fmvp-gap.md`) not yet tracked in roadmap or todo\n   - **Competitive white space**: Features or capabilities that no competitor offers well — opportunities from `research\u002Fcompetitive-analysis.md` (or `research\u002F{slug}\u002Fcompetitive-analysis.md`) market gaps\n   - **Competitor leapfrog**: Specific competitor weaknesses you could exploit, or table-stakes features competitors have that you lack\n   - **Positioning plays**: Ideas that would sharpen differentiation against the competitive landscape\nA focus area in `$ARGUMENTS` (anything other than the `--dump` flag and a product-path slug) narrows the dimensions to that area; otherwise cover all dimensions. The elicited frame from step 2 always takes precedence over the raw argument.\n\n### 4. Build the alignment page\n\nAfter the idea set is generated, present it in the **always-on** alignment page (step described under `## Alignment Page`). The page is the durable hub; do not treat a chat dump as the primary surface.\n\n## Output\n\nThe **alignment page** (`alignment\u002Fbrainstorm-{topic}.html`) is the primary, durable artifact — the idea set, its motivating evidence, the review gates, and the per-idea `\u002Ffeature-interview` handoffs all live there. Keep it open after confirmation as a working hub: copy each idea's `\u002Ffeature-interview \u003Ctopic>` prompt and its additional context into `\u002Ffeature-interview` one at a time.\n\nWriting the legacy `tasks\u002Fideas.md` dump is **opt-in**, controlled in two layers that must agree before the file is written:\n- **Flag:** `--dump` in `$ARGUMENTS` pre-sets the intent to also append the approved ideas to `tasks\u002Fideas.md`.\n- **Gate:** the alignment page's artifact-destination gate confirms the `tasks\u002Fideas.md` write at approval time. Default is no dump.\n\nOnly when `--dump` is set and the destination gate approves it (or the user selects the dump option at that gate) append the approved idea set to `tasks\u002Fideas.md` during the confirmed-page write step — do not overwrite existing content. When product-path scope is active, prefix each suggestion with the app name.\n\nEach idea — rendered on the page and in any dump — is grouped by effort level (hours \u002F days \u002F weeks) and includes:\n- A specific, actionable title\n- A one-line description with the concrete codebase signal (file, pattern, or metric) that motivates it\n- The `\u002Ffeature-interview \u003Ctopic>` prompt plus the additional context to paste alongside it\n\n## Constraints\n- Each suggestion must be specific and actionable — not vague aspirations like \"improve testing.\"\n- Include the concrete signal from the codebase that motivates each suggestion (file, pattern, or metric).\n- Provide the `\u002Ffeature-interview \u003Ctopic>` prompt the user can copy-paste to kick off planning.\n- Limit to 3–5 suggestions per effort level to avoid overwhelming the user.\n- Do not suggest changes that conflict with patterns established in CLAUDE.md.\n- Do not repeat work already tracked in `tasks\u002Froadmap.md`, `tasks\u002Ftodo.md`, `tasks\u002Fmanual-todo.md`, `tasks\u002Frecord-todo.md`, `tasks\u002Frecurring-todo.md`, or `specs\u002F` (or `specs\u002F{slug}\u002F`).\n\n## Interrogation Page\n\nBefore producing research, run the stage-zero interrogation loop following `INTERROGATION-PAGE.md` in this skill's directory. Build one HTML page per round at `interrogation\u002Fbrainstorm-r{N}-{branch}.html`, starting with the assumptions manifest as round 1, and loop until the confidence gate passes. This skill **cannot advance to stage one** (the framework\u002Fscope alignment page) **until** the confidence gate passes with at least one completed interrogation round and every interview area covered or waived. Each round page must contain at least one genuinely open input (`data-open-input`).\n\n## Alignment Page\n\nBy default, this skill reports results inline and writes only its normal durable artifacts (for example `tasks\u002F*.md`, reports, queues, benchmark notes, status docs, or other skill-specific files). Do not build an alignment page automatically. Create `alignment\u002Fbrainstorm-{topic}.html` only when the user explicitly requests an alignment page or when you explicitly identify a concrete clarification\u002Freview need that cannot be handled cleanly inline; when you create one, follow `ALIGNMENT-PAGE.md` in this skill's directory.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n",{"name":5,"type":20,"version":36,"description":7,"visual_tier":19,"argument-hint":37,"context_intake":38,"required_conventions":39},"v0.5","[optional: focus area] [--dump]","scoped",[40,41],"alignment-page","interrogation-page","master","96e2912af886dd1606b1b97df707715aef062b02","packs\u002Fproduct-design\u002Fclaude\u002Fbrainstorm\u002Farchive\u002Fv0.5",0,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills","https:\u002F\u002Fagentic-skills-blush.vercel.app","https:\u002F\u002Fgithub.com\u002FGeorgeQLe","georgeqle.com","George Le is a futurist and serial tech entrepreneur who wants to work toward a world where humanity is free from robotic tasks.","2026-11-10 04:07:24",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add GeorgeQLe\u002Fagentic-skills --skill brainstorm",{"tool":58,"command":59},"bunx","bunx skills add GeorgeQLe\u002Fagentic-skills --skill brainstorm",{"tool":61,"command":62},"pnpm","pnpm dlx skills add GeorgeQLe\u002Fagentic-skills --skill brainstorm","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fproduct-design\u002Fclaude\u002Fbrainstorm\u002Farchive\u002Fv0.5\u002FSKILL.md",true,[],[67,79,89,101,116,127],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":31},"01M6G0NJES15RJKZE6YZ0TSYGF","source-checkout-allowed","Valid source-checkout-only fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fsource-checkout-allowed\u002FSKILL.md",[],[74,75,76,77,24,78],"source checkout allowed","checkout","fixture","only","valid",{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":31},"01M6G0NFZ3R1MNB1E3DVTM0WB7","deck-install-valid","Valid deck install fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fdeck-install\u002FSKILL.md",[],[86,87,88,78,76,24],"deck install valid","deck","install",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":31},"01M6G0ND3QZQC4MDZ9NVB97PT2","codex-pack-guard-valid","Valid Codex Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-pack-guard\u002FSKILL.md",[],[96,97,98,78,99,100,76,24],"codex pack guard valid","pack","guard","codex","availability",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":112,"publishedAt":31},"01M6G0NA9YB3NKGZKD3S96JMNB","codex-missing-skill-valid","Valid Codex missing skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-missing-skill-fallback\u002FSKILL.md",[107],{"categoryNo":108,"categoryName":109,"taxonomyType":110,"taxonomyTypeDesc":111},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[113,114,78,99,24,115,76],"codex missing skill valid","missing","fallback",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":123,"publishedAt":31},"01M6G0N7PC0EKFD40ZWQAXSAQ9","codex-base-skill-fallback-valid","Valid Codex base skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-base-skill-fallback\u002FSKILL.md",[122],{"categoryNo":108,"categoryName":109,"taxonomyType":110,"taxonomyTypeDesc":111},[78,99,115,124,125,126,24,76],"base skill","codex base skill fallback valid","base",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":31},"01M6G0N4VRR2YKZQ6N3Y6S2BQA","claude-pack-guard-valid","Valid Claude Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fclaude-pack-guard\u002FSKILL.md",[],[78,98,97,134,100,24,76],"claude pack guard valid"]