Communitygithub.com

xFurti/skillctl

Universal package manager CLI for Agent Skills — manifest, lockfile, multi-agent sync (Cursor, Claude, Codex, Gemini). Node ≥22.13.

¿Qué es skillctl?

skillctl is a Claude Code agent skill that universal package manager CLI for Agent Skills — manifest, lockfile, multi-agent sync (Cursor, Claude, Codex, Gemini). Node ≥22.13.

Compatible conClaude CodeCodex CLICursorGemini CLIOpenCode
npx skills add xFurti/skillctl

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace skillctl?

Operational playbook for managing Agent Skills with the skillctl CLI. Run real commands; do not simulate output or copy SKILL.md files between agent directories by hand.

Golden rules

  1. One canonical store — skills live in ~/.skillctl/skills/<name>/; agents get symlinks via sync.
  2. Commit manifest + lock — track agent-skills.json and agent-skills.lock in git for team reproducibility.
  3. Portable specifiers only — use file:./<path>, local:imported/<name>, github:, npm:, or skills.sh/; never commit absolute homedir paths.
  4. Install before syncinstall materializes the store; sync only re-links agents.
  5. Verify after changes — run skillctl doctor (and skillctl audit in CI).
  6. Prefer import over manual copy — use import from-project or import from-npx instead of duplicating skill folders.

Decision tree

SituationCommand
New project, no manifestskillctl init or skillctl init --with-skill
Add a remote or local skillskillctl add <specifier> then skillctl install
Skills already in .claude/skills, .codex/skills, etc.skillctl import from-project
Migrating from npx skillsskillctl import from-npx
Re-link only (lock unchanged)skillctl sync
Re-fetch from upstreamskillctl update or skillctl update <name>
CI reproducible installskillctl install --frozen then skillctl audit --strict
Non-portable paths in lockskillctl install to rewrite; check skillctl doctor warnings

Quick recipes

# Bootstrap
skillctl init --with-skill
skillctl add github:vercel-labs/agent-skills#web-design-guidelines
skillctl install

# Project-local skill
skillctl add file:./my-skill
skillctl install
skillctl sync

# Import existing agent dirs
skillctl import from-project --dry-run
skillctl import from-project

# Inspect
skillctl list
skillctl doctor
skillctl audit --json

Expected after add file:./my-skill + install: manifest specifier file:./my-skill, lock canonicalPath like ~/.skillctl/skills/my-skill.

Portability (0.3.1+)

  • Portable: file:./rel, local:imported/<name>, remote specifiers, canonicalPath: ~/.skillctl/skills/<name>.
  • Not portable: absolute file:/Users/..., local:/abs/path, absolute canonicalPath from another machine.
  • If doctor warns about non-portable paths, run skillctl install to rewrite lock from manifest.

Failure modes

SymptomAction
canonical path missingskillctl install
Integrity mismatchskillctl update <name> or skillctl install
Symlink fails (Windows)doctor notes; config defaultMode: copy
No agents linkedskillctl sync; enable agents in ~/.skillctl/config.json
Frozen install failedStore out of sync; run install without --frozen

References

Skills relacionados