Use when creating or developing anything, before writing code or implementation plans - refines rough ideas into fully-formed designs through structured Socratic questioning, alternative exploration, and incremental validation
Transform rough ideas into fully-formed designs through structured questioning and alternative exploration.
Core principle: Ask questions to understand, explore alternatives, present design incrementally for validation.
Announce skill usage at start of session.
Activate this skill when:
| Phase | Key Activities | Tool Usage | Output | |-------|----------------|------------|--------| | 1. Understanding | Ask questions (one at a time) | AskUserQuestion for choices | Purpose, constraints, criteria | | 2. Exploration | Propose 2-3 approaches | AskUserQuestion for approach selection | Architecture options with trade-offs | | 3. Design Presentation | Present in 200-300 word sections | Open-ended questions | Complete design with validation |
Goal: Gather purpose, constraints, and success criteria.
Process:
Tool Usage: Use AskUserQuestion for clarifying questions with 2-4 clear options.
Example: "Where should the authentication data be stored?" with options for Session storage, Local storage, Cookies, each with trade-off descriptions.
See references/example-session-auth.md for complete Phase 1 example.
Goal: Propose 2-3 different architectural approaches with explicit trade-offs.
Process:
Trade-off Format:
| Approach | Pros | Cons | Complexity | |----------|------|------|------------| | Option 1 | Benefits | Drawbacks | Low/Med/High | | Option 2 | Benefits | Drawbacks | Low/Med/High | | Option 3 | Benefits | Drawbacks | Low/Med/High |
See references/example-session-dashboard.md for complete Phase 2 example with SSE vs WebSockets vs Polling comparison.
Goal: Present complete design incrementally, validating each section.
Process:
Typical Sections:
Validation Pattern: After each section, pause for feedback before proceeding to next section.
Benefits:
Flexibility is key. Go backward when needed - don't force linear progression.
Return to Phase 1 when:
Return to Phase 2 when:
Continue forward when:
| Principle | Application | |-----------|-------------| | One question at a time | Phase 1: Single question per message, use AskUserQuestion for choices | | Structured choices | Use AskUserQuestion tool for 2-4 options with trade-offs | | YAGNI ruthlessly | Remove unnecessary features from all designs | | Explore alternatives | Always propose 2-3 approaches before settling | | Incremental validation | Present design in sections, validate each | | Flexible progression | Go backward when needed - flexibility > rigidity |
Consider these optional next steps:
Use templates in assets/design-doc-template.md and assets/decision-matrix-template.md for structured documentation.
Complete brainstorming sessions:
references/example-session-auth.md - Authentication storage design (JWT vs Session vs Cookies)references/example-session-dashboard.md - Real-time dashboard design (SSE vs WebSockets vs Polling)Output templates:
assets/design-doc-template.md - Structured design document formatassets/decision-matrix-template.md - Weighted decision comparison formatSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer