Metagit campaign skill
Use when coordinating many repos under one intent (rollout, migration, tier stamp) with a committed, diffable status overlay.
Docs: campaigns.md · Registry: modality-feature-registry.md
When to use
- One selection query → frozen repo list → per-repo status/MR tracking
- Fan-out spine objectives for parallel agents (
campaign expand) - Rollup: merged vs open MR vs blocked without manual spreadsheets
Configuration
# metagit.config.yaml
workspace:
campaigns_path: _campaigns # default; or knowledge/campaigns
Env: METAGIT_WORKSPACE_CAMPAIGNS_PATH
Lifecycle
export METAGIT_AGENT_MODE=true
# 1. Create from find query (+ optional tags)
metagit campaign new --slug tier-full --title "Full-tier rollout" \
--query "platform" --tag agent_tier=full
# 2. Validate atlas references
metagit campaign validate
# 3. Optional: one objective per repo for spine tracking
metagit campaign expand --slug tier-full --dry-run
metagit campaign expand --slug tier-full
# 4. Work repos; update status as MRs land
metagit campaign set --slug tier-full --repo platform/api \
--status mr-open --mr "https://gitlab.example.com/…/merge_requests/42"
metagit campaign set --slug tier-full --repo platform/api --status merged
# 5. Rollup
metagit campaign status --slug tier-full --json
Agent posture before repo work
When repos declare agent_profile, provision before dispatch:
metagit agent profile show -p platform -n api --json
metagit agent apply --vendor claude_code --project platform --repo api
Skill: metagit-cli · Doc: agent-profile.md
Orchestrator polling
metagit context events --campaign tier-full --since "<iso-cursor>" --json
metagit context handoff list --json
Objective MR binding
When an objective produces an MR or approval, record linkage:
echo '{"id":"campaign-tier-full-platform-api","mr_url":"https://…","approval_id":"abc"}' \
| metagit context objective set
Safety
- Commit
_campaigns/(or configured path) to git - Run
metagit campaign validatein CI alongsidemetagit config validate - Use
campaign expand --dry-runbefore writing many objectives
Related skills
metagit-multi-repo— implement changes across expanded reposmetagit-control-center— dispatch loop with profile applymetagit-context-pack— tier-2 session boundary before large fan-out