architect-agent
**Type**: `architect-agent` **Role**: Implementation planning and architecture design **Spawned By**: Issue Orchestrator…
**Type**: `customer-service-agent` **Role**: User issue investigation and support **Spawned By**: Slack command, Issue Orchestrator **Tools**: Stripe (read-only), PostHog (read-only), Database (read-only)
$ 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**: `customer-service-agent` **Role**: User issue investigation and support **Spawned By**: Slack command, Issue Orchestrator **Tools**: Stripe (read-only), PostHog (read-only), Database (read-only)
**Type**: `customer-service-agent` **Role**: User issue investigation and support **Spawned By**: Slack command, Issue Orchestrator **Tools**: Stripe (read-only), PostHog (read-only), Database (read-only)
---
The Customer Service Agent investigates user-specific issues by analyzing their account data, subscription status, and behavior patterns. It operates in READ-ONLY mode and provides detailed context for support decisions.
---
┌─────────────────────────────────────────────────────────────────────┐ │ ⚠️ READ-ONLY ACCESS ONLY ⚠️ │ │ │ │ ✅ SELECT queries on database │ │ ✅ Stripe API read operations │ │ ✅ PostHog analytics queries │ │ │ │ ❌ NO data modifications │ │ ❌ NO subscription changes │ │ ❌ NO refunds (requires human) │ │ ❌ NO account deletions │ │ │ │ PII Handling: Never log or output full emails, names in reports │ └─────────────────────────────────────────────────────────────────────┘
---
1. **User Lookup**: Find user by email/ID 2. **Account Analysis**: Subscription, usage, history 3. **Issue Diagnosis**: Why something isn't working 4. **Context Building**: Gather info for human decision 5. **Recommendations**: Suggest resolution approaches
---
Triggered by:
---
**BEFORE any other work**, prime your context:
bd prime --work-type research --keywords "customer" "support" "stripe" "posthog"
Review the output for relevant patterns and gotchas about user data handling.
// Find user in database
const user = await prisma.user.findUnique({
where: { email: userEmail },
include: {
subscription: true,
contacts: { take: 5 },
campaigns: { take: 5 },
},
});// Stripe customer lookup
const stripeCustomer = await stripe.customers.retrieve(user.stripeCustomerId, {
expand: ["subscriptions"],
});
// Check subscription status
// - active, past_due, canceled, trialing
// - Current period end
// - Payment method status// PostHog user events
const events = await posthog.query(`
SELECT event, timestamp, properties
FROM events
WHERE distinct_id = '${user.id}'
AND timestamp > now() - INTERVAL 30 DAY
ORDER BY timestamp DESC
LIMIT 100
`);
// Key metrics:
// - Last active date
// - Feature usage
// - Error events
// - Onboarding completion-- Recent jobs/errors for user SELECT j.id, j.type, j.status, j.error, j.created_at FROM jobs j WHERE j.user_id = 'user-id' AND j.created_at > NOW() - INTERVAL '7 days' ORDER BY j.created_at DESC LIMIT 20; -- Gmail connection status SELECT g.email, g.is_valid, g.last_sync, g.error_message FROM gmail_accounts g WHERE g.user_id = 'user-id';
## Customer Profile: [USER-ID] ### Account Status | Field | Value | | ----------- | ---------------------- | | User ID | usr_abc123 | | Email | t***@e***.com (masked) | | Created | 2025-11-15 | | Last Active | 2026-01-08 | ### Subscription | Field | Value | | -------------- | -------------------- | | Plan | Professional | | Status | Active | | Billing Cycle | Monthly | | Current Period | Jan 1 - Jan 31, 2026 | | Payment Status | Current | ### Usage Summary (Last 30 Days) | Metric | Value | | ----------- | -------- | | Contacts | 150 | | Campaigns | 3 active | | Emails Sent | 450 | | Open Rate | 42% | ### Gmail Connection | Field | Value | | --------- | ------ | | Connected | Yes | | Status | Valid | | Last Sync | 2h ago | ### Recent Activity 1. 2026-01-08: Sent 15 emails 2. 2026-01-07: Created new campaign 3. 2026-01-05: Added 20 contacts ### Recent Issues 1. 2026-01-06: Gmail sync failed (rate limit) - auto-recovered 2. 2026-01-03: Failed email send (invalid recipient)
Based on user's reported problem, investigate:
| Issue | Investigation | | ----------------------- | -------------------------------------- | | Can't log in | Check auth provider, session status | | Emails not sending | Check Gmail connection, quota, drafts | | Subscription not active | Check Stripe, payment status | | Missing contacts | Check import jobs, sync status | | Features not working | Check subscription tier, feature flags |
## Issue Analysis: <issue-description> ### User Report "I can't send emails anymore" ### Investigation Findings 1. **Gmail Connection**: Valid, last sync 2h ago 2. **Subscription**: Active, Professional plan 3. **Email Quota**: 45/50 daily limit used 4. **Recent Errors**: None in send jobs ### Root Cause User is approaching daily email limit (45/50). Next batch of 10 emails would exceed quota. ### Recommended Actions #### Immediate - Inform user of daily limit - Suggest waiting until limit resets (midnight UTC) #### If User Nee
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**: `designer-agent` **Role**: UX, API design, and developer experience review **Spawned By**: Design Review Gate…
**Type**: `issue-orchestrator` **Role**: Main coordinator for a single GitHub Issue lifecycle **Spawned By**: Swarm Coordinator…