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
Read the docs

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.

  1. 01

    Fill the gaps

    gandalf skill sync copies each skill to the agents that are missing it. Preview with --dry-run first. A skill whose copies differ is skipped, never overwritten.

  2. 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.

  3. 03

    Nothing is lost

    Replaced and removed skills move to ~/.gandalf/trash instead 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
Handoff contract example
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-skills passes

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.

Repeated work example

release-checklist

Applies to
“cut a release”, “prepare v0.x”, “write release notes”
Plan
  1. Read commits since the last tag
  2. Run make test and make lint
  3. Draft notes in docs/release-notes/
Save as skill Not now

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 --from or --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.