Install
$ agentstack add skill-metagit-ai-metagit-cli-metagit-rewrite-campaign ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ● Filesystem access Used
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Metagit rewrite campaign skill
Use when one source repo is the specification and one target repo is the rewrite — for example migrating metagit-cli from Python to Rust — under a single umbrella workspace.
Docs: metagit-rewrite-workspace.md · campaigns.md
When to use
- Two-repo (or small N-repo) rewrite with frozen
reference_impl - Module parity tracked in
_rewrite/parity-registry.yml(BYO convention) - Orchestrator + subagents: controller sequences phases; repo agents implement
- MR rollups and objective spine without a separate spreadsheet
When not to use
- Simple single-repo feature work →
metagit-multi-repoor repo-scoped skills - Many-repo rollout without a reference pair →
metagit-campaignalone - You need automated AST/module diff gates → extend parity registry + CI yourself
Quick start
export METAGIT_AGENT_MODE=true
# Bootstrap coordinator (or copy examples/metagit-rewrite/.metagit.yml)
metagit init ./rewrite-coordinator --create --template metagit-rewrite
cd rewrite-coordinator
metagit config validate
metagit project sync --project rewrite
# Campaign (if not created by init template)
metagit campaign new --slug language-rewrite --title "Language rewrite" \
--repo rewrite/source --repo rewrite/target \
--reference rewrite/source \
--goal "CLI and MCP parity with reference implementation"
metagit campaign validate
metagit campaign expand --slug language-rewrite --dry-run
Granularity model
| Layer | Where it lives | Granularity | |-------|----------------|-------------| | Workspace pair | .metagit.yml projects/repos | Repo | | Campaign rollup | _campaigns/.yml | Repo status, MR, notes | | Module parity | _rewrite/parity-registry.yml | Phase → module → paths | | Active work | .metagit/sessions/objectives.json | Objective id + acceptance | | Cross-repo edge | graph.relationships | Source ↔ target semantics |
Objective id convention: rewrite-- (see objectives.example.json in examples).
Orchestrator session loop
1) Bootstrap context
metagit context pack --tier 2 --json -c .metagit.yml
metagit prompt workspace -k session-start --text-only -c .metagit.yml
metagit campaign status --slug language-rewrite --json
2) Pick the next parity module
Read _rewrite/parity-registry.yml. Choose the first module with status: pending in the earliest incomplete phase. Upsert a workspace objective:
echo '{"id":"rewrite-foundation-config-manager","title":"Parity: config manager","status":"in_progress","repos":["rewrite/target"],"acceptance":"Target loads source manifest fixtures"}' \
| metagit context objective set
3) Dispatch subagent (target repo)
metagit agent profile show -p rewrite -n target --json
metagit agent apply --vendor claude_code --project rewrite --repo target
metagit context repomix --profile rewrite-target --project rewrite --repo target
metagit prompt repo -k subagent-handoff --text-only -c .metagit.yml \
--project rewrite --repo target
Source analysis before large extractions:
metagit context repomix --profile rewrite-source --project rewrite --repo source
# GitNexus impact on source symbols (when indexed)
4) Record progress
metagit campaign set --slug language-rewrite --repo rewrite/target \
--status mr-open --mr "https://github.com/org/repo/pull/1"
echo '{"id":"rewrite-foundation-config-manager","status":"done","mr_url":"https://…"}' \
| metagit context objective set
Update parity registry module status in _rewrite/parity-registry.yml when acceptance passes.
5) Poll coordination (orchestrator)
metagit context events --campaign language-rewrite --since "" --json
metagit context handoff list --json
metagit campaign status --slug language-rewrite --json
Bundled script
SKILL_ROOT="$(python3 -c "import metagit, pathlib; print(pathlib.Path(metagit.__file__).parent / 'data/skills/metagit-rewrite-campaign')")"
"$SKILL_ROOT/scripts/rewrite-orchestrator-cycle.sh" . language-rewrite
Or from a full skill install:
./scripts/rewrite-orchestrator-cycle.sh . language-rewrite
Repomix profiles
Bundled profiles for scoped repo context:
| Profile | Use | |---------|-----| | rewrite-source | Reference implementation analysis | | rewrite-target | Implementation work in the rewrite tree |
metagit context repomix --profile rewrite-source --project rewrite --repo source
metagit context repomix --profile rewrite-target --project rewrite --repo target
Safety
- Treat source as spec until parity is explicitly marked done in the registry
- Commit
_campaigns/and_rewrite/to git for reviewable rollups - Run
metagit campaign validateandmetagit config validatein CI - Use approvals for schema-breaking or destructive sync operations
campaign expand --dry-runbefore fanning out many objectives
Related skills
metagit-campaign— campaign YAML lifecycle and expandmetagit-multi-repo— cross-repo implementation sequencingmetagit-control-center— MCP control-plane polling loopmetagit-context-pack— tier 0/1/2 session boundariesmetagit-gitnexus— impact analysis on the source repometagit-graph-maintain— durablegraph.relationshipsfor source/target edges
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: metagit-ai
- Source: metagit-ai/metagit-cli
- License: MIT
- Homepage: https://metagit-ai.github.io/metagit-cli/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.