Engineering
brainstorming avatar

brainstorming

A mandatory design-first skill that guides agents through collaborative project scoping, requirements gathering, and spec creation before any implementation begins.

Introduction

The brainstorming skill is a critical architectural component of the Superpowers methodology, designed to prevent the common failure mode of premature implementation. By enforcing a strict design-first workflow, this skill ensures that all software development tasks—regardless of perceived complexity—undergo rigorous scrutiny, intent exploration, and design validation. It targets developers and automated coding agents who require a structured approach to bridge the gap between abstract requirements and executable implementation plans. Whether you are building a simple utility, a configuration change, or a complex system, this skill acts as a guardrail against unexamined assumptions and architectural debt. It facilitates a Socratic dialogue, requiring the agent to query the user, refine project context, and iteratively develop a formal specification that serves as the foundation for subsequent technical planning.

  • Facilitates systematic requirement gathering through conversational questioning and design exploration.

  • Enforces a mandatory hard-gate that prevents code execution or project scaffolding until design approval is secured.

  • Provides a structured template for design documentation, including architecture, component definition, data flow, and error handling.

  • Guides users through project decomposition, helping to break large or ambiguous ideas into manageable, independent sub-projects.

  • Integrates with visual companion tools to clarify design requirements for UI/UX-intensive tasks.

  • Maintains an audit trail by committing design documents in Markdown format to the project repository.

  • The skill mandates a specific sequence of operations: explore project context, conduct visual/design research, iterate on requirements, present options, and finalize documentation.

  • Always prioritize the recommendation of 2-3 design approaches with associated trade-offs, enabling informed user decision-making.

  • Utilize this skill for every task: a todo list or single-function utility is never exempt from the design process to ensure consistency and prevent regression.

  • The terminal state of this skill is the invocation of the writing-plans skill, ensuring a seamless transition from conceptual design to granular, actionable task planning.

  • Always adhere to YAGNI (You Aren't Gonna Need It) and DRY (Don't Repeat Yourself) principles during the design phase to minimize scope creep.

Repository Stats

Stars
172,022
Forks
15,174
Open Issues
278
Language
Shell
Default Branch
main
Sync Status
Idle
Last Synced
Apr 29, 2026, 06:59 AM
View on GitHub