npx claudepluginhub jmylchreest/aide --plugin aideThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Recommended model tier: smart (opus) - this skill requires complex reasoning
Launch parallel agents, each working on a story through SDLC stages.
/aide:build-fix and re-verify until passing/aide:worktree-resolve - All story branches must be merged before completionswarm 3 → 3 story agents (SDLC mode)
swarm stories "Auth" "Payments" → Named stories
swarm 2 --flat → Flat task mode (legacy)
┌─────────────────────────────────────────────────────────────────────────┐
│ ORCHESTRATOR (you) │
│ 1. Decompose work into stories │
│ 2. Create worktree per story │
│ 3. Spawn story agent per worktree (subagent_type: general-purpose) │
│ 4. Monitor progress via TaskList (DO NOT create tasks yourself!) │
│ 5. Call /aide:worktree-resolve when all stories complete │
└─────────────────────────────────────────────────────────────────────────┘
│
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Story A Agent │ │ Story B Agent │ │ Story C Agent │
│ (worktree-a) │ │ (worktree-b) │ │ (worktree-c) │
├─────────────────┤ ├─────────────────┤ ├─────────────────┤
│ SDLC Pipeline: │ │ SDLC Pipeline: │ │ SDLC Pipeline: │
│ [DESIGN] │ │ [DESIGN] │ │ [DESIGN] │
│ [TEST] │ │ [TEST] │ │ [TEST] │
│ [DEV] │ │ [DEV] │ │ [DEV] │
│ [VERIFY] │ │ [VERIFY] │ │ [VERIFY] │
│ [DOCS] │ │ [DOCS] │ │ [DOCS] │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└─────────────────────┼─────────────────────┘
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ SHARED NATIVE TASKS (Claude Code TaskList) │
│ All agents can see, create, and update tasks │
│ Dependencies via blockedBy auto-manage stage ordering │
└─────────────────────────────────────────────────────────────────────────┘
First, check for an existing plan from /aide:plan-swarm:
mcp__plugin_aide_aide__decision_get with topic="swarm-plan"
If a plan exists, use its stories directly — skip ad-hoc decomposition. The plan has already been validated for independence and acceptance criteria.
If no plan exists, break the work into independent stories/features:
## Stories
1. **Auth Module** - User authentication with JWT
2. **Payment Processing** - Stripe integration for subscriptions
3. **User Dashboard** - Profile management UI
Each story should be:
Each story agent gets an isolated workspace. Create worktrees using git commands:
git worktree add .aide/worktrees/story-auth -b feat/story-auth
git worktree add .aide/worktrees/story-payments -b feat/story-payments
git worktree add .aide/worktrees/story-dashboard -b feat/story-dashboard
Automatic Integration:
.aide/worktrees/ are auto-discovered by AIDE hooks.aide/state/worktrees.jsonNaming Convention:
story-<name> as worktree directory nameagent-<name> as agent_id when spawningstory-auth worktree → spawn with agent_id containing "auth"If worktree creation fails:
git branch -a | grep feat/story-authgit worktree remove .aide/worktrees/story-auth --forcegit worktree pruneLaunch agents using the Task tool with subagent_type: "general-purpose" (required for Edit/Write access).
IMPORTANT: Task Ownership
TaskListEach agent manages its own SDLC pipeline.
Task({
subagent_type: "general-purpose",
prompt: `You are a story agent working on: Auth Module
Worktree: /path/to/.aide/worktrees/story-auth
Story ID: story-auth
Agent ID: agent-auth
## Your Mission
Implement the Auth Module through the full SDLC pipeline.
## SDLC Pipeline
You will create and execute these stages IN ORDER:
### Stage 1: DESIGN
Use the /aide:design skill (or follow its workflow).
Output: Technical design with interfaces, decisions, acceptance criteria.
### Stage 2: TEST
Use the /aide:test skill.
Write failing tests based on acceptance criteria from DESIGN.
### Stage 3: DEV
Use the /aide:implement skill.
Make all tests pass with minimal implementation.
### Stage 4: VERIFY
Use the /aide:verify skill.
Run full test suite, lint, type check. Must all pass.
**IF VERIFY FAILS:**
1. Invoke /aide:build-fix to address failures
2. Re-run /aide:verify
3. Repeat until VERIFY passes
4. Only then proceed to DOCS
### Stage 5: DOCS
Use the /aide:docs skill.
Update documentation to match implementation.
## Task Management
Use native Claude Code task tools to track your progress:
1. Create all stage tasks upfront:
TaskCreate: "[story-auth][DESIGN] Design auth module"
TaskCreate: "[story-auth][TEST] Write auth tests" (blockedBy: DESIGN task)
TaskCreate: "[story-auth][DEV] Implement auth" (blockedBy: TEST task)
TaskCreate: "[story-auth][VERIFY] Verify auth" (blockedBy: DEV task)
TaskCreate: "[story-auth][DOCS] Document auth" (blockedBy: VERIFY task)
2. As you start each stage:
TaskUpdate: taskId=X, status=in_progress, owner=agent-auth
3. As you complete each stage:
TaskUpdate: taskId=X, status=completed
## Coordination
**Messaging (MCP tools):**
- Send status: \`message_send\` with from=agent-auth, type="status", content="[DESIGN] complete"
- Send blocker: \`message_send\` with from=agent-auth, type="blocker", content="Need API schema"
- Check inbox: \`message_list\` with agent_id=agent-auth
- Acknowledge: \`message_ack\` with message_id=N, agent_id=agent-auth
**At each stage transition:**
1. Check messages via \`message_list\`
2. Acknowledge and act on any requests
3. Send \`status\` message with new stage
**Shared state (MCP + CLI):**
- Check decisions: \`mcp__plugin_aide_aide__decision_get\` (MCP read)
- Record decisions: \`./.aide/bin/aide decision set <topic> "<decision>"\` (CLI write)
- Share discoveries: \`./.aide/bin/aide memory add --category=discovery --tags=project:<name>,session:\${AIDE_SESSION_ID},source:discovered "<finding>"\` (CLI write)
**Binary location:** The aide binary is at \`.aide/bin/aide\`. If it's on your \`$PATH\`, you can use \`aide\` directly.
## Completion
When all 5 stages are complete:
1. Verify all tasks show completed
2. Ensure all changes are committed
3. Send completion message: \`message_send\` with from=agent-auth, type="completion"
4. Report: "Story complete: Auth Module"
\`
});
Use TaskList to see all story progress:
TaskList
Example output:
#10 [completed] [story-auth][DESIGN] Design auth module (agent-auth)
#11 [completed] [story-auth][TEST] Write auth tests (agent-auth)
#12 [in_progress] [story-auth][DEV] Implement auth (agent-auth)
#13 [pending] [story-auth][VERIFY] Verify auth [blocked by #12]
#14 [pending] [story-auth][DOCS] Document auth [blocked by #13]
#20 [in_progress] [story-payments][DESIGN] Design payment module (agent-payments)
When all stories complete, use /aide:worktree-resolve:
# Verify all tasks complete
TaskList # Should show all [completed]
# Check for blockers (use MCP tool)
mcp__plugin_aide_aide__memory_list with category=blocker
# Merge worktrees
/aide:worktree-resolve
| Stage | Skill | Creates | Depends On |
|---|---|---|---|
| DESIGN | /aide:design | Interfaces, decisions, acceptance criteria | - |
| TEST | /aide:test | Failing tests | DESIGN |
| DEV | /aide:implement | Passing implementation | TEST |
| VERIFY | /aide:verify | Quality validation | DEV |
| DOCS | /aide:docs | Updated documentation | VERIFY |
┌──────────────┐
│ VERIFY │
└──────┬───────┘
│
┌────────────┴────────────┐
│ │
PASS FAIL
│ │
▼ ▼
┌────────┐ ┌──────────────┐
│ DOCS │ │ BUILD-FIX │
└────────┘ └──────┬───────┘
│
└──────► back to VERIFY
If VERIFY fails:
/aide:build-fix to fix issues/aide:verifyWhen spawning story agents, include:
You are story agent [AGENT-ID] working in worktree [PATH].
## Story
[Story name and description]
## SDLC Pipeline
Execute these stages in order. For each stage:
1. Create task with TaskCreate (set blockedBy for dependencies)
2. Claim task with TaskUpdate (owner=your-id, status=in_progress)
3. Execute stage using appropriate skill
4. Mark complete with TaskUpdate (status=completed)
### Stage Tasks to Create
TaskCreate({
subject: "[STORY-ID][DESIGN] Design [feature]",
description: "Technical design with interfaces and acceptance criteria",
activeForm: "Designing [feature]"
})
TaskCreate({
subject: "[STORY-ID][TEST] Write tests for [feature]",
description: "Failing tests based on acceptance criteria",
activeForm: "Writing tests"
})
// ... set blockedBy to DESIGN task ID
TaskCreate({
subject: "[STORY-ID][DEV] Implement [feature]",
description: "Make tests pass with minimal code",
activeForm: "Implementing [feature]"
})
// ... set blockedBy to TEST task ID
TaskCreate({
subject: "[STORY-ID][VERIFY] Verify [feature]",
description: "Full test suite, lint, type check",
activeForm: "Verifying [feature]"
})
// ... set blockedBy to DEV task ID
TaskCreate({
subject: "[STORY-ID][DOCS] Document [feature]",
description: "Update documentation",
activeForm: "Documenting [feature]"
})
// ... set blockedBy to VERIFY task ID
## Coordination
**Messaging (MCP tools):**
- Send status: `message_send` with from=[AGENT-ID], type="status", content="[STAGE] complete"
- Send blocker: `message_send` with from=[AGENT-ID], type="blocker", content="description"
- Check inbox: `message_list` with agent_id=[AGENT-ID]
- Acknowledge: `message_ack` with message_id=N, agent_id=[AGENT-ID]
**At each stage transition:**
1. Check messages via `message_list`
2. Acknowledge and act on any requests
3. Send `status` message with new stage name
**Shared state:**
- Check existing decisions: `mcp__plugin_aide_aide__decision_get` (MCP read)
- Record new decisions: `./.aide/bin/aide decision set <topic> "<decision>"` (CLI write)
- Share discoveries: `./.aide/bin/aide memory add --category=discovery --tags=project:<name>,session:${AIDE_SESSION_ID},source:discovered "<finding>"` (CLI write)
## VERIFY Failure Handling
If VERIFY stage fails:
1. DO NOT proceed to DOCS
2. Invoke /aide:build-fix to address failures
3. Re-run /aide:verify
4. Repeat until VERIFY passes
5. Only then proceed to DOCS
## Completion
All stages must complete. When done:
1. All 5 tasks show [completed]
2. VERIFY must have passed (not skipped)
3. All changes committed to your worktree branch
4. Send completion: `message_send` with from=[AGENT-ID], type="completion", content="Story [STORY-ID] complete"
5. Report: "Story [STORY-ID] complete - ready for merge"
For non-code tasks or simple work, use --flat:
swarm 3 --flat
This uses the original task-grabbing model without SDLC stages.
Messages (MCP tools — primary coordination mechanism):
# Send status update (broadcast)
message_send: from="agent-auth", type="status", content="[DESIGN] complete, starting TEST"
# Send direct message
message_send: from="agent-auth", to="agent-payments", type="request", content="Need payment API schema"
# Check inbox
message_list: agent_id="agent-auth"
# Acknowledge after reading
message_ack: message_id=42, agent_id="agent-auth"
Decisions (shared across agents):
# Write (CLI)
./.aide/bin/aide decision set "auth-strategy" "JWT with refresh tokens"
# Read (MCP) - use mcp__plugin_aide_aide__decision_get with topic="auth-strategy"
Memory (shared discoveries):
./.aide/bin/aide memory add --category=discovery --tags=project:<name>,session:${AIDE_SESSION_ID},source:discovered "User model needs email validation"
When any agent stores memories (discoveries, blockers, session summaries), always:
source: tag — Use source:discovered for findings, source:inferred for deductionsproject:<name>,session:<id> (get project name from git remote or directory; session ID from $AIDE_SESSION_ID or $CLAUDE_SESSION_ID)memorise skill for the full verification workflow.scope:global unless storing a user preferenceThis applies to all memory add commands in agent prompts, coordination examples, and the orchestrator memory section above.
OpenCode has native todowrite/todoread for per-agent progress tracking, and a task tool for spawning subagents. However, OpenCode's todos are session-private — they are NOT shared across agents. For multi-agent coordination, use aide tasks (MCP tools) as the shared task system.
| System | Role | Scope |
|---|---|---|
aide tasks (MCP: task_create, task_list, task_claim, task_complete) | Shared coordination — all agents see the same board | Cross-session, persistent |
| todowrite (native) | Personal progress tracking within each agent | Session-private, per-agent |
aide messages (MCP: message_send, message_list) | Real-time coordination, status broadcasts, blockers | Cross-session |
The orchestrator (human or primary session):
/aide:plan-swarm first)task_create: title="[story-auth][DESIGN] Design auth module"
task_create: title="[story-auth][TEST] Write auth tests"
task_create: title="[story-auth][DEV] Implement auth"
task_create: title="[story-auth][VERIFY] Verify auth"
task_create: title="[story-auth][DOCS] Document auth"
task_list (MCP tool) or ./.aide/bin/aide task list (CLI)done, run /aide:worktree-resolveEach story agent follows the same SDLC pipeline. Use aide tasks for shared tracking and native todowrite for personal step-by-step progress:
## Per SDLC Stage:
1. Claim the stage task:
task_claim: task_id=<id>, agent_id=agent-auth
2. Use todowrite for personal tracking:
todowrite: [{"content": "Design interfaces for auth", "status": "in_progress", "priority": "high"}]
3. Execute the stage (use appropriate /aide: skill)
4. Complete the aide task:
task_complete: task_id=<id>, result="Designed JWT auth with refresh tokens"
5. Send status message:
message_send: from="agent-auth", type="status", content="[DESIGN] complete"
6. Check for messages from other agents:
message_list: agent_id="agent-auth"
Note: aide tasks do not have blockedBy dependency chaining like Claude Code native tasks. Stage ordering is enforced by the SDLC pipeline instructions — each agent processes stages sequentially (DESIGN → TEST → DEV → VERIFY → DOCS).
# Shared task board — all agents see the same tasks
task_list # View all tasks
task_list: status="pending" # View unclaimed work
# Messages — real-time coordination
message_send: from="agent-auth", type="status", content="[DESIGN] complete, starting TEST"
message_send: from="agent-auth", to="agent-payments", type="request", content="Need payment API schema"
message_list: agent_id="agent-auth"
message_ack: message_id=42, agent_id="agent-auth"
# State — supplementary progress tracking
./.aide/bin/aide state set "agent-auth:stage" "TEST"
# Decisions and discoveries — shared knowledge
mcp__plugin_aide_aide__decision_get with topic="auth-strategy"
./.aide/bin/aide decision set "auth-strategy" "JWT with refresh tokens"
./.aide/bin/aide memory add --category=discovery --tags=project:<name>,session:${AIDE_SESSION_ID},source:discovered "User model needs email validation"
Swarm completion checklist - ALL REQUIRED:
# Claude Code:
TaskList # All story tasks must show [completed]
# OpenCode:
task_list # All aide tasks must show [done]
Use mcp__plugin_aide_aide__memory_list with category=blocker
/aide:build-fix for any remaining build/test issuesRun verification on each worktree:
cd .aide/worktrees/story-X && npm test && npm run build
/aide:build-fix and re-verifyYOU MUST invoke /aide:worktree-resolve - this is not optional.
/aide:worktree-resolve
This skill will:
Only after successful merge, record the swarm session (see Orchestrator Memory below).
After swarm completes, record the session using the CLI:
./.aide/bin/aide memory add --category=session --tags=swarm,sdlc,project:<name>,session:${AIDE_SESSION_ID},source:discovered "## Swarm: [Brief Description]
### Stories Completed
- Story A: [outcome]
- Story B: [outcome]
- Story C: [outcome]
### Key Decisions Made
- [decision]: [rationale]
### Files Changed
- [summary of changes per story]
### Merge Status
- [branches merged successfully / any conflicts]"