360 Secure SkillHub
360 安全技能中心

Brainstorming

在编码前使用澄清问题、2-3 个方案对比和设计文档模板,帮助明确需求、约束、测试策略与边界情况,并将文档保存到指定目录后转入计划阶段。

分类:开发
nefas11
nefas11
热度 51.45
最近更新 2026-05-17 12:14:24

安装

发给 Agent
帮我安装这个技能:npx secure-skills-cli add nefas11/brainstorming-2
兼容性
通用兼容
联网要求
不联网
数据出网
数据不出本机
Metadata
name
brainstorming
description
Socratic design refinement before coding. Use when user requests feature without clear spec.

Brainstorming Skill

When to Use

Trigger BEFORE writing code when:

  • User request is vague ("make it better", "add feature X")
  • Complex feature with multiple approaches
  • Design decisions impact multiple components

Workflow

Step 1: Understand Intent

Ask clarifying questions:

  • What problem are we solving?
  • Who is the user?
  • What's the success criteria?
  • What constraints exist? (time, compatibility, dependencies)

Step 2: Explore Alternatives

Present 2-3 approaches:

  • Approach A (simple): [description]
  • Approach B (robust): [description]
  • Approach C (future-proof): [description]

For each: Pros, Cons, Complexity (1-5)

Step 3: Design Document

After user picks approach, create design doc:

# Feature: [Name]

## Problem
[1-2 sentences]

## Solution
[Chosen approach, 3-5 sentences]

## Components Affected
- [Component 1]: [Change description]
- [Component 2]: [Change description]

## Testing Strategy
- Unit tests: [What to test]
- Integration tests: [What to test]

## Edge Cases
- [Case 1]
- [Case 2]

## Success Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]

Save to: docs/design/YYYY-MM-DD-feature-name.md

Step 4: Transition to Planning

Pass design doc to writing-plans skill.

Anti-Patterns

❌ Jump straight to implementation ❌ Present only one approach ❌ Skip edge case discussion ❌ Forget to save design doc

Example

User: "Add caching"

Bad:

I'll add Redis caching to the API.

Good:

Let me understand the requirements first:

1. What should be cached? (API responses, DB queries, computed results?)
2. What's the invalidation strategy? (TTL, event-based, manual?)
3. What's the acceptable staleness? (seconds, minutes, hours?)

Based on your answers, I'll present 3 approaches with trade-offs.