Install
$ agentstack add mcp-yiftahb-agsync ✓ 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 No
- ✓ 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
Git-native CLI to sync skills, commands, and MCP servers across AI coding agents.
Supported Agents
| Agent | Instructions | Skills | Commands | MCP | |-------|-------------|--------|----------|-----| | Claude Code | CLAUDE.md | .claude/skills/ | .claude/commands/ | .mcp.json | | Cursor | AGENTS.md | .cursor/skills/ | .cursor/commands/ | .cursor/mcp.json | | Codex | .codex/instructions.md | .codex/skills/ | .codex/commands/ | .codex/config.toml | | Windsurf | AGENTS.md | .windsurf/skills/ | .windsurf/commands/ | .windsurf/mcp_config.json | | Copilot | .github/copilot-instructions.md | -- | .github/agents/ | .mcp.json | | Gemini | GEMINI.md | .gemini/skills/ | .gemini/commands/ | .gemini/settings.json | | OpenCode | AGENTS.md | .opencode/skills/ | .opencode/command/ | opencode.json | | Antigravity | .agent/rules/instructions.md | .agent/skills/ | .agent/commands/ | -- |
Install
npm i -g agsync-cli
Or run directly:
npx agsync-cli
Features
🤖 Multi-Agent Sync — Define skills, commands, and instructions once in .agsync/, generate native output for every agent your team uses. Symlinks keep everything in sync.
🧩 Skill Extension — Import skills from GitHub or ClawHub, extend them with local overrides, and resolve inheritance chains automatically. Supporting files (rules, scripts, references) are bundled alongside.
🔒 Version Locking — Pin external skills to exact versions. A lock file (agsync-lock.yaml) tracks resolved commits and content hashes for reproducible builds. Use --frozen in CI to enforce it.
🔌 MCP Sync — Define MCP servers in YAML, expand environment variables at sync time, and generate the correct config format (JSON or TOML) per agent with smart merging.
🏷️ MCP Namespaces — Tag MCP servers with namespaces (e.g. ci-cd, coding-agents) and filter at sync time with agsync sync --namespace so each environment only gets the servers it needs.
📁 Monorepo Scoping — One agsync.yaml at the repo root, with .agsync/ directories in any subfolder. Skills and commands are automatically prefixed (e.g. frontend:my-skill), built to the root, and each subfolder gets its own AGENTS.md with scoped instructions.
🔒 Gitignore Management — Automatically manage .gitignore entries for generated output. Choose between on (all output), mcpOnly (default, MCP configs only), or off.
📐 Structured Context — Enable features.context: true to write .agsync/instructions.md with structured ## HLD, ## Guidelines, and ## Patterns sections. Guidelines cascade through the full nested hierarchy (root → backend → backend/service-a), with nearest-scope overrides by id. Paths resolve relative to the scope that declares them, so one shared pattern applied in several services scopes to each (backend/controllers/**, service-a/controllers/**). Each subfolder compiles a self-contained AGENTS.md carrying its full inherited ruleset.
🧾 Code Review Output — Enable review: targets: [coderabbit] to generate .coderabbit.yaml at the repo root on every agsync sync. Guidelines and their path scopes map directly to coderabbit path_instructions — one source of truth for agents and reviewers alike.
Commands
| Command | Description | |---------|-------------| | agsync init | Scaffold a new project with agsync.yaml and .agsync/ | | agsync skill add | Create a local empty skill | | agsync skill add github: | Import a skill from GitHub | | agsync skill add clawhub: | Import a skill from ClawHub | | agsync skill remove | Remove a skill | | agsync command add | Create a new command (.md) | | agsync command remove | Remove a command | | agsync mcp add | Create a new tool definition (.yaml) | | agsync mcp remove | Remove a tool | | agsync validate | Validate config, skills, commands, and tool references | | agsync plan [--frozen] [--namespace ] | Preview changes without writing files | | agsync sync [--frozen] [--namespace ] | Generate output for all enabled agents | | agsync doctor | Check environment health and enabled agents | | agsync version | Show current version and check for updates | | agsync update | Update to the latest version | | agsync help | Show extended help |
Monorepo Support
One agsync.yaml at the repo root, multiple .agsync/ directories in subfolders:
project/
├── agsync.yaml ← single config
├── .agsync/ ← root skills, commands, mcp
├── frontend/
│ └── .agsync/ ← frontend-specific definitions
│ ├── instructions.md → generates frontend/AGENTS.md
│ └── skills/ui-kit/
└── backend/
└── .agsync/
└── skills/api/
- Scoped skills are prefixed automatically (
frontend:ui-kit) and output to.agents/skills/frontend--ui-kit/at the root - Each subfolder with
.agsync/instructions.mdgets its ownAGENTS.mdgenerated in-place - The root
AGENTS.mdcross-references scoped instructions: "When working in folder:frontend— you MUST loadfrontend/AGENTS.md" - Agent symlinks (
CLAUDE.md,.claude/skills/) are only created at the root agsync skill add,command add,mcp addresolve the nearest.agsync/upwards, so running fromfrontend/adds tofrontend/.agsync/
MCP Namespaces
Tag MCP servers with one or more namespaces and filter at sync time. Useful when CI runners and local coding agents need different sets of servers.
# .agsync/mcp/github-actions.yaml
name: github-actions
description: GitHub Actions MCP server
namespaces: [ci-cd]
command: npx
args: ["-y", "@modelcontextprotocol/server-github-actions"]
# .agsync/mcp/cursor-tools.yaml
name: cursor-tools
description: Tools for the local coding agent
namespaces: [coding-agents]
command: npx
args: ["-y", "@some/cursor-tools"]
Sync only the servers tagged for a namespace:
agsync sync --namespace ci-cd # only ci-cd-tagged + untagged servers
agsync sync --namespace coding-agents # only coding-agents-tagged + untagged servers
agsync sync # all servers (no filter)
Rules:
namespacesis optional. MCPs without it (or with an empty array) are always included — treat them as global.- A skill that references an MCP excluded by the active namespace produces a warning, not an error.
- Scaffold a tagged MCP with
agsync mcp add --namespace ci-cd(repeat the flag to add multiple).
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yiftahb
- Source: yiftahb/agsync
- License: MIT
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.