github-multi-repo

GitHub Multi-Repo Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "github-multi-repo" with this command: npx skills add vamseeachanta/workspace-hub/vamseeachanta-workspace-hub-github-multi-repo

GitHub Multi-Repo Skill

Overview

Cross-repository swarm orchestration for organization-wide automation. This skill handles multi-repo coordination, synchronized operations, dependency management, security updates, and organization-wide policy changes.

Quick Start

List organization repositories

gh repo list org --limit 100 --json name,description,languages

Search across repositories

gh search code "pattern" --repo org/repo1 --repo org/repo2

Clone multiple repos

for repo in repo1 repo2 repo3; do gh repo clone org/$repo done

Check repository info

gh api repos/org/repo --jq '{name, default_branch, languages, topics}'

When to Use

  • Coordinating changes across multiple repositories

  • Organization-wide dependency updates

  • Synchronized security patches

  • Cross-repo refactoring operations

  • Multi-service microservices coordination

  • Library updates across consumers

Core Capabilities

Capability Description

Cross-repo initialization Multi-repo swarm setup

Repository discovery Auto-detect related repos

Synchronized operations Coordinated changes

Dependency management Cross-repo updates

Security coordination Organization-wide patches

Usage Examples

  1. Cross-Repo Swarm Initialization

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

  1. Repository Discovery

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 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 '.')

echo "Found $(echo "$REPOS" | jq length) TypeScript repositories" echo "Dependencies: $DEPS"

  1. Synchronized Dependency Update

Create tracking issue

TRACKING_ISSUE=$(gh issue create
--repo org/main-repo
--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 gh repo clone org/$repo /tmp/$repo -- --depth=1 cd /tmp/$repo

npm install --save-dev typescript@5.0.0

if npm test; then 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

Tracking: #$TRACKING_ISSUE"
--label "dependencies" else gh issue comment $TRACKING_ISSUE
--body "Failed to update $repo - tests failing" fi cd - rm -rf /tmp/$repo done

  1. Initialize Multi-Repo Swarm

// Initialize multi-repo swarm

// Store multi-repo state action: "store", key: "multi-repo/state", value: JSON.stringify({ repositories: ["frontend", "backend", "shared"], topology: "hierarchical", syncStrategy: "eventual" }) })

// Orchestrate synchronized operations task: "Update dependencies across all TypeScript repositories", strategy: "parallel", priority: "high" })

  1. Security Patch Coordination

Scan all repos for vulnerable dependency

VULN_REPOS=() for repo in $(gh repo list org --limit 100 --json name -q '.[].name'); do if gh api repos/org/$repo/contents/package.json 2>/dev/null |
jq -r '.content' | base64 -d | grep -q '"lodash": "4.17.19"'; then VULN_REPOS+=("$repo") fi done

echo "Found ${#VULN_REPOS[@]} repos with vulnerable lodash"

Create security tracking issue

SECURITY_ISSUE=$(gh issue create
--repo org/security-tracking
--title "SECURITY: Update lodash to 4.17.21"
--body "Critical security update for lodash CVE-XXXX

Affected repos: $(printf '- %s\n' "${VULN_REPOS[@]}")"
--label "security,critical")

Patch each repo

for repo in "${VULN_REPOS[@]}"; do gh repo clone org/$repo /tmp/$repo -- --depth=1 cd /tmp/$repo

npm install lodash@4.17.21 npm audit fix

git checkout -b security-lodash-update git add package.json package-lock.json git commit -m "security: Update lodash to 4.17.21

Fixes CVE-XXXX Tracking: $SECURITY_ISSUE"

git push origin HEAD gh pr create
--title "SECURITY: Update lodash to 4.17.21"
--body "Critical security update"
--label "security,critical"

cd - rm -rf /tmp/$repo done

Multi-Repo Configuration

.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]

Synchronization Patterns

Eventually Consistent

{ "sync": { "strategy": "eventual", "max-lag": "5m", "retry": { "attempts": 3, "backoff": "exponential" } } }

Strongly Consistent

{ "sync": { "strategy": "strong", "consensus": "raft", "quorum": 0.51, "timeout": "30s" } }

Hybrid Approach

{ "sync": { "default": "eventual", "overrides": { "security-updates": "strong", "dependency-updates": "strong", "documentation": "eventual" } } }

MCP Tool Integration

Swarm Coordination

topology: "hierarchical",
maxAgents: 10,
strategy: "balanced"

})

repos: ["org/frontend", "org/backend", "org/shared"]

})

Memory for Multi-Repo State

action: "store",
key: "multi-repo/sync/status",
namespace: "coordination",
value: JSON.stringify({
    lastSync: Date.now(),
    repos: {
        frontend: { status: "synced", version: "2.0.0" },
        backend: { status: "synced", version: "2.1.0" },
        shared: { status: "synced", version: "1.5.0" }
    }
})

})

Metrics Collection

repos: ["org/frontend", "org/backend"],
metrics: ["commits", "prs", "issues", "contributors"]

})

Use Cases

Microservices Coordination

npx ruv-swarm github microservices
--services "auth,users,orders,payments"
--ensure-compatibility
--sync-contracts
--integration-tests

Library Updates

npx ruv-swarm github lib-update
--library "org/shared-lib"
--version "2.0.0"
--find-consumers
--update-imports
--run-tests

Organization-Wide Changes

npx ruv-swarm github org-policy
--policy "add-security-headers"
--repos "org/*"
--validate-compliance
--create-reports

Best Practices

  1. Repository Organization
  • Clear repository roles and boundaries

  • Consistent naming conventions

  • Documented dependencies

  • Shared configuration standards

  1. Communication
  • Use appropriate sync strategies

  • Implement circuit breakers

  • Monitor latency and failures

  • Clear error propagation

  1. Security
  • Secure cross-repo authentication

  • Encrypted communication channels

  • Audit trail for all operations

  • Principle of least privilege

Monitoring and Visualization

Multi-Repo Dashboard

npx ruv-swarm github multi-repo-dashboard
--port 3000
--metrics "agent-activity,task-progress,memory-usage"
--real-time

Dependency Graph

npx ruv-swarm github dep-graph
--format mermaid
--include-agents
--show-data-flow

Health Monitoring

npx ruv-swarm github health-check
--repos "org/*"
--check "connectivity,memory,agents"
--alert-on-issues

Troubleshooting

Connectivity Issues

npx ruv-swarm github diagnose-connectivity
--test-all-repos
--check-permissions
--verify-webhooks

Memory Synchronization

npx ruv-swarm github debug-memory
--check-consistency
--identify-conflicts
--repair-state

Version History

  • 1.0.0 (2025-01-02): Initial release - converted from multi-repo-swarm agent

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

cli-productivity

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-docx

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-scientific-computing

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-pptx

No summary provided by upstream source.

Repository SourceNeeds Review