MCPInstall

brainstorming

Interactive exploration of ideas through Socratic Q&A. Produces progressive documents that serve as lightweight pre-PRDs feeding into research.

Installs
279
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/desplega-ai/ai-toolbox --skill brainstorming
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads brainstorming automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Brainstorming

You are facilitating interactive exploration of ideas through Socratic Q&A. The goal is understanding before implementation — documents grow progressively during the session and end as lightweight pre-PRDs that feed into /research or /create-plan.

Working Agreement

Brainstorming is interactive by design — Q&A is the whole point. Use AskUserQuestion for every prompt, one question at a time (see Step 3 for the loop). This skill intentionally does not follow the desplega:ask-user batching convention — Socratic exploration needs single, focused questions.

File-review is on by default — invoke it on the brainstorm doc after synthesis.

When to Use

This skill activates when:

  • User invokes /brainstorm command
  • Another skill references **REQUIRED SUB-SKILL:** Use desplega:brainstorming
  • User wants to explore an idea before committing to research or planning
  • User isn't ready for formal research yet

Autonomy Mode

Brainstorming is inherently interactive, so only two modes are supported:

ModeBehavior
Verbose (Default)Full Socratic exploration, ask one question at a time, rich discussion
CriticalFewer questions, focus on the most impactful areas, reach synthesis faster

Autopilot is not supported — brainstorming requires human input by design. If Autopilot is requested, fall back to Critical with a note explaining why.

The autonomy mode is passed by the invoking command. If not specified, default to Verbose.

Process Steps

Step 1: Initialize Document

Create thoughts/<username|shared>/brainstorms/YYYY-MM-DD-<topic>.md using the template at cc-plugin/base/skills/brainstorming/template.md.

Path selection: Use the user's name (e.g., thoughts/taras/brainstorms/) if known from context. Fall back to thoughts/shared/brainstorms/ when unclear.

Fill in the frontmatter and the Context section with whatever is known: the topic, any context provided, initial thoughts. Write what we know so far.

Prior Learning Recall

OPTIONAL SUB-SKILL: If ~/.agentic-learnings.json exists, run /learning recall <current topic> to check for relevant prior learnings before proceeding.

Step 2: Assess Phase

Understand the shape of the exploration. Use AskUserQuestion with:

QuestionOptions
"What kind of exploration is this?"1. Problem to solve, 2. Idea to develop, 3. Comparison to make, 4. Workflow to improve, 5. Other (describe)

Update the document's exploration_type frontmatter and Context section with the exploration framing.

Step 3: Explore Phase

Socratic Q&A loop. The goal is to systematically uncover requirements, constraints, and insights.

Rules:

  • Ask ONE question at a time via AskUserQuestion
  • Every question ships with a recommended answer — make your recommendation the first option, labeled "(Recommended)", with the reasoning in its description. Never ask open-endedly what you can propose a default for; the user confirms or overrides.
  • Facts vs decisions: never ask the user something you can look up. What the code does, what a library supports, what the current behavior is — those are facts: spawn a quick background sub-agent (Haiku locate / Sonnet analyze, per desplega:delegate-work) mid-session and record the answer as an insight. Only genuine decisions — trade-offs, preferences, scope calls — go to the user.
  • Track the frontier: maintain the set of unresolved decision branches (a short TodoWrite list works). Each answer may close a branch and open new ones. The exploration is done when the frontier is empty — every branch resolved or explicitly deferred, nothing left silently assumed.
  • After each answer, append a new section to the document under ## Exploration:
    ### Q: [Your question]
    [User's answer]
    
    **Insights:** [Any observations, implications, or connections you noticed]
    
  • Identify the next most important question to narrow scope or deepen understanding
  • Continue until the user signals they're satisfied or natural saturation is reached

Question strategy:

  • Start broad: understand the problem space and goals
  • Narrow progressively: constraints, existing solutions, non-functional requirements
  • Probe edges: "What would make this fail?", "What's the simplest version?", "What are you NOT trying to solve?"

YAGNI Principle

CRITICAL: Resist premature solutions during the Explore phase. The goal is understanding, not implementation. If the user starts solutioning too early:

  • Acknowledge the idea briefly
  • Redirect to requirements: "That's an interesting approach. Before we commit to it, let's make sure we understand [relevant constraint/requirement]. [Follow-up question]"
  • Solutions belong in the Synthesis or in a subsequent /create-plan

Step 4: Synthesize Phase

When exploration is complete (the frontier is empty, or the user signals done), append a ## Synthesis section:

## Synthesis

### Key Decisions
- [Decision 1]
- [Decision 2]
- [Deferred: <decision> — defaulting to <recommended answer> unless revisited]

### Open Questions
- [FACT-shaped question only — answerable by /research, tagged as its input]

### Constraints Identified
- [Constraint 1]
- [Constraint 2]

### Core Requirements
- [Requirement 1 — lightweight PRD-style]
- [Requirement 2]

A brainstorm that ends with undecided decisions is incomplete. Open Questions may only contain fact-shaped items — things /research can answer from the codebase or docs. Decision-shaped questions must be either resolved in Key Decisions or recorded there as "Deferred, defaulting to X" with your recommendation written down. If the user cut the session short with decisions still open, ask once (batched) for a default on each before synthesizing — or record your own recommendation as the default, clearly marked.

Learning Capture

OPTIONAL SUB-SKILL: If significant insights, patterns, gotchas, or decisions emerged during this workflow, consider using desplega:learning to capture them via /learning capture. Focus on learnings that would help someone else in a future session.

Step 5: Handoff Phase

Before handoff, offer to run /review on the brainstorm document to identify unexplored areas.

Then use AskUserQuestion with:

QuestionOptions
"What's the next step?"1. Start research based on this brainstorm (→ /research), 2. Create a plan directly (→ /create-plan), 3. Done for now (park the brainstorm)

Based on the answer:

  • Research: Suggest the /research command with the brainstorm file as input context
  • Plan: Suggest the /create-plan command with the brainstorm file as input context
  • Done: Set the document's status to parked or complete as appropriate

Document Evolution

The brainstorm document is a living artifact during the session. It starts rough and gains structure through the Q&A process. By the end, it should be readable as a standalone context document that someone else could pick up and understand.

Review Integration

File-review is on by default:

  • After synthesis, invoke /file-review:file-review <path> for inline human comments
  • Process feedback with the file-review:process-review skill

FAQ

What does the brainstorming skill do?

Interactive exploration of ideas through Socratic Q&A. Produces progressive documents that serve as lightweight pre-PRDs feeding into research.

How do I install brainstorming?

Run npx skills add https://github.com/desplega-ai/ai-toolbox --skill brainstorming in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/brainstorming/ (personal) or .claude/skills/brainstorming/ (project).

Which AI agents can use brainstorming?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is brainstorming safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains brainstorming?

It is published by desplega-ai in desplega-ai/ai-toolbox. It has 279 recorded installs.

More from desplega-ai/ai-toolbox

View all →

researching

desplega-ai/ai-toolbox

Comprehensive codebase research skill. Documents codebase as-is by spawning parallel sub-agents and synthesizing findings into research documents.

planning

desplega-ai/ai-toolbox

Implementation planning skill. Creates detailed technical plans through interactive research and iteration.

tdd-planning

desplega-ai/ai-toolbox

TDD-focused implementation planning. Creates plans with strict Red-Green-Commit/Rollback cycles for each step.

implementing

desplega-ai/ai-toolbox

Plan implementation skill. Executes approved technical plans phase by phase with verification checkpoints.

wts-expert

desplega-ai/ai-toolbox

Git worktree management expert for @desplega.ai/wts. Use when the user asks about git worktrees, wts commands, worktree workflows, or wants help managing multiple branches simultaneously.

ask-user

desplega-ai/ai-toolbox

Conventions for asking the user questions during a workflow via the AskUserQuestion tool. Other skills reference this to keep prompts consistent and structured.

AI & Agents284 installs

Popular productivity & automation skills

View category →

agent-browser

vercel-labs/agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

OfficialProductivity & Automation1.3M installs

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

lark-shared

open.feishu.cn

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

lark-im

open.feishu.cn

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。