Open source · Apache-2.0 · macOS
Skills and work context that follow you across coding agents.
Gandalf keeps the skills in Claude Code, Codex, and Cursor in line, and hands the work one agent started over to the next. One local binary. No account.
curl -fsSL https://usegandalf.com/install.sh | sh Skills
One table for every skill, and three commands to keep it green.
A skill is a folder with a SKILL.md. Gandalf reads the skills folders of Claude Code, Codex, and Cursor,
both in your home directory and in the project, and lines them up. Skill commands need no setup and no background service.
- 01
Fill the gaps
gandalf skill synccopies each skill to the agents that are missing it. Preview with--dry-runfirst. A skill whose copies differ is skipped, never overwritten. - 02
Pick the copy that wins
Skills are compared by content hash, so an edited copy shows up as diverged instead of passing as installed. Name the agent whose copy wins with
--from. - 03
Nothing is lost
Replaced and removed skills move to
~/.gandalf/trashinstead of being deleted, so any copy can be put back by hand.
Work handoff · Claude Code and Codex
Start in Claude Code. Pick it up in Codex.
After gandalf init, a local service records what Claude Code and Codex do in a project.
The next agent reads a handoff contract over MCP instead of asking you to explain the task again.
gandalf init- Connect Claude Code and Codex and start the local service
gandalf work current- What is in progress in this project
gandalf handoff <id>- Print the handoff contract for one piece of work
gandalf mcp --provider codex- Serve the same context to an agent over MCP
- Objective
- Show diverged skills in the JSON output of skill list
- Status
active- Completed
- Added a hash column to the text table · Wrote the failing test
- Blockers
- Fixture for Cursor project skills is missing
- Next actions
- Add the fixture, then run
cargo test -p gandalf-skills - Verification
cargo test -p gandalf-skillspasses
Next Preview
From a prompt you keep retyping to a skill.
Gandalf already records your sessions for handoff. Next, it will notice the work you explain over and over and draft the skill for you to keep. Nothing becomes a skill without your say.
release-checklist
- Applies to
- “cut a release”, “prepare v0.x”, “write release notes”
- Plan
-
- Read commits since the last tag
- Run
make testandmake lint - Draft notes in
docs/release-notes/
Details
What Gandalf reads, and what it promises.
| Agent | User skills | Project skills | Handoff |
|---|---|---|---|
| Claude Code | ~/.claude/skills/ | .claude/skills/ | Yes |
| Codex | ~/.codex/skills/ | .codex/skills/ | Yes |
| Cursor | ~/.cursor/skills/ | .cursor/skills/ | Not yet |
Gandalf manages skills only. It does not touch MCP servers, hooks, or agent settings beyond registering its own handoff integration.
- No silent overwrites
- Copies that differ are only replaced when you pass
--fromor--force. - Recoverable
- Replaced and removed skills move to
~/.gandalf/trash. Nothing is deleted. - Handoff is opt-in
- Nothing is recorded until you run
gandalf init. Evidence is encrypted with a key kept in the macOS keychain. - Local only
- One binary, no account, no cloud. Gandalf never runs agent commands or assigns work.
Install
Install the CLI.
macOS on Apple silicon and Intel. Run gandalf to see your skills right away, and gandalf init when you want handoff.
FAQ
Questions people ask first.
What is Gandalf?
Gandalf is an open-source command-line tool that keeps agent skills in sync across Claude Code, Codex, and Cursor, and hands the work one coding agent started over to the next. It is a single local binary with no account and no cloud service.
Which coding agents does Gandalf support?
Skill management works with Claude Code, Codex, and Cursor, for both user-level and project-level skills. Work handoff works between Claude Code and Codex.
What is an agent skill?
A skill is a folder with a SKILL.md file: a name, a description of when to use it, and instructions. The agent loads the instructions only when a task matches the description, so a skill can hold project knowledge without filling every conversation.
How do I sync skills between Claude Code, Codex, and Cursor?
Run gandalf to see every skill and which agents have it, then gandalf skill sync to copy each skill to the agents that are missing it. Add --dry-run to preview the changes. Copies that differ are never overwritten unless you name the agent whose copy wins with --from.
How do I move work from Claude Code to Codex without explaining it again?
After gandalf init, a local service records what Claude Code and Codex do in a project. The next agent reads a handoff contract over MCP, with the objective, what is done, and what is left, instead of asking you to explain the task again.
Does Gandalf send my code or sessions anywhere?
No. Gandalf runs on your machine and has no server and no account. Handoff recording is opt-in, and its evidence is encrypted with a key kept in the macOS keychain.
Is Gandalf free?
Yes. The CLI is free and open source under the Apache-2.0 license. A team plan for sharing skills across a team is in early access.
Team plan
Get early access.
We are building the team plan with a few engineering teams that share skills across more than one coding agent. Tell us how your team works and we will reach out when spots open.
The CLI stays free and open source either way.