Leogriel
Weave Agent Skills into every workflow — discover, lock, sync, audit, and test across coding agents. Node ≥22.13.
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.
One thing to look at
- 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.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
7.1 KB, 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