Skip to content

πŸ“‹ Full Skill Source β€” This is the complete, unedited SKILL.md file. Nothing is hidden or summarized.

← Back to Skills Library

Brainstorm Idea β€” Strategic Analysis Gate ​

Understand deeply. Evaluate multi-dimensionally. Propose qualified options. Then β€” and only then β€” plan. This skill is the BRIDGE between an existing product and its next evolution.

When to Use ​

ALWAYS when:

  • User requests complex changes to an existing product
  • Initiatives or enhancements that touch multiple system areas
  • User jumps straight into hard/complex tasks without analysis
  • Post cm-project-bootstrap β€” product exists, needs improvement
  • Feature requests that could be solved in fundamentally different ways
  • "NΓͺn lΓ m gΓ¬ tiαΊΏp?" / "CαΊ£i tiαΊΏn gΓ¬?" / "Enhancement" / "Initiative"

Skip when:

  • Simple bug fixes (use cm-debugging)
  • New project from scratch (use cm-project-bootstrap)
  • Task is already clearly defined and scoped (go to cm-planning)
  • Quick one-off changes (< 30 min work)

Gate Function ​

User requests complex task
  β†’ Is the problem clearly understood and qualified?
    β†’ NO β†’ Run cm-brainstorm-idea FIRST
    β†’ YES β†’ Go to cm-planning directly

When downstream skills detect an unqualified complex request, they should REDIRECT here:

cm-planning detects ambiguity β†’ "ChΖ°a rΓ΅ vαΊ₯n đề. ChαΊ‘y cm-brainstorm-idea trΖ°α»›c."
cm-execution gets vague plan  β†’ "Plan thiαΊΏu context. Quay lαΊ‘i cm-brainstorm-idea."

The Process ​

Phase 1: DISCOVER     (Diamond 1 β€” Diverge)   β†’ Scan wide, understand current state
Phase 2: DEFINE       (Diamond 1 β€” Converge)   β†’ Qualify the REAL problem
Phase 3: DEVELOP      (Diamond 2 β€” Diverge)    β†’ Generate 2-3 solution options
Phase 4: EVALUATE     (Diamond 2 β€” Converge)   β†’ Score, compare, recommend
Phase 4.5: UI PREVIEW (Visual Validation)       β†’ See it before you build it
Phase 5: HANDOFF      (Bridge to cm-planning)   β†’ Package for downstream skills

Phase 1: DISCOVER β€” Scan & Empathize ​

Goal: Understand the current state of the product from all angles.

1a. Codebase Scan ​

Read and map the existing system:

βœ… DO:
- Read AGENTS.md for project overview
- Scan project structure (list_dir)
- Read key config files (package.json, wrangler.toml, etc.)
- Identify tech stack, patterns, dependencies
- Check test coverage and existing quality

πŸ“‹ OUTPUT: Codebase Summary
- Tech stack: [...]
- Architecture pattern: [...]
- Key dependencies: [...]
- Test coverage: [high/medium/low/none]
- Code health signals: [...]
- Corpus size: [total source files] src / [total doc files] docs

πŸ” SIZE CHECK (auto β€” triggers cm-deep-search):
  IF docs/ > 50 files OR source > 200 files:
    β†’ Suggest: "Project nΓ y khΓ‘ lα»›n. Xem cm-deep-search để setup semantic search vα»›i qmd."
    β†’ Non-blocking: continue Phase 1 regardless of user response

1b. User Context Interview ​

Ask targeted questions to understand intent:

πŸ“‹ DISCOVERY QUESTIONS:
1. SαΊ£n phαΊ©m hiện tαΊ‘i phα»₯c vα»₯ ai? (Who are the users?)
2. Pain point lα»›n nhαΊ₯t Δ‘ang gαΊ·p lΓ  gΓ¬? (Biggest pain point?)
3. Mα»₯c tiΓͺu kinh doanh kαΊΏ tiαΊΏp? (Next business goal?)
4. Có constraint nào về tech/budget/timeline không? (Constraints?)
5. Đã thα»­ giαΊ£i phΓ‘p nΓ o rα»“i? (What's been tried?)

1c. Multi-Dimensional Current State ​

DimensionWhat to AssessSources
TechCode quality, scalability, tech debt, performanceCodebase scan, test results
ProductFeature completeness, user satisfaction, funnel gapsUser interview, analytics
DesignUX quality, accessibility, mobile readiness, design systemUI review, cm-ux-master
BusinessRevenue impact, market position, competitive landscapeUser interview, research

Phase 2: DEFINE β€” Qualify the Problem ​

Goal: Use 9 Windows to see the problem from all time Γ— system perspectives, then converge on the REAL problem.

9 Windows Analysis (TRIZ) ​

Map the situation across time and system levels:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 β”‚     PAST         β”‚    PRESENT       β”‚    FUTURE        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ SUPER-SYSTEM    β”‚ Market/industry  β”‚ Current market   β”‚ Where market     β”‚
β”‚ (ecosystem)     β”‚ was like this... β”‚ looks like...    β”‚ is heading...    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ SYSTEM          β”‚ Product used to  β”‚ Product now      β”‚ Product should   β”‚
β”‚ (the product)   β”‚ be like this...  β”‚ does this...     β”‚ become this...   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ SUB-SYSTEM      β”‚ Components were  β”‚ Components now   β”‚ Components need  β”‚
β”‚ (components)    β”‚ built this way...β”‚ work this way... β”‚ to evolve to...  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Fill all 9 windows based on Phase 1 findings. This reveals:

  • Evolution patterns (Past β†’ Present trends)
  • System-level tensions (Super-system demands vs Sub-system capabilities)
  • Future opportunities (where convergence creates value)

Problem Qualification Statement ​

After 9 Windows analysis, write a qualified problem statement:

markdown
## Qualified Problem

**For:** [user/customer segment]
**Who:** [current pain/need]
**The:** [product/feature] is a [category]
**That:** [key benefit/change needed]
**Unlike:** [current state / alternative]
**Our approach:** [high-level direction]

### Root Cause(s):
1. [Technical root cause]
2. [Product root cause]
3. [Design root cause]

### Impact if NOT addressed:
- [Business impact]
- [User impact]
- [Technical debt impact]

Phase 3: DEVELOP β€” Generate Options ​

Goal: Create 2-3 fundamentally different approaches. Not variations of one idea.

Design Thinking Ideation Rules ​

βœ… DO:
- Generate at LEAST 2, at MOST 3 options
- Each option must be FUNDAMENTALLY different in approach
- Think from different perspectives: user-first, tech-first, business-first
- Consider both quick-win and long-term approaches
- Include rough effort estimation for each

❌ DON'T:
- Propose only 1 option (no choice = bad analysis)
- Propose 4+ options (decision paralysis)
- Make all options "the same idea with different UIs"
- Skip effort estimation
- Ignore existing constraints from Phase 1

Option Template ​

For each option, document:

markdown
### Option [A/B/C]: [Descriptive Name]

**Approach:** [1-2 sentence summary]
**Philosophy:** [User-first / Tech-first / Business-first / Balanced]

**What changes:**
- [Component 1]: [change description]
- [Component 2]: [change description]

**Effort:** [S/M/L/XL] (~[time estimate])
**Risk level:** [Low/Medium/High]

**Pros:**
- [Pro 1]
- [Pro 2]

**Cons:**
- [Con 1]
- [Con 2]

**Best when:** [scenario where this option shines]

Phase 4: EVALUATE β€” Score & Recommend ​

Goal: Compare options objectively across 4 dimensions. Make a clear recommendation.

Multi-Dimensional Scoring Matrix ​

DimensionWeightOption AOption BOption C
Tech (feasibility, maintainability, scalability)25%?/10?/10?/10
Product (user value, feature completeness, PMF)30%?/10?/10?/10
Design (UX quality, accessibility, polish)20%?/10?/10?/10
Business (ROI, time-to-market, strategic fit)25%?/10?/10?/10
Weighted Total100%?/10?/10?/10

Adjust weights based on project context. A consumer app might weight Design higher. A B2B SaaS might weight Business higher.

Recommendation Format ​

markdown
## 🎯 Recommendation

**Chọn Option [X]: [Name]**

### Tẑi sao chọn Option X:
1. [Strongest reason β€” tied to qualified problem]
2. [Second reason β€” tied to constraint/context]
3. [Third reason β€” tied to future evolution]

### TαΊ‘i sao KHΓ”NG chọn cΓ‘c option khΓ‘c:
- **Option [Y]:** [specific deal-breaker]
- **Option [Z]:** [specific deal-breaker]

### Quick-win suggestion:
NαΊΏu muα»‘n thαΊ₯y kαΊΏt quαΊ£ nhanh, cΓ³ thể bαΊ―t Δ‘αΊ§u vα»›i [subset of Option X]
trΖ°α»›c khi triển khai toΓ n bα»™.

Phase 4.5: UI PREVIEW β€” See It Before You Build It ​

Goal: After recommending an option, offer the user a visual preview to validate the direction before investing in planning & coding.

When to Trigger ​

After Phase 4 recommendation is clear, ALWAYS ask:

markdown
🎨 **Muα»‘n xem trΖ°α»›c thiαΊΏt kαΊΏ khΓ΄ng?**

PhΖ°Ζ‘ng Γ‘n [X] Δ‘Γ£ được đề xuαΊ₯t. BαΊ‘n cΓ³ muα»‘n tαΊ‘o UI concept trΖ°α»›c khi lΓͺn kαΊΏ hoαΊ‘ch chi tiαΊΏt?

1. βœ… **CΓ³** β€” TαΊ‘o preview nhanh để hΓ¬nh dung rΓ΅ hΖ‘n
2. ⏭️ **KhΓ΄ng** β€” Đi thαΊ³ng vΓ o planning

Smart Tool Detection ​

Auto-detect which design tool is available and best suited:

Check available MCP tools:
  β†’ Stitch MCP available? (create_project, generate_screen_from_text)
  β†’ Pencil MCP available? (batch_design, get_editor_state)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              TOOL SELECTION MATRIX                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Stitch only  β”‚ Pencil only  β”‚ Both available                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Use Stitch   β”‚ Use Pencil   β”‚ Ask user preference:          β”‚
β”‚ (quick       β”‚ (detailed    β”‚ - "Nhanh" β†’ Stitch            β”‚
β”‚  concept)    β”‚  control)    β”‚ - "Kiểm soΓ‘t" β†’ Pencil        β”‚
β”‚              β”‚              β”‚ - Default: Stitch (faster)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Stitch path (fast concept generation):

  • Best for: Quick visual validation, non-technical stakeholders
  • Auto-creates project, generates screens from the recommended option
  • Uses cm-ui-preview Step 3 prompt enhancement pipeline

Pencil path (developer control):

  • Best for: Devs who want pixel-level control, design system alignment
  • Opens .pen editor, follows design guidelines for component layout
  • Can export to code-ready assets

Execution Flow ​

User says "CΓ³" (Yes to preview):
  1. Detect available tools (Stitch / Pencil / both)
  2. If both β†’ ask preference or auto-select based on context
  3. Delegate to cm-ui-preview with brainstorm context:
     - Pass: qualified problem, recommended option, design constraints
     - cm-ui-preview creates concept screens
  4. User reviews preview:
     β†’ βœ… Confirm β†’ Proceed to Phase 5 (Handoff) with visual reference
     β†’ ✏️ Edit β†’ Iterate on preview
     β†’ ❌ Change option β†’ Go back to Phase 4, pick different option

User says "KhΓ΄ng" (Skip preview):
  β†’ Proceed directly to Phase 5 (Handoff)

Context Passed to cm-ui-preview ​

markdown
## Brainstorm Context for UI Preview

**Initiative:** [Name from Phase 2]
**Recommended Option:** [Option X summary]
**Target Users:** [From Phase 1 discovery]
**Design Constraints:** [From codebase scan β€” existing design system, tokens, etc.]
**Key Screens Needed:** [List from recommended option's "What changes"]
**Device Type:** [DESKTOP / MOBILE β€” from project context]

Phase 5: HANDOFF β€” Package for Downstream ​

Goal: Create a clean handoff document that cm-planning can use immediately.

Handoff Output: brainstorm-output.md ​

Save to docs/brainstorm/ or project root:

markdown
# Brainstorm Output: [Initiative Name]
Generated by: cm-brainstorm-idea
Date: [date]

## Qualified Problem
[From Phase 2]

## 9 Windows Analysis
[Summary table from Phase 2]

## Options Evaluated
[Summary from Phase 3-4]

## Recommendation
[From Phase 4]

## Next Steps for cm-planning:
1. [Specific scope to plan]
2. [Key constraints to respect]
3. [Technical decisions already made]
4. [Open questions for implementation]

## Context for downstream skills:
- cm-planning: [what to focus the plan on]
- cm-tdd: [key areas that need test coverage]
- cm-ux-master: [design considerations]
- cm-execution: [suggested execution mode]

Red Flags β€” STOP ​

ThoughtReality
"The user knows what they want, skip analysis"Complex requests ALWAYS benefit from analysis
"Let me just start coding"Code without analysis = rework later
"One option is obviously right"If you can't articulate 2+ options, you haven't explored enough
"All options look the same"Dig deeper β€” change the lens (user-first vs tech-first)
"This will take too long"30-60 min analysis saves 3-5 days of rework
"The 9 Windows are overkill"They reveal blind spots you WILL miss otherwise

Integration ​

SkillRelationship
cm-project-bootstrapUPSTREAM: Product must exist before brainstorming improvements
cm-ui-previewUSED IN Phase 4.5: Visual preview with Stitch or Pencil (auto-detected)
cm-deep-searchTRIGGERED IN Phase 1a: Suggests qmd when project corpus exceeds thresholds
cm-planningDOWNSTREAM: Receives qualified output, writes implementation plan
cm-executionDOWNSTREAM: Executes the plan that originated from this analysis
cm-ux-masterUSED IN Phase 1 & 3: UX assessment and design ideation
cm-debuggingREDIRECT: Simple bugs don't need brainstorming
cro-methodologyCOMPLEMENT: CRO analysis for conversion-specific improvements
jobs-to-be-doneCOMPLEMENT: JTBD research for user-need discovery

Lifecycle Position ​

cm-project-bootstrap β†’ cm-brainstorm-idea β†’ [UI Preview?] β†’ cm-planning β†’ cm-execution
     (build)              (analyze)         (visualize)       (plan)        (implement)

The Bottom Line ​

Don't rush to solutions. Qualify the problem. Evaluate options. Recommend with evidence. Then β€” plan.

Open Source AI Agent Skills Framework