Shared Agents

sa sync · pull team repo

Team setup

Team setup

Team-specific content (learnings, team skills, team rules) lives in a separate private Git repository, cloned into:

$SHARED_AGENTS_HOME/team/

It is never pushed to the public Core repo.


Bootstrap (recommended)

During sa bootstrap or sa install, enter your private team remote URL when prompted. The wizard clones or updates team/ and writes config.local.yaml.

curl -fsSL https://raw.githubusercontent.com/netgrade-digital/shared-agents/refs/heads/main/scripts/bootstrap.sh | bash
source ~/.bashrc
sa team verify

Manual configuration

Edit $SHARED_AGENTS_HOME/config.local.yaml (gitignored):

team:
  remote: git@github.com:your-org/your-team-shared-agents.git

Then:

sa sync
sa team verify

Team repository layout

team/
├── learnings/
│   ├── pending/          # agent drafts (not used as knowledge)
│   ├── approved/         # promoted by sa review
│   └── index.yaml        # catalog
├── skills/               # team-only skills
└── rules/                # flat *.mdc

Verify team repo

sa team verify
sa team verify --json
sa team verify --strict    # exit 1 on warnings

Checks include:

  • team/.git present
  • origin matches config.local.yaml
  • learnings/index.yaml, pending/, approved/
  • Legacy ~/shared-agents/learnings/ or learnings/ at home root

Solo mode (no team remote)

Without team.remote, the CLI may use a solo fallback (core/learnings/). For real teams with private knowledge, always configure a team remote.


Legacy migration

If learnings still live at ~/.shared-agents/learnings/ (pre split):

sa team migrate --dry-run
sa team migrate

See Migrate team data.


Daily workflow

TaskCommand
Pull Core + teamsa sync
Push learning draftsa pending push
Approve learningsa review
Add team skill/rulesa skill new · sa rule new
Health checksa team verify · sa status

See also