Skip to content
Back to skills

Repo Management

ASecurity

Manage git repositories across teams using repo-manager.sh. Use when syncing repos, checking repo status, creating branches, or when user mentions 'repo sync', 'repo status', 'clone repos', 'setup repos', 'create branch across repos'.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
businessbashgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add abuango/pos-ai --skill repo-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Repo Management?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Repo Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/abuango-repo-management/badge)](https://www.skillsdirectory.com/skills/abuango-repo-management)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: repo-management
description: "Manage git repositories across teams using repo-manager.sh. Use when syncing repos, checking repo status, creating branches, or when user mentions 'repo sync', 'repo status', 'clone repos', 'setup repos', 'create branch across repos'."
allowed-tools: Read, Bash, Glob
---

# Repository Management

## Setup
Before starting: check `.handoff/sessions/` for active sessions, read context `status.yaml`, run `git status`. Follow `.rules/universal.md` (Plan -> Approve -> Execute).

<!-- Rules loaded from .rules/universal.md -->

Wrapper for `scripts/repo-manager.sh` to manage git repositories across teams.

## Commands

- `/repo setup {team|--all}` - Clone all repos for a team
- `/repo sync {team|--all}` - Pull latest changes
- `/repo status {team|--all}` - Check repo status
- `/repo verify {team|--all}` - Verify repos are cloned
- `/repo list {team|--all}` - List repos for team
- `/repo teams` - List all teams
- `/repo branch {team} {type/name}` - Create branch across repos
- `/repo merge {team}` - Merge current to active branch
- `/repo cleanup {team} [--dry-run] [--remote]` - Delete merged branches

## Branch Strategy

All teams use `develop` as active branch, `main`/`master` is production-only.
Full SOP: `docs/system/sops/branch-strategy.md`

The `sync` command automatically enforces this: repos on `main`/`master` get switched to `develop`.
The `status` command shows `[WARN: should be on develop]` for repos on the wrong branch.

## Available Contexts

Contexts are defined in `pos.yaml` under the `contexts:` key. Run `/repo teams` to list all registered contexts with repositories.

## Process

### Execute Command

All commands execute the repo-manager.sh script:

```bash
scripts/repo-manager.sh {command} {args}
```

### `/repo setup {team}`

Clones all repositories for a team from the platform registry.

```bash
./scripts/repo-manager.sh setup {team}
# Or for all teams:
./scripts/repo-manager.sh setup --all
```

**What it does:**
1. Reads platform-registry.yaml for team repos
2. Clones each repo to `{teams_dir}/{team}/repos/`
3. Checks out the active branch (if different from default)
4. Reports success/failure for each repo

### `/repo sync {team}`

Pulls latest changes for all team repos.

```bash
./scripts/repo-manager.sh sync {team}
```

**What it does:**
1. For each repo in team
2. `git fetch --all --prune`
3. `git pull` (if on tracking branch)
4. Reports ahead/behind status

### `/repo status {team}`

Shows git status for all team repos.

```bash
./scripts/repo-manager.sh status {team}
```

**Output includes:**
- Current branch
- Uncommitted changes count
- Ahead/behind remote count
- Last commit message

### `/repo branch {team} {type/name}`

Creates a branch across ALL team repos.

```bash
./scripts/repo-manager.sh branch {team} feature/my-feature
```

**Branch types:**
- `feature/` - New features
- `fix/` - Bug fixes
- `chore/` - Maintenance
- `hotfix/` - Urgent fixes
- `release/` - Release prep

### `/repo merge {team}`

Merges current branch back to active branch.

```bash
./scripts/repo-manager.sh merge {team}
```

### `/repo cleanup {team}`

Deletes merged branches.

```bash
# Preview deletions
./scripts/repo-manager.sh cleanup {team} --dry-run

# Delete local branches
./scripts/repo-manager.sh cleanup {team}

# Delete local AND remote branches
./scripts/repo-manager.sh cleanup {team} --remote
```

## Registry Reference

Repos are defined in the platform registry file referenced by `scripts/repo-manager.sh`. Each context lists its repositories, default branch, and active branch.

```yaml
contexts:
  my-project:
    default_branch: main        # Production branch (protected)
    active_branch: develop      # Development branch (all work here)
    repos:
      - name: my-project-core
      - name: my-project-api
```

## Examples

```bash
# Clone all repos for a context
/repo setup my-project

# Sync all contexts
/repo sync --all

# Check repo status for a context
/repo status my-project

# Create feature branch across a context
/repo branch my-project feature/add-webhooks

# Clean up merged branches (preview)
/repo cleanup my-project --dry-run
```

## Notes

- Registry file: referenced by `scripts/repo-manager.sh` (configurable per installation)
- Branch strategy: `docs/system/sops/branch-strategy.md`
- Script location: `scripts/repo-manager.sh`
- Repos are cloned to: `contexts/{context}/projects/`
- Supports SSH and HTTPS cloning
- Supports both GitLab and GitHub

## Self-Assessment (Internal)
Rate this skill execution 0-10. If < 8, write feedback to `.handoff/feedback/{date}-{skill-name}.yaml` with: skill, rating, friction, suggestion, context. Do not mention to user.

Files in this skill

  • SKILL.md4.6 KB
  • SKILL.md.tmpl4.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…