claude-skills-cli
A CLI that scaffolds Claude skills, validates their size and structure, packages them for Claude.ai and adds activation hooks
- 88 ★ on the repository
- Last commit
Extended access
Why this level
- The `add-hook` command changes `settings.json` and adds hook scripts to `.claude/hooks/`, and the `llm-eval` hook sends prompts to the Claude API.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/claude-skills-cliDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The `add-hook` command changes `settings.json` and adds hook scripts to `.claude/hooks/`, and the `llm-eval` hook sends prompts to the Claude API.
This is third-party code. Review the repository files before installing.
What it does
claude-skills-cli helps create skills that do not balloon to five hundred lines. Progressive disclosure splits a skill into three levels: YAML metadata under two hundred characters is always in context, a `SKILL.md` body of about fifty lines loads when the skill triggers, and `references/`, `scripts/` and `assets/` are pulled in as needed. The `init` command scaffolds a skill, and `validate` checks structure, description length, line, word and token counts, file links and nesting. Validation modes set the line limit: 50 by default, `--lenient` gives 150 and `--loose` five hundred, matching Anthropic official guidance. `doctor` fixes multi-line descriptions, `stats` summarizes all skills and `package` builds a zip for Claude.ai. The `add-hook` command adds a Claude Code hook that makes skill activation more reliable.
Who it is for. Authors of Claude Code skills who want short, verifiable skills and are ready to hand scaffolding and validation to the agent itself.
Good fit when
- Claude Code is asked to create a skill for API client code and the result must fit the line limit
- All repository skills are validated before a commit, including links and orphaned files
- A skill is packaged as a zip for upload to Claude.ai
- Skills trigger unreliably and an activation hook with mandatory evaluation is needed
Not a fit when
- The skill is for another agent with a different format, while the CLI targets Claude Agent Skills
- You want a long reference skill of five hundred lines with no limits, which means `--loose` or no validation
- A hook that calls the Claude API is unacceptable because of cost or prompt sharing
Example request
Use npx -y claude-skills-cli to create a skill for my API client code and run validateLimitations
The `llm-eval` hook calls the Claude API and needs the `ANTHROPIC_API_KEY` variable: by the author measurement that is about four hundredths of a cent per prompt. Hook success rates (84% for `forced-eval`, 80% for `llm-eval`) come from the author own tests on two hundred prompts and may differ on other tasks. The `add-hook` command edits `settings.json` globally, per project or locally, so check the scope before running it. Strict default limits suit short skills, and long ones need `--lenient` or `--loose`.
How to disable. Skills are removed by deleting the folder from `.claude/skills`, and the activation hook is removed from `settings.json` and the `.claude/hooks/` directory. The CLI itself installs nothing and runs through `npx` or `pnpx`.
FAQ
How do I create a skill with this CLI?
Run `pnpx claude-skills-cli init --name my-skill --description "Brief description with trigger keywords"`. The `--with-examples` flag adds sample files.
Which validation modes does validate have?
Strict by default with a 50-line limit, `--lenient` with 150 and `--loose` with 500. The `--strict` flag turns warnings into errors, and `--format json` gives machine-readable output.
Why do I need add-hook?
Skills in Claude Code trigger unreliably. The `forced-eval` hook makes the agent evaluate each skill and activate matching ones before working, which gave the author 84%.
How do I build a zip for Claude.ai?
Run `pnpx claude-skills-cli package .claude/skills/my-skill`. Validation runs first, and `--skip-validation` turns it off.
How does it differ from skill-creator?
claude-skills-cli enforces size and structure in code and installs activation hooks, while skill-creator guides the author through creating a skill in dialogue.
Discussion
No questions or reviews yet.
Related
CLI toolsReady infrastructure for Claude Code: skill auto-activation via hooks, a skill set, agents, slash commands and a wizard that installs it into your project
22 skills for the full Claude Code project lifecycle: setup and task scope, code review, pre-push checks and session notes.
SkillNote is a self-hosted SKILL.md registry with per-project collections and sync into Claude Code and OpenClaw
Nine personal engineering skills: an idea-to-PR chain, standards search, a sandboxed review loop and wizard pages for changes
ClaudeKit Skills
ClaudeKit - Agent Skills
A plugin marketplace for Claude Code with a set of thirty-plus skills: frontend, backend, devops, databases, documents, debugging and MCP work
HumanLayer Skills
HumanLayer skills
Seven HumanLayer skills for Claude Code and Codex: the rpi research, design and implementation loop, visual PRs, CLAUDE.md rewrites and agentic loops
README in short
The README explains progressive disclosure, lists the init, validate, doctor, stats, package and add-hook commands, the validation modes and the activation hook test results, then links the author articles.