Explores requirements, searches past decisions, creates design documents, and sets up feature branches. Use before any feature work or when starting a new feature.
Guides feature development from requirements through design by searching past decisions, exploring approaches, and creating documentation.
npx claudepluginhub merewhiplash/engram-cogitatorThis skill inherits all available tools. When active, it can use any tool Claude has access to.
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)
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.