agent-swarm-issue
Transforms GitHub issues into managed multi-agent task swarms to improve project coordination.
Install
mkdir -p .claude/skills/agent-swarm-issue && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6251" && unzip -o skill.zip -d .claude/skills/agent-swarm-issue && rm skill.zipInstalls to .claude/skills/agent-swarm-issue
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Agent skill for swarm-issue - invoke with $agent-swarm-issueKey capabilities
- →Converts GitHub issues into task orchestrations
- →Automatically decomposes issues into sub-tasks
- →Assigns specific roles to swarm agents
- →Tracks cross-agent progress
- →Updates issue status and comments
How it works
Uses a suite of MCP tools to interact with GitHub APIs, initializing swarm topologies and orchestrating agent assignments based on issue labels.
Inputs & outputs
When to use agent-swarm-issue
- →Decompose large GitHub issues into sub-tasks
- →Coordinate multiple agents for complex issue resolution
- →Automate status updates on issue trackers
- →Track swarm progress across distributed tasks
About this skill
name: swarm-issue description: GitHub issue-based swarm coordination agent that transforms issues into intelligent multi-agent tasks with automatic decomposition and progress tracking type: coordination color: "#FF6B35" tools:
- mcp__github__get_issue
- mcp__github__create_issue
- mcp__github__update_issue
- mcp__github__list_issues
- mcp__github__create_issue_comment
- mcp__claude-flow__swarm_init
- mcp__claude-flow__agent_spawn
- mcp__claude-flow__task_orchestrate
- mcp__claude-flow__memory_usage
- TodoWrite
- TodoRead
- Bash
- Grep
- Read
- Write
hooks:
pre:
- "Initialize swarm coordination system for GitHub issue management"
- "Analyze issue context and determine optimal swarm topology"
- "Store issue metadata in swarm memory for cross-agent access" post:
- "Update issue with swarm progress and agent assignments"
- "Create follow-up tasks based on swarm analysis results"
- "Generate comprehensive swarm coordination report"
Swarm Issue - Issue-Based Swarm Coordination
Overview
Transform GitHub Issues into intelligent swarm tasks, enabling automatic task decomposition and agent coordination with advanced multi-agent orchestration.
Core Features
1. Issue-to-Swarm Conversion
# Create swarm from issue using gh CLI
# Get issue details
ISSUE_DATA=$(gh issue view 456 --json title,body,labels,assignees,comments)
# Create swarm from issue
npx ruv-swarm github issue-to-swarm 456 \
--issue-data "$ISSUE_DATA" \
--auto-decompose \
--assign-agents
# Batch process multiple issues
ISSUES=$(gh issue list --label "swarm-ready" --json number,title,body,labels)
npx ruv-swarm github issues-batch \
--issues "$ISSUES" \
--parallel
# Update issues with swarm status
echo "$ISSUES" | jq -r '.[].number' | while read -r num; do
gh issue edit $num --add-label "swarm-processing"
done
2. Issue Comment Commands
Execute swarm operations via issue comments:
<!-- In issue comment -->
$swarm analyze
$swarm decompose 5
$swarm assign @agent-coder
$swarm estimate
$swarm start
3. Issue Templates for Swarms
<!-- .github/ISSUE_TEMPLATE$swarm-task.yml -->
name: Swarm Task
description: Create a task for AI swarm processing
body:
- type: dropdown
id: topology
attributes:
label: Swarm Topology
options:
- mesh
- hierarchical
- ring
- star
- type: input
id: agents
attributes:
label: Required Agents
placeholder: "coder, tester, analyst"
- type: textarea
id: tasks
attributes:
label: Task Breakdown
placeholder: |
1. Task one description
2. Task two description
Issue Label Automation
Auto-Label Based on Content
// .github$swarm-labels.json
{
"rules": [
{
"keywords": ["bug", "error", "broken"],
"labels": ["bug", "swarm-debugger"],
"agents": ["debugger", "tester"]
},
{
"keywords": ["feature", "implement", "add"],
"labels": ["enhancement", "swarm-feature"],
"agents": ["architect", "coder", "tester"]
},
{
"keywords": ["slow", "performance", "optimize"],
"labels": ["performance", "swarm-optimizer"],
"agents": ["analyst", "optimizer"]
}
]
}
Dynamic Agent Assignment
# Assign agents based on issue content
npx ruv-swarm github issue-analyze 456 \
--suggest-agents \
--estimate-complexity \
--create-subtasks
Issue Swarm Commands
Initialize from Issue
# Create swarm with full issue context using gh CLI
# Get complete issue data
ISSUE=$(gh issue view 456 --json title,body,labels,assignees,comments,projectItems)
# Get referenced issues and PRs
REFERENCES=$(gh issue view 456 --json body --jq '.body' | \
grep -oE '#[0-9]+' | while read -r ref; do
NUM=${ref#\#}
gh issue view $NUM --json number,title,state 2>$dev$null || \
gh pr view $NUM --json number,title,state 2>$dev$null
done | jq -s '.')
# Initialize swarm
npx ruv-swarm github issue-init 456 \
--issue-data "$ISSUE" \
--references "$REFERENCES" \
--load-comments \
--analyze-references \
--auto-topology
# Add swarm initialization comment
gh issue comment 456 --body "🐝 Swarm initialized for this issue"
Task Decomposition
# Break down issue into subtasks with gh CLI
# Get issue body
ISSUE_BODY=$(gh issue view 456 --json body --jq '.body')
# Decompose into subtasks
SUBTASKS=$(npx ruv-swarm github issue-decompose 456 \
--body "$ISSUE_BODY" \
--max-subtasks 10 \
--assign-priorities)
# Update issue with checklist
CHECKLIST=$(echo "$SUBTASKS" | jq -r '.tasks[] | "- [ ] " + .description')
UPDATED_BODY="$ISSUE_BODY
## Subtasks
$CHECKLIST"
gh issue edit 456 --body "$UPDATED_BODY"
# Create linked issues for major subtasks
echo "$SUBTASKS" | jq -r '.tasks[] | select(.priority == "high")' | while read -r task; do
TITLE=$(echo "$task" | jq -r '.title')
BODY=$(echo "$task" | jq -r '.description')
gh issue create \
--title "$TITLE" \
--body "$BODY
Parent issue: #456" \
--label "subtask"
done
Progress Tracking
# Update issue with swarm progress using gh CLI
# Get current issue state
CURRENT=$(gh issue view 456 --json body,labels)
# Get swarm progress
PROGRESS=$(npx ruv-swarm github issue-progress 456)
# Update checklist in issue body
UPDATED_BODY=$(echo "$CURRENT" | jq -r '.body' | \
npx ruv-swarm github update-checklist --progress "$PROGRESS")
# Edit issue with updated body
gh issue edit 456 --body "$UPDATED_BODY"
# Post progress summary as comment
SUMMARY=$(echo "$PROGRESS" | jq -r '
"## 📊 Progress Update
**Completion**: \(.completion)%
**ETA**: \(.eta)
### Completed Tasks
\(.completed | map("- ✅ " + .) | join("\n"))
### In Progress
\(.in_progress | map("- 🔄 " + .) | join("\n"))
### Remaining
\(.remaining | map("- ⏳ " + .) | join("\n"))
---
🤖 Automated update by swarm agent"')
gh issue comment 456 --body "$SUMMARY"
# Update labels based on progress
if [[ $(echo "$PROGRESS" | jq -r '.completion') -eq 100 ]]; then
gh issue edit 456 --add-label "ready-for-review" --remove-label "in-progress"
fi
Advanced Features
1. Issue Dependencies
# Handle issue dependencies
npx ruv-swarm github issue-deps 456 \
--resolve-order \
--parallel-safe \
--update-blocking
2. Epic Management
# Coordinate epic-level swarms
npx ruv-swarm github epic-swarm \
--epic 123 \
--child-issues "456,457,458" \
--orchestrate
3. Issue Templates
# Generate issue from swarm analysis
npx ruv-swarm github create-issues \
--from-analysis \
--template "bug-report" \
--auto-assign
Workflow Integration
GitHub Actions for Issues
# .github$workflows$issue-swarm.yml
name: Issue Swarm Handler
on:
issues:
types: [opened, labeled, commented]
jobs:
swarm-process:
runs-on: ubuntu-latest
steps:
- name: Process Issue
uses: ruvnet$swarm-action@v1
with:
command: |
if [[ "${{ github.event.label.name }}" == "swarm-ready" ]]; then
npx ruv-swarm github issue-init ${{ github.event.issue.number }}
fi
Issue Board Integration
# Sync with project board
npx ruv-swarm github issue-board-sync \
--project "Development" \
--column-mapping '{
"To Do": "pending",
"In Progress": "active",
"Done": "completed"
}'
Issue Types & Strategies
Bug Reports
# Specialized bug handling
npx ruv-swarm github bug-swarm 456 \
--reproduce \
--isolate \
--fix \
--test
Feature Requests
# Feature implementation swarm
npx ruv-swarm github feature-swarm 456 \
--design \
--implement \
--document \
--demo
Technical Debt
# Refactoring swarm
npx ruv-swarm github debt-swarm 456 \
--analyze-impact \
--plan-migration \
--execute \
--validate
Automation Examples
Auto-Close Stale Issues
# Process stale issues with swarm using gh CLI
# Find stale issues
STALE_DATE=$(date -d '30 days ago' --iso-8601)
STALE_ISSUES=$(gh issue list --state open --json number,title,updatedAt,labels \
--jq ".[] | select(.updatedAt < \"$STALE_DATE\")")
# Analyze each stale issue
echo "$STALE_ISSUES" | jq -r '.number' | while read -r num; do
# Get full issue context
ISSUE=$(gh issue view $num --json title,body,comments,labels)
# Analyze with swarm
ACTION=$(npx ruv-swarm github analyze-stale \
--issue "$ISSUE" \
--suggest-action)
case "$ACTION" in
"close")
# Add stale label and warning comment
gh issue comment $num --body "This issue has been inactive for 30 days and will be closed in 7 days if there's no further activity."
gh issue edit $num --add-label "stale"
;;
"keep")
# Remove stale label if present
gh issue edit $num --remove-label "stale" 2>$dev$null || true
;;
"needs-info")
# Request more information
gh issue comment $num --body "This issue needs more information. Please provide additional context or it may be closed as stale."
gh issue edit $num --add-label "needs-info"
;;
esac
done
# Close issues that have been stale for 37+ days
gh issue list --label stale --state open --json number,updatedAt \
--jq ".[] | select(.updatedAt < \"$(date -d '37 days ago' --iso-8601)\") | .number" | \
while read -r num; do
gh issue close $num --comment "Closing due to inactivity. Feel free to reopen if this is still relevant."
done
Issue Triage
# Automated triage system
npx ruv-swarm github triage \
--unlabeled \
--analyze-content \
--suggest-labels \
--assign-priority
Duplicate Detection
# Find duplicate issues
npx ruv-swarm github find-duplicates \
--threshold 0.8 \
--link-related \
--close-duplicates
Integration Patterns
1. Issue-PR Linking
# Link issues to PR
---
*Content truncated.*
When not to use it
- →For trivial issues that do not require delegation
- →In repositories without GitHub integration support
Prerequisites
Limitations
- →Requires well-defined issue metadata for decomposition
- →Limited by GitHub API rate and access constraints
- →Swarm success relies on quality of initial issue content
How it compares
It automates the entire project management lifecycle of an issue rather than requiring manual decomposition and agent handoff.
Compared to similar skills
agent-swarm-issue side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| agent-swarm-issue (this skill) | 1 | 6mo | Review | Intermediate |
| issue-discover | 1 | 3mo | No flags | Intermediate |
| workflow | 0 | 3mo | No flags | Intermediate |
| gsd-stats | 0 | 3mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by ruvnet
View all by ruvnet →You might also like
issue-discover
catlog22
Unified issue discovery and creation. Create issues from GitHub/text, discover issues via multi-perspective analysis, or prompt-driven iterative exploration. Triggers on "issue:new", "issue:discover", "issue:discover-by-prompt", "create issue", "discover issues", "find issues".
workflow
g2i-ai
Orchestrate the repo workflow from brief through draft PR using skills and thin role wrappers.
gsd-stats
ColourWithin
Display project statistics — phases, plans, requirements, git metrics, and timeline
archon
coleam00
Interactive Archon integration for knowledge base and project management via REST API. On first use, asks for Archon host URL. Use when searching documentation, managing projects/tasks, or querying indexed knowledge. Provides RAG-powered semantic search, website crawling, document upload, hierarchical project/task management, and document versioning. Always try Archon first for external documentation and knowledge retrieval before using other sources.
github-manage
matteocervelli
Manage operations concerning GitHub on behalf of user
jira
davila7
Use when the user mentions Jira issues (e.g., "PROJ-123"), asks about tickets, wants to create/view/update issues, check sprint status, or manage their Jira workflow. Triggers on keywords like "jira", "issue", "ticket", "sprint", "backlog", or issue key patterns.