@fkbender/skills-cli
v0.3.1
Published
Install and manage FourKitchens AI agent skills across Claude Code, GitHub Copilot, OpenCode, and Antigravity
Readme
@fkbender/skills-cli
CLI tool for installing and managing AI agent skills across Claude Code, GitHub Copilot, GitHub Copilot CLI, OpenCode, and Antigravity. Skills are sourced from the fourkitchens/drupal-ai-standards repository.
Usage
Run without installing:
npx @fkbender/skills-cli <command>Or install globally:
npm install -g @fkbender/skills-cli
fk-skills <command>Commands
install
Interactively browse and install skills from the FourKitchens registry.
fk-skills install [skill-name...]Flags:
| Flag | Description |
|---|---|
| --agent <id> | Target a specific agent (comma-separated for multiple) |
| --scope <project\|global> | Install in project dir or home dir |
| --method <symlink\|copy> | Force symlink or file copy (default: symlink) |
| --yes / -y | Skip confirmation prompts |
Agents: github-copilot, copilot-cli, opencode, antigravity, claude-code
Examples:
# Interactive install
fk-skills install
# Install a specific skill non-interactively
fk-skills install git-commit --agent github-copilot --scope project --yes
# Install globally for all detected agents
fk-skills install --scope global --yeslist / ls
List all available skills in the registry, with badges for locally installed ones.
fk-skills listupdate / upgrade
Update installed skills to their latest version. Uses tree SHA comparison to skip skills that haven't changed.
fk-skills update [skill-name...]Flags:
| Flag | Description |
|---|---|
| --all | Update all installed skills |
| --scope <project\|global> | Target scope (auto-detected if omitted) |
| --yes / -y | Skip selection prompt (updates all) |
Examples:
# Interactive — pick which skills to update
fk-skills update
# Update everything
fk-skills update --all --yes
# Update a specific skill
fk-skills update git-commitremove / rm
Remove an installed skill from the canonical directory and all agent-specific locations.
fk-skills remove [skill-name...]Flags:
| Flag | Description |
|---|---|
| --all | Remove all installed skills in the selected scope |
| --scope <project\|global> | Target scope (auto-detected if omitted) |
| --yes / -y | Skip confirmation |
Examples:
# Remove one skill
fk-skills remove git-commit
# Remove all installed skills in scope
fk-skills remove --all --yesadd
Scaffold a new skill in the current project (.agents/skills/<name>/SKILL.md).
fk-skills add [name]Prompts for a description, then creates a boilerplate SKILL.md with YAML frontmatter.
config
Manage the env variables that fk-skills reads, without hand-editing your shell profile.
fk-skills config # show current values
fk-skills config set FK_SKILLS_REPO org/repo # persist a value
fk-skills config set GITHUB_TOKEN ghp_...
fk-skills config unset GITHUB_TOKEN # remove a value
fk-skills config --profile ~/.bash_profile # target a specific profileWrites a delimited block to your shell profile (auto-detected: ~/.zshrc, ~/.bashrc, ~/.config/fish/config.fish, or ~/.profile). Open a new terminal — or run source <profile> — after making changes.
For one-off overrides without touching your profile, prefix the command inline:
FK_SKILLS_REPO=org/repo npx @fkbender/skills-cli list
GITHUB_TOKEN=ghp_... FK_SKILLS_REPO=org/repo npx @fkbender/skills-cli installManaged keys: GITHUB_TOKEN, FK_SKILLS_REPO, FK_SKILLS_PATH. GH_TOKEN is still read at runtime but is not written by config.
help
fk-skills help
fk-skills --helpHow It Works
Skills follow the Agent Skills Open Standard: a directory named after the skill containing a SKILL.md file with YAML frontmatter (name, description) and a markdown body.
Installation strategy
Skills are written once to a canonical directory and then symlinked into each agent's expected location:
| Scope | Canonical directory |
|---|---|
| Project | .agents/skills/<name>/ |
| Global | ~/.agents/skills/<name>/ |
Agent-specific symlink targets:
| Agent | Project | Global |
|---|---|---|
| GitHub Copilot | .agents/skills/ (universal) | ~/.copilot/skills/ |
| GitHub Copilot CLI | .agents/skills/ (universal) | ~/.copilot/skills/ |
| OpenCode | .agents/skills/ (universal) | ~/.config/opencode/skills/ |
| Antigravity | .agents/skills/ (universal) | ~/.gemini/antigravity/skills/ |
| Claude Code | .claude/skills/ | ~/.claude/skills/ |
On Windows (or when symlinks fail due to permissions), the CLI automatically falls back to copying files.
Lock file
A .agents/.skill-lock.json (project) or ~/.agents/.skill-lock.json (global) tracks installed skills, their source, agents, install method, and a tree SHA for efficient update detection.
Authentication
The CLI fetches skills from GitHub. For public repositories no auth is needed. If you hit rate limits:
- Set
GITHUB_TOKENorGH_TOKENenvironment variable, or - Have the GitHub CLI (
gh) installed and authenticated — the CLI will usegh auth tokenautomatically.
If FK_SKILLS_REPO points to a private repository, GitHub auth is required for all commands that read the registry (including list).
Environment Variables
| Variable | Default | Description |
|---|---|---|
| FK_SKILLS_REPO | fourkitchens/drupal-ai-standards | GitHub repo to fetch skills from |
| FK_SKILLS_PATH | skills | Path within the repo where skills live |
| GITHUB_TOKEN / GH_TOKEN | — | GitHub personal access token |
Note: fk-skills config manages GITHUB_TOKEN, FK_SKILLS_REPO, and FK_SKILLS_PATH. GH_TOKEN is still read at runtime but is not managed by config.
Development
# Install dependencies
npm install
# Run in dev mode (no build required)
npm run dev -- <command>
# Build
npm run build
# Type check
npm run typecheck
# Run tests
npm testRelease
Releases are fully automated via Semantic Release. Simply push commits to main using Conventional Commits and the release workflow handles versioning, GitHub releases, and npm publishing automatically.
| Commit prefix | Version bump |
|---|---|
| fix: | Patch (0.1.x) |
| feat: | Minor (0.x.0) |
| feat!: / BREAKING CHANGE: | Major (x.0.0) |
No manual npm version or tag pushing required.
Requirements
- Node.js ≥ 18 (developed on v24 — see
.nvmrc)
