Installing skills
A skill is a directory with a SKILL.md in it, and installing one means putting that directory where your agent looks. The installer does that for you. Claude Code has its own packaging, npm suits a repository that wants the skill in its lockfile, and every release carries zips for a machine with neither.
Recommended
Install into any agent
Run the installer
It copies the skill into .agents/skills/ in the current directory. Every skill is inside the package, so this needs the network only for the fetch. npx @kensio/skills list prints what there is.
npx @kensio/skills add dynamodb-single-tablenpx @kensio/skills add --allnpx @kensio/skills add dynamodb-single-table --agent claudenpx @kensio/skills add dynamodb-single-table --usernpx @kensio/skills add dynamodb-single-table --to ./vendor/skillsOr copy the directory yourself
Nothing about a skill needs a tool to install it. The zip holds the skill directory at its root, and unzipping it into a skills directory is the whole job. Every skill and the URL of its SKILL.md are listed at /skills/index.json, for an agent working out what there is on its own.
curl -L https://github.com/KensioSoftware/kensio.ai/releases/download/v1.18.1/dynamodb-single-table-1.18.1.zip -o dynamodb-single-table.zipunzip dynamodb-single-table.zip -d .agents/skills/mkdir -p .agents/skills/dynamodb-single-tablecurl -L https://kensio.ai/skills/dynamodb-single-table/SKILL.md -o .agents/skills/dynamodb-single-table/SKILL.mdgit clone --depth 1 https://github.com/KensioSoftware/kensio.aicp -R kensio.ai/plugins/dynamodb-single-table/skills/dynamodb-single-table .agents/skills/Ask for the work
An agent loads a skill from the description in its frontmatter when a task matches. There is no name to invoke and no command to run.
Where each agent looks
| Agent | In a project | For every project |
|---|---|---|
| Codex CLI | .agents/skills/ | ~/.agents/skills/ |
| VS Code and Copilot | .github/skills/.claude/skills/.agents/skills/ | ~/.copilot/skills/~/.claude/skills/~/.agents/skills/ |
| Claude Code | .claude/skills/ | ~/.claude/skills/ |
| Anything else | .agents/skills/ | ~/.agents/skills/ |
Check your own agent's documentation
.agents/skills/ is where they have converged, and it is what the installer uses unless you say otherwise.Install as a Claude Code plugin
Claude Code reads .claude/skills/ like any other agent, and it also has a marketplace. The marketplace is worth the extra step there, because it keeps every skill updatable in place.
Add the marketplace
Once per machine. Claude Code remembers it across projects and sessions.
/plugin marketplace add KensioSoftware/kensio.aiclaude plugin marketplace add KensioSoftware/kensio.aiInstall the skills you want
Every skill on the skills page lists its own install command. The @kensio suffix names the marketplace, not the npm scope.
/plugin install dynamodb-single-table@kensioclaude plugin install dynamodb-single-table@kensioUpdates are explicit
version changes, and it will not upgrade on its own. Pick up a release with claude plugin update dynamodb-single-table@kensio.Install from npm
Each skill is also published as a package under the @kensio scope. This suits a repository that wants the skill pinned in its lockfile and reviewed like any other dependency. The skill directory is at node_modules/@kensio/dynamodb-single-table/skills/dynamodb-single-table, ready to copy or symlink.
npm install @kensio/dynamodb-single-tableThe package is the same content
SKILL.md. What differs is who puts it where an agent will find it. With npm, that is you.Licensing
Every skill is Apache-2.0. Forking one and changing the parts that clash with your conventions is the intended use. The source for all of them lives in the public repository.