brainstorming

通过苏格拉底式提问引导用户澄清模糊需求,针对复杂任务、新功能或变更请求强制启动三问机制,聚焦问题本质、目标用户与范围边界,并结合上下文动态生成高信息量问题,同步提供进度可视化与结构化错误响应,确保协作过程透明、可追溯且以用户确认为实施前提。

快捷安装

在终端运行此命令,即可一键安装该 Skill 到您的 Claude 中

npx skills add vudovn/antigravity-kit --skill "brainstorming"

Brainstorming & Communication Protocol

MANDATORY: Use for complex/vague requests, new features, updates.


🛑 SOCRATIC GATE (ENFORCEMENT)

When to Trigger

PatternAction
”Build/Create/Make [thing]” without details🛑 ASK 3 questions
Complex feature or architecture🛑 Clarify before implementing
Update/change request🛑 Confirm scope
Vague requirements🛑 Ask purpose, users, constraints

🧠 Memory Check (2026.5.13 — Before Questioning)

Before asking questions, check if past context exists:

0. CHECK MEMORY — Does .agent/memory/MEMORY.md exist?
   → YES: Read index. Apply relevant past decisions silently.
          Skip questions already answered in memory.
   → NO: Proceed with standard Socratic Gate.

🚫 MANDATORY: 3 Questions Before Implementation

  1. STOP - Do NOT start coding
  2. CHECK - Read .agent/memory/ for past context on this topic
  3. ASK - Minimum 3 questions (skip any already answered via memory):
    • 🎯 Purpose: What problem are you solving?
    • 👥 Users: Who will use this?
    • 📦 Scope: Must-have vs nice-to-have?
  4. WAIT - Get response before proceeding
  5. SAVE - After brainstorming, save key decisions: /remember [decision]

🧠 Dynamic Question Generation

⛔ NEVER use static templates. Read dynamic-questioning.md for principles.

Core Principles

PrincipleMeaning
Questions Reveal ConsequencesEach question connects to an architectural decision
Context Before ContentUnderstand greenfield/feature/refactor/debug context first
Minimum Viable QuestionsEach question must eliminate implementation paths
Generate Data, Not AssumptionsDon’t guess—ask with trade-offs

Question Generation Process

1. Parse request → Extract domain, features, scale indicators
2. Identify decision points → Blocking vs. deferable
3. Generate questions → Priority: P0 (blocking) > P1 (high-leverage) > P2 (nice-to-have)
4. Format with trade-offs → What, Why, Options, Default

Question Format (MANDATORY)

### [PRIORITY] **[DECISION POINT]**

**Question:** [Clear question]

**Why This Matters:**
- [Architectural consequence]
- [Affects: cost/complexity/timeline/scale]

**Options:**
| Option | Pros | Cons | Best For |
|--------|------|------|----------|
| A | [+] | [-] | [Use case] |

**If Not Specified:** [Default + rationale]

For detailed domain-specific question banks and algorithms, see: dynamic-questioning.md


Progress Reporting (PRINCIPLE-BASED)

PRINCIPLE: Transparency builds trust. Status must be visible and actionable.

Status Board Format

AgentStatusCurrent TaskProgress
[Agent Name]✅🔄⏳❌⚠️[Task description][% or count]

Status Icons

IconMeaningUsage
CompletedTask finished successfully
🔄RunningCurrently executing
WaitingBlocked, waiting for dependency
ErrorFailed, needs attention
⚠️WarningPotential issue, not blocking

Error Handling (PRINCIPLE-BASED)

PRINCIPLE: Errors are opportunities for clear communication.

Error Response Pattern

1. Acknowledge the error
2. Explain what happened (user-friendly)
3. Offer specific solutions with trade-offs
4. Ask user to choose or provide alternative

Error Categories

CategoryResponse Strategy
Port ConflictOffer alternative port or close existing
Dependency MissingAuto-install or ask permission
Build FailureShow specific error + suggested fix
Unclear ErrorAsk for specifics: screenshot, console output

Completion Message (PRINCIPLE-BASED)

PRINCIPLE: Celebrate success, guide next steps.

Completion Structure

1. Success confirmation (celebrate briefly)
2. Summary of what was done (concrete)
3. How to verify/test (actionable)
4. Next steps suggestion (proactive)

Communication Principles

PrincipleImplementation
ConciseNo unnecessary details, get to point
VisualUse emojis (✅🔄⏳❌) for quick scanning
Specific”~2 minutes” not “wait a bit”
AlternativesOffer multiple paths when stuck
ProactiveSuggest next step after completion

Anti-Patterns (AVOID)

Anti-PatternWhy
Jumping to solutions before understandingWastes time on wrong problem
Assuming requirements without askingCreates wrong output
Over-engineering first versionDelays value delivery
Ignoring constraintsCreates unusable solutions
”I think” phrasesUncertainty → Ask instead