From cogitation
Explores requirements, searches past decisions, creates design documents, and sets up feature branches. Use before any feature work or when starting a new feature.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cogitation:brainstormingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn ideas into designs through collaborative dialogue.
Turn ideas into designs through collaborative dialogue.
Announce: "I'm using the brainstorming skill to explore this feature."
EC Search → Branch Setup → Q&A → Approaches → Design → Save
Before designing, check what we've done before:
ec_search:
query: [feature area]
type: decision
ec_search:
query: [related patterns]
type: pattern
ec_search:
query: [similar features]
Note relevant past decisions that might inform or constrain the design.
Check current state:
git branch --show-current
git status
Load branch convention from config:
ec_search:
query: project config
type: config
REQUIRED: Use the AskUserQuestion tool to determine branching:
If on main:
{
"questions": [{
"question": "Create a feature branch for this work?",
"header": "Branch",
"options": [
{ "label": "Yes", "description": "Create {convention}/<name> branch" },
{ "label": "No", "description": "Stay on main" }
],
"multiSelect": false
}]
}
If on feature branch:
{
"questions": [{
"question": "Where should this new work branch from?",
"header": "Branch",
"options": [
{ "label": "Current branch", "description": "Nested feature off current work" },
{ "label": "Main", "description": "Fresh start from main" }
],
"multiSelect": false
}]
}
This enables branching cycles - features can spawn sub-features.
REQUIRED: Use the AskUserQuestion tool for all clarifying questions.
multiSelect: true when multiple options can applyFocus on:
Example:
{
"questions": [{
"question": "Who should have access to this feature?",
"header": "Access",
"options": [
{ "label": "All users", "description": "Any authenticated user" },
{ "label": "Admins only", "description": "Requires admin role" },
{ "label": "Role-based", "description": "Configurable per role" }
],
"multiSelect": false
}]
}
Propose 2-3 approaches with trade-offs. Lead with your recommendation and why.
Search EC for relevant prior decisions:
ec_search:
query: [technology or pattern being considered]
type: decision
Keep it conversational:
"I'd go with Option A because [reason]. Option B would work if [condition]. Option C is overkill unless [edge case]."
Once you understand what we're building, present the design in chunks (200-300 words each). Check after each section if it looks right.
Cover:
Be ready to backtrack if something doesn't fit.
Write to docs/designs/YYYY-MM-DD-<topic>.md
Include:
See: docs/plans/YYYY-MM-DD-<topic>.mdFor each significant architectural decision made:
ec_add:
type: decision
area: [component]
content: [What was decided and why]
rationale: [Trade-offs considered]
After saving:
"Design saved to
docs/designs/YYYY-MM-DD-<topic>.md. Ready to create the implementation plan?"
If yes → Use @writing-plans (all tasks will follow @tdd red-green-refactor)
npx claudepluginhub merewhiplash/engram-cogitator --plugin cogitationYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Guides collaborative exploration of feature requirements and design approaches before implementation planning.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.