Leogriel
Manage Agent Skills with the leogriel CLI: search, info, add, install, outdated, update, sync, import, audit, plugins, behavioral tests, completion, and portable manifest/lock workflows across Claude, Cursor, Codex, Grok, Gemini, Pi, and OpenCode. Use when the user mentions leogriel, agent-skills.json, agent-skills.lock, syncing skills, importing from npx skills, or skill portability across machines.From its SKILL.md
npx -y skills add xFurti/leogriel --skill leogrielAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- reads credentialsReads from 1 credential source: `~/.leogriel/config.json`.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `leogriel init` and 7 more.
SKILL.md
7.1 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it
Leogriel
Operational playbook for managing Agent Skills with the leogriel CLI. Run real commands; do not simulate output or copy SKILL.md files between agent directories by hand.
Golden rules
- Choose the intended scope — project skills live in
.leogriel/skills/<name>/; explicit personal skills added with-glive in~/.leogriel/skills/<name>/. - Commit project state — track
agent-skills.json,agent-skills.lock, and vendored.leogriel/skills/content required by local/imported entries. - Use portable specifiers — prefer
github:,npm:,skills.sh/, or project-relativefile:./<path>; never commit absolute machine paths. - Install before sync —
installmaterializes project dependencies;synconly refreshes agent targets. - Verify after changes — run
leogriel doctorandleogriel audit; useaudit --strictin CI. - Import rather than copy by hand — plain
leogriel importdiscovers agent directories, deduplicates identical skills, and vendors selected content into the project store. - Plan maintenance before writing — use
outdatedorupdate --dry-run; use--latest --save --yesonly when intentionally changing an npm constraint. - Never replace unmanaged targets implicitly — replacement requires exact skill, agent, scope, confirmation, and a backup.
- Treat behavioral tests as untrusted code — pin a model when comparing over time, keep network denied unless required, and review every command assertion before using
--trust-tests.
Decision tree
| Situation | Command |
|---|---|
| New project, no manifest | leogriel init or leogriel init --with-skill |
| Add a project dependency | leogriel add <specifier> then leogriel install |
| Add a personal skill outside a project | leogriel add -g <specifier> |
Skills already in .claude/skills, .codex/skills, etc. | leogriel import --dry-run then leogriel import |
Migrating from npx skills | leogriel import from-npx |
| Re-link project targets | leogriel sync --project |
| Re-link personal targets | leogriel sync --global |
| Re-fetch project dependencies | leogriel update or leogriel update <name> |
| Discover or inspect a skill | leogriel search <query> / leogriel info <name-or-specifier> |
| Review pending updates | leogriel outdated / leogriel update --dry-run |
| CI reproducible install | leogriel install --frozen then leogriel audit --strict |
| Diagnose personal installation | leogriel doctor -g |
| Compare behavior with and without a skill | leogriel test <name> --runs 3 --model <model> |
Quick recipes
# Bootstrap a project
leogriel init --with-skill
leogriel add github:vercel-labs/agent-skills@main#skills/web-design-guidelines
leogriel install
# Vendor a project-local skill
leogriel add file:./my-skill
leogriel install
leogriel sync --project
# Import existing agent directories
leogriel import --dry-run
leogriel import
# Personal/global skill
leogriel add -g file:./my-personal-skill
leogriel list -g
leogriel doctor -g
# Inspect a project
leogriel list
leogriel doctor
leogriel audit --json
# Discovery and maintenance
leogriel search typescript
leogriel info skills.sh/vercel-labs/skills/find-skills
leogriel outdated
leogriel update --dry-run
After a local add/import, expect the manifest and lock to use file:./.leogriel/skills/<name> and the lock canonicalPath to use .leogriel/skills/<name>. A global add uses ~/.leogriel/skills/<name> and stores its state under ~/.leogriel/.
Reproducibility (0.6+)
- Immutable remote lock: GitHub and skills.sh resolve to a full commit SHA; npm resolves to an exact version and tarball integrity.
- Project-portable: remote specifiers and
file:./.leogriel/skills/<name>withcanonicalPath: .leogriel/skills/<name>. - Explicitly global:
add -g,list -g,doctor -g, andremove -g; do not use global scope for team dependencies. - Legacy:
local:imported/<name>, absolute local paths, and project entries withcanonicalPath: ~/.leogriel/skills/<name>should be re-imported or re-added, then committed. install --frozenrestores missing remote content from immutable lock entries without changing the lock.updateis the normal operation that intentionally changes an existing remote resolution.skills.sh/<owner>/<repo>/<skill>locks the repository SHA plus a skill selector; frozen install does not query the catalog.
Scoped sync and JSON
- No sync scope flags means project and global targets.
- Use
--projector--global, plus repeatable/comma-separated--agentfilters. --pruneis opt-in and only removes verified leogriel-managed links/copies; combine it with--dry-runfirst.--replace-unmanagedrequires--skill,--agent, one scope, and confirmation; it backs up the original content before replacement.- First-party commands with
--jsonemit one envelope. Exit codes: 0 success, 1 warning/partial result, 2 fatal/validation failure.
Plugins, SARIF, and completion (0.7+)
- Plugins are experimental, integrity-locked, and execute Node.js with the user's permissions; they are not sandboxed.
- Prefer npm plugins. Local plugins require
plugin add <path> --allow-local. audit --format sarif --output results.sarifwrites GitHub-compatible SARIF while the default audit remains offline.completion bash|zsh|powershellprints a script and never edits a shell profile automatically.
Failure modes
| Symptom | Action |
|---|---|
Project canonical path missing | Run leogriel install; if the lock still uses the legacy global path, re-add/re-import the skill |
Global canonical path missing | Run leogriel doctor -g, then re-add the personal skill if needed |
| Integrity mismatch | leogriel update <name> for remote content, or re-add/re-import changed local content |
| Symlink fails on Windows | Set config defaultMode: copy, then run leogriel doctor --fix |
| No project agents linked | leogriel sync --project; verify enabled agents in ~/.leogriel/config.json |
| Frozen install failed | Fix manifest/lock drift; legacy mutable entries require leogriel update <name> |
mutable-resolution | Run leogriel update <name> once to upgrade a legacy remote entry |
E_LOCK_TIMEOUT | Wait for the other leogriel process or inspect stale locks with doctor |
References
- commands.md — full command cheat sheet
- specifiers.md — specifier grammar
- manifest-lock.md — manifest and lock semantics
- workflows.md — team onboarding, migration, CI
- troubleshooting.md — doctor, Windows, coexistence
What ships with it: 5 files
12.9 KB alongside SKILL.md
references/
- commands.md2.6 KB
- manifest-lock.md1.7 KB
- specifiers.md1.6 KB
- troubleshooting.md2.9 KB
- workflows.md4.2 KB