skilly-cli — Claude Code skill: manage repo skills via CLI
A skill that tells the agent to manage this repo's skills through the skilly CLI: add or remove bundles and skills, pull hub updates.
npx skills add timschoch/skilly --skill skilly-cli -a claude-codeWhat skilly-cli does
Skills in the repo are tracked by skilly, a hub at timschoch/skilly. The skilly-cli skill makes the agent use the CLI for that instead of copying files by hand.
Three verbs cover the work. npx -y github:timschoch/skilly add <name...> brings in a bundle or a single skill, remove <name...> takes one out, update syncs the hub's current state. Each verb handles its own commit, push and PR, so the agent should not commit on its behalf. On main it branches to chore/skilly-setup. On any other branch it halts before committing if .agents/skills/verify/scripts/check-branch-name.mjs rejects the name; rename with git branch -m <type>/<description> and run the verb again.
Do not edit skilly-owned files by hand — the nightly sync rewrites them. That covers .claude/skills/, .agents/skills/, .claude/rules/<name>-*.md, .skilly/config.json and skills-lock.json. A skill fix goes to its source repo, a repo-local rule goes to CLAUDE.md. When the user pastes a skills.sh URL, that skill sits outside the hub: pin it with the skills CLI via npx -y skills add <url> --agent claude-code -y. It lands in skills-lock.json and the sync leaves it alone.
What it helps with
- add a bundle of skills to the repo in one command
- remove a skill without breaking bundles that still need it
- pull the hub's latest state
- pin a skill from a skills.sh URL outside the hub
- rename a branch so the verb passes its name check
Example prompts for the agent
- Add the workflow bundle to this repo with skilly
- Remove the skilly-cli skill and show me what changed
- Pull the latest updates from the skilly hub
How to install skilly-cli
1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill skilly-cli -a claude-code2Manually: put the files in place
~/.claude/skills/skilly-cli/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/skilly-cli/
1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill skilly-cli -a codex2Manually: put the files in place
.agents/skills/skilly-cli/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill skilly-cli -a cursor2Manually: put the files in place
.cursor/skills/skilly-cli/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install timschoch/skilly skilly-cli2Manually: put the files in place
.github/skills/skilly-cli/SKILL.md1Skills CLI (Vercel)
npx skills add timschoch/skilly --skill skilly-cli -a gemini-cli2Platform CLI
gemini skills install https://github.com/timschoch/skilly --path bundles/workflow/skills/skilly-cliManually: put the files in place
.devin/skills/skilly-cli/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add timschoch/skilly --skill skilly-cli -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about skilly-cli
How do I install skilly-cli in Claude Code?
Run npx skills add timschoch/skilly --skill skilly-cli -a claude-code. The skill file lands at ~/.claude/skills/skilly-cli/SKILL.md.
What does skilly-cli do?
It directs the agent to manage repo skills through the skilly CLI: adding and removing bundles or skills, and pulling hub updates. Manual file copies are off the table.
Can I edit installed skills by hand?
No — the nightly sync overwrites .claude/skills/, .agents/skills/, .claude/rules/<name>-*.md, .skilly/config.json and skills-lock.json. Fix the skill in its source repo, or put a repo-local rule in CLAUDE.md.