Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Agent skill for multi-repo-swarm - invoke with $agent-multi-repo-swarm
.claude/skills/agent-multi-repo-swarm/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-08 | ✗→✓ | ▲ Improved | — | — |
| case-07 | ✗→✓ | ▲ Improved | — | — |
| case-04 | ✗→✓ | ▲ Improved | — | — |
Coordinate AI swarms across multiple repositories, enabling organization-wide automation and intelligent cross-project collaboration.
bash# Initialize multi-repo swarm with gh CLI # List organization repositories REPOS=$(gh repo list org --limit 100 --json name,description,languages \ --jq '.[] | select(.name | test("frontend|backend|shared"))') # Get repository details REPO_DETAILS=$(echo "$REPOS" | jq -r '.name' | while read -r repo; do gh api repos$org/$repo --jq '{name, default_branch, languages, topics}' done | jq -s '.') # Initialize swarm with repository context npx ruv-swarm github multi-repo-init \ --repo-details "$REPO_DETAILS" \ --repos "org$frontend,org$backend,org$shared" \ --topology hierarchical \ --shared-memory \ --sync-strategy eventual
bash# Auto-discover related repositories with gh CLI # Search organization repositories REPOS=$(gh repo list my-organization --limit 100 \ --json name,description,languages,topics \ --jq '.[] | select(.languages | keys | contains(["TypeScript"]))') # Analyze repository dependencies DEPS=$(echo "$REPOS" | jq -r '.name' | while read -r repo; do # Get package.json if it exists if gh api repos$my-organization/$repo$contents$package.json --jq '.content' 2>$dev$null; then gh api repos$my-organization/$repo$contents$package.json \ --jq '.content' | base64 -d | jq '{name, dependencies, devDependencies}' fi done | jq -s '.') # Discover and analyze npx ruv-swarm github discover-repos \ --repos "$REPOS" \ --dependencies "$DEPS" \ --analyze-dependencies \ --suggest-swarm-topology
bash# Execute synchronized changes across repos with gh CLI # Get matching repositories MATCHING_REPOS=$(gh repo list org --limit 100 --json name \ --jq '.[] | select(.name | test("-service$")) | .name') # Execute task and create PRs echo "$MATCHING_REPOS" | while read -r repo; do # Clone repo gh repo clone org/$repo $tmp/$repo -- --depth=1 # Execute task cd $tmp/$repo npx ruv-swarm github task-execute \ --task "update-dependencies" \ --repo "org/$repo" # Create PR if changes exist if [[ -n $(git status --porcelain) ]]; then git checkout -b update-dependencies-$(date +%Y%m%d) git add -A git commit -m "chore: Update dependencies" # Push and create PR git push origin HEAD PR_URL=$(gh pr create \ --title "Update dependencies" \ --body "Automated dependency update across services" \ --label "dependencies,automated") echo "$PR_URL" >> $tmp$created-prs.txt fi cd - done # Link related PRs PR_URLS=$(cat $tmp$created-prs.txt) npx ruv-swarm github link-prs --urls "$PR_URLS"
yaml# .swarm$multi-repo.yml version: 1 organization: my-org repositories: - name: frontend url: github.com$my-org$frontend role: ui agents: [coder, designer, tester] - name: backend url: github.com$my-org$backend role: api agents: [architect, coder, tester] - name: shared url: github.com$my-org$shared role: library agents: [analyst, coder] coordination: topology: hierarchical communication: webhook memory: redis:/$shared-memory dependencies: - from: frontend to: [backend, shared] - from: backend to: [shared]
javascript// Define repository roles and responsibilities { "roles": { "ui": { "responsibilities": ["user-interface", "ux", "accessibility"], "default-agents": ["designer", "coder", "tester"] }, "api": { "responsibilities": ["endpoints", "business-logic", "data"], "default-agents": ["architect", "coder", "security"] }, "library": { "responsibilities": ["shared-code", "utilities", "types"], "default-agents": ["analyst", "coder", "documenter"] } } }
bash# Update dependencies across all repos with gh CLI # Create tracking issue first TRACKING_ISSUE=$(gh issue create \ --title "Dependency Update: typescript@5.0.0" \ --body "Tracking issue for updating TypeScript across all repositories" \ --label "dependencies,tracking" \ --json number -q .number) # Get all repos with TypeScript TS_REPOS=$(gh repo list org --limit 100 --json name | jq -r '.[].name' | \ while read -r repo; do if gh api repos$org/$repo$contents$package.json 2>$dev$null | \ jq -r '.content' | base64 -d | grep -q '"typescript"'; then echo "$repo" fi done) # Update each repository echo "$TS_REPOS" | while read -r repo; do # Clone and update gh repo clone org/$repo $tmp/$repo -- --depth=1 cd $tmp/$repo # Update dependency npm install --save-dev typescript@5.0.0 # Test changes if npm test; then # Create PR git checkout -b update-typescript-5 git add package.json package-lock.json git commit -m "chore: Update TypeScript to 5.0.0 Part of #$TRACKING_ISSUE" git push origin HEAD gh pr create \ --title "Update TypeScript to 5.0.0" \ --body "Updates TypeScript to version 5.0.0\n\nTracking: #$TRACKING_ISSUE" \ --label "dependencies" else # Report failure gh issue comment $TRACKING_ISSUE \ --body "❌ Failed to update $repo - tests failing" fi cd - done
bash# Coordinate large-scale refactoring npx ruv-swarm github multi-repo-refactor \ --pattern "rename:OldAPI->NewAPI" \ --analyze-impact \ --create-migration-guide \ --staged-rollout
bash# Coordinate security patches npx ruv-swarm github multi-repo-security \ --scan-all \ --patch-vulnerabilities \ --verify-fixes \ --compliance-report
javascript// webhook-coordinator.js const { MultiRepoSwarm } = require('ruv-swarm'); const swarm = new MultiRepoSwarm({ webhook: { url: 'https:/$swarm-coordinator.example.com', secret: process.env.WEBHOOK_SECRET } }); // Handle cross-repo events swarm.on('repo:update', async (event) => { await swarm.propagate(event, { to: event.dependencies, strategy: 'eventual-consistency' }); });
graphql# Federated schema for multi-repo queries type Repository @key(fields: "id") { id: ID! name: String! swarmStatus: SwarmStatus! dependencies: [Repository!]! agents: [Agent!]! } type SwarmStatus { active: Boolean! topology: Topology! tasks: [Task!]! memory: JSON! }
yaml# Kafka configuration for real-time coordination kafka: brokers: ['kafka1:9092', 'kafka2:9092'] topics: swarm-events: partitions: 10 replication: 3 swarm-memory: partitions: 5 replication: 3
bash# Create distributed task queue npx ruv-swarm github multi-repo-queue \ --backend redis \ --workers 10 \ --priority-routing \ --dead-letter-queue
bash# Run integration tests across repos npx ruv-swarm github multi-repo-test \ --setup-test-env \ --link-services \ --run-e2e \ --tear-down
bash# Assist in monorepo migration npx ruv-swarm github to-monorepo \ --analyze-repos \ --suggest-structure \ --preserve-history \ --create-migration-prs
bash# Launch monitoring dashboard npx ruv-swarm github multi-repo-dashboard \ --port 3000 \ --metrics "agent-activity,task-progress,memory-usage" \ --real-time
bash# Visualize repo dependencies npx ruv-swarm github dep-graph \ --format mermaid \ --include-agents \ --show-data-flow
bash# Monitor swarm health across repos npx ruv-swarm github health-check \ --repos "org/*" \ --check "connectivity,memory,agents" \ --alert-on-issues
javascript// Eventual consistency for non-critical updates { "sync": { "strategy": "eventual", "max-lag": "5m", "retry": { "attempts": 3, "backoff": "exponential" } } }
javascript// Strong consistency for critical operations { "sync": { "strategy": "strong", "consensus": "raft", "quorum": 0.51, "timeout": "30s" } }
javascript// Mix of consistency levels { "sync": { "default": "eventual", "overrides": { "security-updates": "strong", "dependency-updates": "strong", "documentation": "eventual" } } }
bash# Coordinate microservices development npx ruv-swarm github microservices \ --services "auth,users,orders,payments" \ --ensure-compatibility \ --sync-contracts \ --integration-tests
bash# Update shared library across consumers npx ruv-swarm github lib-update \ --library "org$shared-lib" \ --version "2.0.0" \ --find-consumers \ --update-imports \ --run-tests
bash# Apply org-wide policy changes npx ruv-swarm github org-policy \ --policy "add-security-headers" \ --repos "org/*" \ --validate-compliance \ --create-reports
bash# Implement cross-repo caching npx ruv-swarm github cache-strategy \ --analyze-patterns \ --suggest-cache-layers \ --implement-invalidation
bash# Optimize parallel operations npx ruv-swarm github parallel-optimize \ --analyze-dependencies \ --identify-parallelizable \ --execute-optimal
bash# Pool resources across repos npx ruv-swarm github resource-pool \ --share-agents \ --distribute-load \ --monitor-usage
bash# Diagnose connectivity problems npx ruv-swarm github diagnose-connectivity \ --test-all-repos \ --check-permissions \ --verify-webhooks
bash# Debug memory sync issues npx ruv-swarm github debug-memory \ --check-consistency \ --identify-conflicts \ --repair-state
bash# Identify performance issues npx ruv-swarm github perf-analysis \ --profile-operations \ --identify-bottlenecks \ --suggest-optimizations
bash# Update full-stack application npx ruv-swarm github fullstack-update \ --frontend "org$web-app" \ --backend "org$api-server" \ --database "org$db-migrations" \ --coordinate-deployment
bash# Facilitate cross-team work npx ruv-swarm github cross-team \ --teams "frontend,backend,devops" \ --task "implement-feature-x" \ --assign-by-expertise \ --track-progress
See also: swarm-pr.md, project-board-sync.md
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +74 percentage points is the difference between those two pass rates over the 22 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.