en un clic
brainstorming
// Use when defining new features, product behavior, UI/component design, architecture choices, contract changes, or ambiguous medium/high-complexity work before implementation.
// Use when defining new features, product behavior, UI/component design, architecture choices, contract changes, or ambiguous medium/high-complexity work before implementation.
| name | brainstorming |
| description | Use when defining new features, product behavior, UI/component design, architecture choices, contract changes, or ambiguous medium/high-complexity work before implementation. |
→ New feature, product behavior, UI/component design, architecture/contract change, or ambiguous medium/high-complexity work? → Design first. No implementation until the needed design/spec is approved.
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Start by understanding the current project context and authority boundary, then ask questions one at a time to refine the idea. Once you understand what you're building, present the smallest design artifact that stabilizes the work and get the required approval.
Do NOT invoke any implementation skill, write any code, scaffold any project, or take implementation action for work that matches this skill until you have presented the required design/spec and the user has approved it where this workflow requires approval.Do not force this workflow onto low-complexity work. A tiny wording edit, single-owner bug fix, simple config/status question, or local utility change can proceed through concise intent, baseline check, TDD/debugging, and verification. If uncertainty or impact grows, escalate back here and write the smallest stabilizing spec.
You MUST create a task for each of these items and complete them in order:
TaskIntentDraft, BaselineReadSetHint, ImpactStatementDraftdocs/aegis/specs/ when persistent requirements are neededThe terminal state is invoking writing-plans. Do NOT invoke any other implementation skill.
Understanding the idea:
Working artifacts: Keep three drafts: TaskIntentDraft (outcome, goal,
success evidence, stop condition, non-goals, scope, risks),
BaselineReadSetHint (candidate docs, authority gaps), ImpactStatementDraft
(affected layers, owners, invariants, compat, non-goals). Refresh when scope
changes.
Compact output contract: TaskIntentDraft, BaselineReadSetHint,
ImpactStatementDraft, Product Risk Lens, Architecture Integrity Lens,
Baseline Role Alignment, Plan-Time Complexity Check, Options, and
Decision Needed. Use this compact shape before expanding into a full design
structure.
Product Risk Lens: For ambiguous product, feature, UI, workflow, or architecture choices, add a compact review lens, not persona roleplay:
Product Risk Lens:
- Value:
- Non-goals:
- Trade-offs:
- Decision needed:
This is a review lens, not persona output. It does not override baseline evidence, approved requirements, or current authority docs; it only makes the product risk and decision point visible before implementation.
Plan-Time Complexity Check: Before choosing an implementation direction for medium/high work, inspect the likely owner files and current shape. This is an advisory design pressure check, not a gate and not completion authority. Do not force it onto tiny low-risk edits.
Plan-Time Complexity Check:
- Better file boundary:
- Recommendation: edit-in-place | extract helper | add owner file | split task | defer refactor
Pressure signals: 800+ line source file, 80+ line block, router/manager/handler or generic utility receiving a new responsibility, fallback/adapter/guard growth, duplicate owner risk, or owner mismatch. A new file still needs a clear owner, contract, and retirement story.
Exploring approaches: Propose 2-3 approaches with trade-offs and recommendation. Make scope boundary explicit: what's in, what's deferred, what belongs elsewhere.
Before approach selection, use first-principles-review and its
Decision Hygiene Review when the candidate direction introduces a new owner,
duplicate owner, fallback, adapter, compat-only carrier, delete-first question,
unverified assumption, or "long-term stable" claim. Do not make it a
universal design ceremony; return to this workflow once the decision surface is
clean.
Use the narrower Architecture Integrity Lens when the main risk is not broad
strategy but architecture coherence: unclear canonical owner, responsibility
overlap, caller-side fallback, stale path carrying real logic, or a possible
higher-level owner / contract / source-of-truth simplification. The lens should
answer invariant, canonical owner / contract, responsibility overlap,
higher-level simplification, retirement / falsifier, and verdict before the
approach is recommended.
Baseline Role Alignment: When a question may involve both "what should be built" and "where it should live", keep requirement truth separate from architecture truth:
Baseline Role Alignment:
- Product / Requirement Baseline:
- Architecture / Runtime Boundary Baseline:
- Result: aligned | Design Defect | Implementation Drift | missing-authority | needs-clarification
- scope: requirements | architecture | both
- Next action:
Use Design Defect when the relevant requirement, design, or baseline is wrong.
Use Implementation Drift when the work deviates from a correct unchanged
baseline. Architecture Defect and Architecture Drift remain compatibility
aliases for architecture-scoped Design Defect and architecture-scoped
Implementation Drift. This is a review lens, not a runtime gate or completion
authority.
Presenting the design: Scale sections to complexity. Cover only the surfaces that matter: architecture, components, data flow, error handling, testing, compatibility boundary. Get approval for the design before implementation when behavior, contract, architecture, or user-facing flow is being decided.
ADR signals: When the design/spec touches durable architecture surfaces (owner, public contract, artifact shape, dependency direction, source-of-truth, host compatibility, runtime-ready boundary, fallback, adapter, or retirement schedule), mark the ADR signal, source refs, real alternatives, and expected baseline-sync question for later completion. Do not create accepted architecture memory from unexecuted ideas.
Design for isolation: Each unit = one clear purpose, well-defined interface, testable independently. Can someone understand it without reading internals? Can you change internals without breaking consumers?
Existing codebases: Follow existing patterns. Include targeted improvements only when they serve the current goal. If the design touches contracts, compat, fallbacks, or duplicated owners → call it out directly.
Documentation:
Aegis Project Workspace initialization (first creation only):
If docs/aegis/ does not exist and configured Aegis workspace support is
available, initialize the target project:
python <aegis-workspace-helper> init --root <target-project-root>.
If installed Aegis workspace support is unavailable, create it manually:
a. Create docs/aegis/README.md — describes workspace purpose and structure
b. Create docs/aegis/INDEX.md — empty index, will be appended below
c. Create docs/aegis/BASELINE-GOVERNANCE.md from the template in
"BASELINE-GOVERNANCE.md Template" section below
d. If the project has existing code, create an initial baseline snapshot:
docs/aegis/baseline/YYYY-MM-DD-initial-baseline.md using the
"Initial Baseline Snapshot Template" below
If docs/aegis/ already exists, use it — do not recreate.
Write the validated spec artifact when needed: Use the smallest artifact that stabilizes the task:
docs/aegis/specs/YYYY-MM-DD-<topic>-brief.md for medium
tasks that need what/why/acceptance pinned before planning.docs/aegis/specs/YYYY-MM-DD-<topic>-design.md for high
complexity, architecture, contract, migration, cross-module, or ambiguous
behavior requiring user review.
Specs always go to specs/ — never to work/.Update INDEX.md:
Prefer configured Aegis workspace support: python <aegis-workspace-helper> append-index --root <target-project-root> --path docs/aegis/specs/<filename>.md --kind spec --title "<title>". If workspace support is unavailable, append the new spec entry
to docs/aegis/INDEX.md manually.
After the append, run python <aegis-workspace-helper> check --root <target-project-root> when configured workspace support is available. This validates
structure and index coverage only; it does not grant completion authority.
Commit the design document to git.
Include the latest TaskIntentDraft, BaselineReadSetHint, and ImpactStatementDraft inline or in an appendix when they materially shaped the design.
Record explicit non-goals and compatibility boundaries so the later implementation plan does not drift.
Spec Self-Review: After writing the spec document, look at it with fresh eyes:
first-principles-review Decision Hygiene Review or Architecture Integrity Lens result is reflected or explicitly marked unnecessary.Fix any issues inline. No need to re-review — just fix and move on.
User Review Gate: After a Design Spec review loop passes, ask the user to review the written spec before proceeding:
"Spec written and committed to
<path>. Please review it and let me know if you want to make any changes before we start writing out the implementation plan."
Wait for the user's response when this workflow requires review. If they request changes, make them and re-run the spec review loop. Only proceed once the user approves. For a small Spec Brief created only to pin medium-task acceptance, user review may be concise unless project rules require a formal approval step.
Implementation:
When creating docs/aegis/BASELINE-GOVERNANCE.md for the first time, use this template:
# Baseline Governance
## 1. Baseline Roles
- Product / Requirement Baseline: problem, accepted behavior, success evidence,
non-goals, workflow constraints, and approved requirement/spec intent.
- Architecture / Runtime Boundary Baseline: canonical owner, contract,
source-of-truth boundary, dependency direction, compatibility, runtime-ready
boundary, and retirement state.
## 2. Design Defect
A confirmed error, gap, contradiction, or wrong abstraction IN the relevant
requirement, design, or baseline.
- Fix the defective requirement/design/baseline first.
- Then align implementation to the corrected baseline.
- Do NOT patch implementation around a defective baseline.
## 3. Implementation Drift
Implementation, plan, review, or documentation has deviated from a confirmed,
correct, unchanged requirement or architecture baseline.
- Return to baseline via the simplest stable path.
- Do NOT "update baseline to match drift" without explicit review.
## 4. Compatibility Aliases
- Architecture Defect = architecture-scoped Design Defect.
- Architecture Drift = architecture-scoped Implementation Drift.
- New findings should report Design Defect / Implementation Drift plus
`scope: requirements | architecture | both`.
## 5. Baseline Check Protocol
Before non-trivial changes:
1. Read the latest Product / Requirement Baseline candidate.
2. Read the latest Architecture / Runtime Boundary Baseline candidate.
3. Compare current work against requirement acceptance and architecture owner /
contract boundaries.
4. Check for new anti-patterns not recorded in known list.
5. Report: aligned / Design Defect / Implementation Drift /
missing-authority / needs-clarification, with
`scope: requirements | architecture | both`.
## 6. Architecture Review — 7 Dimensions
After each non-trivial change:
1. **Ownership integrity** — every component has exactly one canonical owner
2. **Module boundaries** — no unauthorized cross-module coupling
3. **Contract changes** — all API/signature/behavior contract changes documented
4. **Cascade proliferation** — no new cascading dependency chains
5. **Dependency direction** — dependencies flow toward stability
6. **Retirement completeness** — old owners/fallbacks/paths removed or scheduled
7. **Entropy flow** — net complexity decreased or stayed; no unjustified new entities
## 7. Hard Boundaries
- BASELINE-GOVERNANCE.md is the constitution for THIS project's Aegis workspace
- Baseline snapshots in `baseline/` are evidence, not authority
- ADRs in `adr/` record decisions; they do not replace baseline governance
- This file is NEVER auto-updated — changes require explicit user review
When creating the first docs/aegis/baseline/YYYY-MM-DD-initial-baseline.md:
Use when the user explicitly sets an Aegis goal with /aegis-goal, Aegis goal:, or asks to define goal, success evidence, stop condition, or task boundaries before work.
Use when about to claim work is complete, fixed, passing, verified, release-ready, or ready to commit, merge, publish, or hand off.
Use when the user explicitly asks for first principles, first-principles review, Occam's razor, or when a complex decision has ambiguous goals, competing constraints, repeated fixes, fallback growth, duplicate owners, or architecture/product direction risk.
Use when the user asks to create, write, update, amend, supersede, or evaluate an ADR, architecture decision record, durable architecture decision, decision log, or baseline sync after architecture-changing work.
Use when explicitly requesting an independent code review, after subagent-driven implementation slices, before merging high-risk work, or when verification finds evidence, baseline, architecture, compatibility, or retirement uncertainty that needs reviewer scrutiny.
Use when starting a turn or checking Aegis skill routing.