mit einem Klick
Brainstorm session to collect ideas and decisions for the project
npx skills add https://github.com/0-CODE/viepilot --skill vp-brainstormKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um den Skill zu installieren
Brainstorm session to collect ideas and decisions for the project
npx skills add https://github.com/0-CODE/viepilot --skill vp-brainstormKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um den Skill zu installieren
| name | vp-brainstorm |
| description | Brainstorm session to collect ideas and decisions for the project |
| version | 1.1.0 |
Output this banner as the first thing on every invocation — before questions, work, or any other output:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VIEPILOT ► VP-BRAINSTORM v1.1.0 (fw 2.19.0)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Version Update Check (ENH-072)
After displaying the greeting banner, run:
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" check-update --silent
If exit code = 1 (update available — new version printed to stdout): Display notice banner before any other output:
┌──────────────────────────────────────────────────────────────────┐
│ ✨ ViePilot {latest_version} available (installed: {current}) │
│ npm i -g viepilot && vp-tools install --target {adapter_id} │
└──────────────────────────────────────────────────────────────────┘
Replace {latest_version} with stdout from the command, {current} with the installed
version, {adapter_id} with the active adapter (claude-code / cursor / antigravity / codex / copilot).
If exit code = 0 or command unavailable: silent, continue.
Suppression rules:
--no-update-check flag on skill invocation → skip this step entirelyconfig.json → update.check: false → skip this step entirelyupdate_check_done session guard)
</version_check>
<persona_context>At skill start, run:
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" persona auto-switch
node "$HOME/.claude/viepilot/bin/vp-tools.cjs" persona context
Inject the output as ## User Persona context before any task execution.
Silent if command unavailable or errors.
</persona_context>
Prompt user conversationally with numbered list options.
Use Claude Code tools: Bash (shell), Read (file), Edit + Write (file write/patch),
Grep (search), Glob (file patterns), LS, WebSearch, WebFetch,
Agent (spawn subagent — multi-level nesting supported)
Interactive: AskUserQuestion (deferred — preload via ToolSearch before first call)
No slash sub-commands. All session actions are triggered proactively by the AI via
AskUserQuestion at the right moment — no user typing required.
| Action | Trigger condition | AUQ prompt |
|---|---|---|
| Save + crystallize handoff | User signals done: "save", "done", "xong", "lưu", "finished", "ready", "crystallize", or equivalent intent | "Save session and prepare for /vp-crystallize?" |
| UX walkthrough | In UI session AND user mentions "research", "test", "UX", "walkthrough" — OR ≥1 UI signals accumulated | "Run UX walkthrough (3-phase simulate + research + update HTML)?" |
| Architecture review | User asks "review decisions", "check arch", "summarize choices", or equivalent intent | "Generate architecture review summary table?" |
| Sync UI → Arch | After arch update when UI workspace also active | "Sync architecture changes to UI Direction workspace?" |
Why: In Claude Code terminal, any /command is intercepted by the shell as a skill invocation. Using proactive AUQ triggers works identically on ALL adapters — no adapter-specific typing rules needed.
Use Cursor tools: run_terminal_cmd (shell), read_file (read), edit_file (write/edit),
grep_search (search), web_search, codebase_search, list_dir, file_search
Interactive: text list fallback (AskQuestion available in Plan Mode only; Agent Mode = text)
Subagent: /multitask (user command, single-level only — not a callable tool)
MCP limit: 40 tools
Use Antigravity tools: shell (cmd), file_read, file_write, MCP plugins
Interactive: text fallback (TUI-based; no formal AskUserQuestion)
Skill path: .agents/skills/<skill>/SKILL.md (project) or ~/.gemini/antigravity/skills/ (global)
Note: Gemini CLI deprecated June 18, 2026 — use Antigravity CLI.
Use Codex tools: container.exec (sandboxed shell), apply_patch (file write), web_search
Interactive: text fallback (TUI Tab/Enter injection)
Config: ~/.codex/config.toml
Use Copilot tools: runCommands (shell), read/readfile (read), edit/editFiles (write),
code_search, find_references
Interactive: askQuestions (main agent only — NOT available in subagents; VS Code issue #293745)
Skill path: .github/agents/<name>.agent.md
<scope_policy>
vp-* skills in ViePilot workflows.non vp-*) are out of framework scope unless user explicitly opts in.vp-* skill.
</scope_policy><implementation_routing_guard>
docs/brainstorm/*, .viepilot/ui-direction/*). Does not implement on behalf of /vp-auto for lib/, tests/, or framework workflows//skills/ changes — after brainstorm use /vp-crystallize / /vp-evolve → /vp-auto depending on the stage. Explicit override — state it in chat.
</implementation_routing_guard>Supports:
.viepilot/ui-direction/{session-id}/ — supports multi-page (pages/{slug}.html + hub index.html) and the ## Pages inventory hook in notes.md when pages/ exists (FEAT-007)## Phases section.Completed / /end, if .viepilot/META.md (viepilot_profile_id) is missing — run sequential Q&A with proposals; read/write ~/.viepilot/profile-map.md; create ~/.viepilot/profiles/<slug>.md + binding per docs/dev/global-profiles.md. If a profile is already bound — skip intake by default (ask if change needed).--ui mode, proactively offered via AUQ when user mentions "research", "test UX", "walkthrough" — or when ≥1 UI signals accumulated. Runs 3 phases: simulates end-user (with content stress pass + stress recipes by archetype → Stress findings) → UX designer + web research → update index.html / pages/*.html / style.css and write ## UX walkthrough log in notes.md (sync hub + Pages inventory for multi-page).--ui flag required). Auto-suggests itself (ENH-060): if the initial message contains ≥1 UI keyword, shows a proactive 🎨 banner immediately — mirrors Architect Design Mode's 🏗️ proactive activation. Accumulation starts at ≥1 signal (was ≥3); surfaces for confirmation when topic ends, user signals done, or ≥2 unique signals accumulated (was ≥5) — does not interrupt the main conversation.## Coverage matrix in notes.md) → Architect Design → arch_to_ui_sync reverse sync (surfaces UI implications of architectural decisions; proactively offered via AUQ after arch updates) → UI Direction → completeness gate (CHECK 4: warns if any Phase 1 feature has no coverage in either mode, non-blocking). See Recommended Breakdown Ordering section in workflows/brainstorm.md.admin.html added to Architect workspace when applicable; notes.md ## admin YAML exported via crystallize.content.html added to Architect workspace; notes.md ## content YAML exported via crystallize.entity-mgmt.html added to Architect workspace; notes.md ## entity_mgmt YAML exported via crystallize.user-data.html added to Architect workspace; notes.md ## user_data YAML exported via crystallize./vp-brainstorm --architect or auto-activate when ≥3 components/services detected; generate HTML workspace (architecture, data-flow, decisions, tech-stack, tech-notes, feature-map) with Mermaid diagrams; incremental update per decision; architecture review offered via AUQ when user asks to review decisions; machine-readable notes.md YAML schema.erd.html — Mermaid erDiagram, entity list table, relationship summary; triggered by DB/entity/table/relationship keywords; notes.md ## erd YAML section exported to ARCHITECTURE.md ## Database Schema via crystallize Step 1D.user-use-cases.html — actor/use-case diagram (Mermaid flowchart), use case table; triggered by user/role/actor/story keywords; notes.md ## use_cases YAML section exported to PROJECT-CONTEXT.md ## User Stories & Use Cases via crystallize Step 1D.sequence-diagram.html (per-scenario sequenceDiagram), deployment.html (infra graph + environments + CI/CD pipeline), apis.html (endpoint tables with HTTP method badges); page boundary rules table; trigger keywords for sequence/deploy/API; notes.md ## apis YAML section; deployment+APIs exported to ARCHITECTURE.md via crystallize Step 1D (sequence excluded — scenario docs are not architecture artifacts).--domain embedded flag. Adds 6 Architect workspace pages for embedded hardware artifacts, injects domain-specific topic probes, suppresses web-UI false-positives for hardware display keywords, and offers a firmware phase ordering template. crystallize exports 8 YAML sections to ARCHITECTURE.md hardware sections.Creates/Updates:
docs/brainstorm/session-{YYYY-MM-DD}.mdAfter: Ready for /vp-crystallize
Language configuration (ENH-032):
~/.viepilot/config.json → BRAINSTORM_LANG = language.document (default: en).BRAINSTORM_LANG is used for brainstorm file storage and generated content.vp-tools config set language.document viWorkflow version stamps (ENH-067):
workflow_version (current ViePilot semver) at create/save time.upgrade_supplement_version stamped after gap-detection supplement completes (idempotency guard).Upgrade gap detection (ENH-067):
--continue, compares session workflow_version vs. current Topics Template to detect missing topics.## Upgrade supplement (vX → vY) section; upgrade_supplement_version stamped for idempotency./vp-crystallize --upgrade to patch project artifacts.
<execution_context> @$HOME/{envToolDir}/workflows/brainstorm.md </execution_context>
Optional flags: - `--new` : Force create a new session - `--continue` : Continue the most recent session - `--list` : List all sessions - `--landing` : Prioritize the Landing Page layout discovery flow - `--research` : Enable proactive research suggestions during the session - `--ui` : Enable UI Direction mode (live HTML/CSS direction artifacts + auto-generates `design.md` when design keywords present — ENH-076) - `--domain embedded` : Force-activate Embedded Domain Mode (hardware topology, RTOS, pin map, memory layout, protocol matrix, power budget pages + topic probes) - `--no-stakeholders` : Skip stakeholder agent generation at session endWhen user provides a URL during brainstorm (competitor app, documentation, reference product):
op: browse_url using vercel-labs/agent-browser## Reference Research section in session outputExamples:
/vp-brainstorm I want to build a task manager. Reference: https://linear.app
/vp-brainstorm --new Compare these two tools: https://notion.so https://coda.io
Multiple URLs: dispatches compare_products op → side-by-side comparison table.
Activation: Automatically when ≥2 embedded keywords detected, or via --domain embedded flag. One-time 🔌 Embedded Domain Mode activated banner shown.
Topic probes injected when embedded_domain: true:
6 new Architect workspace pages (in .viepilot/architect/{session-id}/):
| Page | Trigger | Content |
|---|---|---|
hw-topology.html | Always in embedded domain | MCU block diagram (Mermaid graph TD) + component/bus/power-rail tables |
pin-map.html | GPIO/pin/pinout keywords | Pin assignment table (Pin# / GPIO / Function / Peripheral / Direction / Pull / Voltage) |
memory-layout.html | Flash/RAM/linker/bootloader/OTA keywords | Flash + RAM regions tables + linker constraint notes |
protocol-matrix.html | CAN/I2C/SPI/BLE/LoRa/MQTT/Modbus keywords | Bus protocol + wireless connectivity tables (distinct from apis.html HTTP REST) |
rtos-scheduler.html | RTOS/FreeRTOS/task/ISR/scheduler keywords | Task priority table + ISR table + state diagram (≤5 tasks) |
power-budget.html | Battery/sleep/power/µA/mAh keywords | Power modes table + battery life estimate |
Pages linked in index.html under an Embedded nav section.
UI Direction false-positive suppression (Gap 6):
LCD / OLED / TFT / display / screen in hardware context → routed to hw-topology peripherals, NOT UI Direction buffer🎨 UI Direction Mode? banner suppressed when all display signals have hardware contextnotes.md YAML sections written: ## hw_topology, ## pin_map, ## memory_layout, ## protocols, ## rtos_config, ## embedded_toolchain, ## power_budget, ## safety_config
crystallize Step 1D item 13 exports:
## Hardware Architecture (from hw_topology)## Hardware Interface (from pin_map)## Memory Map (from memory_layout)## Communication Protocols (from protocols) — distinct from ## APIs## RTOS & Task Model (from rtos_config)## Toolchain & Build System (from embedded_toolchain)## Power Budget (from power_budget)## Safety & Reliability (from safety_config)## Embedded Domain: true + MCU family written to PROJECT-CONTEXT.mdKey steps:
21st.dev to suggest sections/components.viepilot/ui-direction/{session-id}/ — legacy: index.html + style.css + notes.md; multi-page: add pages/*.html, index.html as hub, and after each page change update ## Pages inventory in notes.md (see docs/user/features/ui-direction.md)
6b. When user types /research-ui or /research ui during a UI session: follow workflows/brainstorm.md exactly (FEAT-010) — do not merge into the short regular research step## Phases in the session per workflows/brainstorm.mdworkflows/brainstorm.md when binding is missing; sequential Q&A + profile-map disambiguation + write global profile + .viepilot/META.md## Project meta intake (FEAT-009), research notes + UI direction references + ## Phases)/vp-crystallizeStakeholder Generation (ENH-098):
At session end (scope locked), automatically infers project stakeholders from the domain and
creates .claude/agents/{project-slug}-{role}.md agent files. These are consumed by
/vp-crystallize Step 1G for parallel context review. Skip with --no-stakeholders.
<success_criteria>
## Pages inventory stay in sync with pages/*.html/research-ui (when --ui) runs all 3 phases, including content stress pass + archetype recipes + ## UX walkthrough log (with Stress findings) when prototype is updated## Phases present with Phase 1 having real content when scope is discussed## Project meta intake (FEAT-009)design.md generated in session directory when UI mode active and ≥2 design keywords present; notes.md ## design_tokens populatedThis skill uses adapter-aware interactive prompts. Behavior depends on your adapter:
| Adapter | Interactive Prompts | Notes |
|---|---|---|
| Claude Code (terminal) | ✅ AskUserQuestion tool — REQUIRED | Must call AUQ; plain-text only if tool errors or is unavailable |
| Claude Code (VS Code ext) | ⚠️ Partial | Terminal yes; VS Code UI pending anthropics/claude-code#12609 |
| Cursor (Plan Mode) | ⚠️ Partial | AskQuestion in Plan Mode only — not in Agent/Skills Mode |
| Cursor (Agent/Skills) | ❌ Text fallback | AskQuestion not available in Agent Mode |
| Codex CLI | ❌ Text fallback | Native tool N/A; community MCP available |
| Antigravity (native agent) | ❌ Text fallback | Artifact model, no raw tool calls |
| GitHub Copilot | ✅ /skill-name in Chat | Via .agent.md custom agent; AUQ not available — text fallback |
Claude Code (terminal) — AUQ preload required (ENH-059):
Before the first interactive prompt, call ToolSearch with query: "select:AskUserQuestion" to load the deferred tool schema. Only after ToolSearch succeeds can AskUserQuestion be invoked. If ToolSearch returns an error, fall back to plain-text numbered list for that session.
When AskUserQuestion is not available on other adapters, the skill automatically falls back to
plain-text numbered list prompts — no configuration required.
Prompts using AskUserQuestion in this skill:
When UI Direction Mode is active, vp-brainstorm automatically:
~/.viepilot/skill-registry.json (written by vp-tools scan-skills)capabilities to current UI signalsbest_practices to HTML generationnotes.md ## skills_usedNo prompt is shown — integration is transparent. Skills with relevant
capabilities (e.g., ui-generation, component-design, responsive-layout)
are detected automatically.
Skill decisions are locked at crystallize time (see /vp-crystallize).
/vp-auto executes with those locked decisions — no re-asking.
Install skills via vp-tools install-skill <source>.
See: docs/user/features/skill-registry.md
LLM-driven QA agent team generator — research codebase, generate context-aware QA scanning agents
Autonomous execution loop with control points and recovery
Convert brainstorm sessions into executable artifacts
Import and triage tickets from Excel/M365 Online, Google Sheets, or CSV/TSV files — classify as BUG/ENH, accept/decline via AskUserQuestion, write back to source, generate TRIAGE report
Audit state, docs drift, and stack best-practice compliance — works on any project
Create new request: feature, bug fix, enhancement, or brainstorm continuation