Your skills, leather-bound.
Sync AI coding skills across tools. Discover skills from Claude Code plugins, standalone directories, and custom locations — then distribute them to every AI coding tool that supports the SKILL.md format.
Warning
Beta software. tome is under active development and may contain bugs that could break your local skills setup or interfere with other tooling. Back up your skills directories (e.g., with git) before running tome sync for the first time. Use --dry-run to preview changes without modifying anything.
AI coding tools (Claude Code, Codex, Antigravity) each use SKILL.md packages to provide context. But skills get siloed:
- Plugin skills live in cache directories you never see
- Standalone skills only exist for one tool
- Switching tools means losing access to your skill library
tome consolidates all skills into a single library and distributes them everywhere.
Homebrew (macOS/Linux):
brew install MartinP7r/tap/tome# Interactive setup — discovers sources, configures targets
tome init
# Sync skills to all configured targets
tome sync
# Check what's configured
tome statusFor repository workflow guidance, see docs/src/development-workflow.md. It explains when tome uses GitHub Issues vs OpenSpec vs Beads, and how to link them cleanly in commits and PRs.
| Command | Description |
|---|---|
tome init |
Interactive wizard to configure sources and targets |
tome sync |
Discover, consolidate, triage changes, and distribute |
tome status |
Show library, sources, targets, and health |
tome list |
List all discovered skills with sources |
tome browse |
Interactively browse discovered skills (fuzzy search) |
tome doctor |
Diagnose and repair broken symlinks or config issues |
tome lint |
Validate skill frontmatter and report issues |
tome config |
Show current configuration |
tome backup |
Git-backed backup and restore for the skill library |
tome eject |
Remove tome's symlinks from all targets (reversible) |
tome relocate |
Move the skill library to a new location |
tome completions |
Install shell completions (bash, zsh, fish, powershell) |
All commands support --dry-run, --verbose, --quiet, --no-input, --config <path>, and --machine <path>.
graph LR
subgraph Sources
S1["Plugin cache<br/>(23 skills)"]
S2["~/.claude/skills<br/>(8 skills)"]
S3["~/my-skills<br/>(18 skills)"]
end
subgraph Library
L["Consolidated<br/>skill library<br/>(copies + symlinks)"]
end
subgraph Targets
T1["Antigravity<br/>(symlinks)"]
T2["Codex<br/>(symlinks)"]
T3["OpenClaw<br/>(symlinks)"]
end
S1 --> L
S2 --> L
S3 --> L
L --> T1
L --> T2
L --> T3
- Discover — Scan configured sources for
*/SKILL.mddirectories - Consolidate — Gather skills into a central library: local skills are copied, managed (plugin) skills are symlinked; deduplicates with first source winning
- Distribute — Create symlinks in each target tool's skills directory (respects per-machine disabled list)
- Cleanup — Remove stale entries and broken symlinks from library and targets
TOML at ~/.tome/tome.toml:
library_dir = "~/.tome/skills"
exclude = ["deprecated-skill"]
[[sources]]
name = "claude-plugins"
path = "~/.claude/plugins/cache"
type = "claude-plugins"
[[sources]]
name = "standalone"
path = "~/.claude/skills"
type = "directory"
[targets.antigravity]
enabled = true
method = "symlink"
skills_dir = "~/.gemini/antigravity/skills"Control which skills are active on each machine via ~/.config/tome/machine.toml:
disabled = ["noisy-skill", "work-only-skill"]
disabled_targets = ["openclaw"]Disabled skills stay in the library but are skipped during distribution. tome sync automatically diffs the lockfile and offers interactive triage when new or changed skills are detected.
MIT