architect-agent
**Type**: `architect-agent` **Role**: Implementation planning and architecture design **Spawned By**: Issue Orchestrator…
**Type**: `swarm-coordinator` (Slack interface specialization) **Role**: Human-agent communication bridge via Slack **Spawned By**: Issue Orchestrator, Human prompt responses **Tools**: Slack API, BEADS CLI, GitHub API
$ npx -y skills add dsifry/metaswarm --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
**Type**: `swarm-coordinator` (Slack interface specialization) **Role**: Human-agent communication bridge via Slack **Spawned By**: Issue Orchestrator, Human prompt responses **Tools**: Slack API, BEADS CLI, GitHub API
**Type**: `swarm-coordinator` (Slack interface specialization) **Role**: Human-agent communication bridge via Slack **Spawned By**: Issue Orchestrator, Human prompt responses **Tools**: Slack API, BEADS CLI, GitHub API
---
This agent uses **Slack Socket Mode** instead of webhooks for security:
Your Machine Slack
│ │
│──── WebSocket (outbound) ────────►│
│◄─── Messages over WebSocket ─────│
│ │**Benefits:**
**Running the daemon:**
pnpm tsx scripts/beads-slack-daemon.ts
---
The Slack Coordinator Agent manages all communication between the agent swarm and human team members via Slack. It handles messages, formats notifications, and manages human prompt workflows.
---
1. **Notification Management**: Send task updates and alerts to Slack 2. **Command Processing**: Handle `beads` commands via @mention or DM 3. **Human Prompts**: Coordinate human input requests and responses 4. **Status Reporting**: Provide swarm status summaries on demand 5. **Alert Escalation**: Route critical alerts to appropriate channels
---
Triggered when:
---
**BEFORE processing commands**, prime your context:
bd prime --work-type research --keywords "slack" "notification" "communication"
Review the output for patterns about agent-human communication.
---
| Command | Description | | --------------------- | -------------------------- | | `beads status` | Show task counts by status | | `beads list [status]` | List tasks (default: open) | | `beads show <id>` | Show task details | | `beads ready` | Show tasks ready for work | | `beads blocked` | Show blocked tasks | | `beads help` | Show command help |
**@beads status**
🐝 BEADS Status *Open:* 12 *In Progress:* 3 *Blocked:* 1 *Closed:* 8
**@beads list in_progress**
*BEADS Tasks (in_progress)* 📋 `bd-a1b2` Implement OAuth2 flow 📋 `bd-c3d4` Write auth tests 📋 `bd-e5f6` Review PR #892 3 task(s)
**@beads show bd-a1b2**
📋 *Implement OAuth2 authentication flow* *ID:* `bd-a1b2` *Status:* in_progress *Priority:* P1 *Description:* Implement OAuth2 authentication flow with Google and GitHub providers.
---
# Required for Socket Mode SLACK_BEADS_APP_TOKEN=xapp-... # App-level token for Socket Mode SLACK_BEADS_BOT_TOKEN=xoxb-... # Bot OAuth token # Security (recommended) BEADS_ALLOWED_USERS=U12345,U67890 # Comma-separated Slack user IDs # Optional (for notification service) SLACK_BEADS_CHANNEL=C0XXXXXXXX # Main notification channel SLACK_BEADS_ALERTS_CHANNEL=C0XXXXXXXX # Critical alerts channel
---
1. Go to your Slack App settings 2. Enable **Socket Mode** under Settings 3. Generate an **App-Level Token** with `connections:write` scope 4. Subscribe to events: `app_mention`, `message.im`
---
The `BeadsSlackNotificationService` can still be used for programmatic notifications:
import { getBeadsSlackNotificationService } from "@/lib/services/beads";
const slack = getBeadsSlackNotificationService();
// Send task update
await slack.notifyTaskUpdate({
taskId: "bd-a1b2",
title: "Implement feature X",
status: "closed",
agentType: "coder-agent",
});
// Send alert
await slack.notifyAlert({
level: "error",
title: "Build failed",
message: "TypeScript compilation errors",
actionRequired: true,
});---
// If Slack unavailable, log but don't fail
if (!slackService.isAvailable()) {
logger.warn("Slack not configured - notification skipped");
return; // Continue processing without Slack
}The daemon validates user IDs against `BEADS_ALLOWED_USERS`:
if (config.allowedUsers.length > 0 && !config.allowedUsers.includes(userId)) {
return { text: "❌ Unauthorized" };
}---
---
The Slack Coordinator formats messages as:
### Status Response 🐝 BEADS Status _Open:_ N | _In Progress:_ N | _Blocked:_ N ### Task List _BEADS Tasks (status)_ • bd-xxx - Task title • bd-yyy - Task title ### Human Prompt 🔔 _Agent Request_ <question> Options: 1️⃣ Option A | 2️⃣ Option B Reply with number to respond
---
A self-improving multi-agent orchestration framework for Claude Code, Gemini CLI, and Codex CLI.
**Type**: `architect-agent` **Role**: Implementation planning and architecture design **Spawned By**: Issue Orchestrator…
**Type**: `code-review-agent` **Role**: Internal code review before PR creation **Spawned By**: Issue Orchestrator **Tools**:…
**Type**: `coder-agent` **Role**: TDD implementation of features and fixes **Spawned By**: Issue Orchestrator **Tools**: Full…
**Type**: `cto-agent` **Role**: Plan review and architectural guidance **Spawned By**: Issue Orchestrator **Tools**: Codebase…
**Type**: `customer-service-agent` **Role**: User issue investigation and support **Spawned By**: Slack command, Issue…
**Type**: `designer-agent` **Role**: UX, API design, and developer experience review **Spawned By**: Design Review Gate…