CLI tool for managing cross-agent Skills. Skills live in <chezmoi home>/dot_agents/skills/, which chezmoi's symlinks out to ~/.agents/skills/ + any agent-specific locations (e.g. ~/.claude/skills/).
Deno tasks let you run commands against live source during development. Once an update is complete, install globally with deno task install.
# Run any command based on current source code
deno task cli <command> [args]
# Examples
deno task cli init my-skill
deno task cli validate ../my-skill
deno task cli --help
# Type check the code
deno task check
# Run test suite (test-reishi.ts)
deno task test
# Install into ~/.local/bin for global usage (after development)
deno task install
# Now use anywhere
rei init my-skill
rei validate my-skill| Command | Description |
|---|---|
init <skill-name> |
Initialize new skill from template (alias: new) |
validate <skill-path> |
Validate skill structure and frontmatter (alias: check) |
refresh-docs |
Fetch latest Anthropic skill documentation |
activate <skill-name> |
Move skill from deactivated to active (alias: on) |
deactivate <skill-name> |
Move skill from active to deactivated (alias: off) |
add <skill-name> |
Install a skill or directory of skills from GitHub (alias: a) |
list <skill-name> |
List all active skills (alias: ls, include deactivated with -a/--all) |
Create a new skill with proper structure:
# Create in default location (~/.local/share/chezmoi/dot_agents/skills/)
deno task cli init my-awesome-skill
# Create in custom location
deno task cli init my-skill --path ~/projects/skills
# Generated structure:
# my-skill/
# ├── SKILL.md # Frontmatter + instructions
# ├── api_reference.md # Optionally-accessed, modular deeper documentation
# ├── scripts/ # Executable code + workflows
# │ └── example.ts
# └── assets/ # Templates/files for workflows
# └── example_asset.txtValidation rules:
- Lowercase letters, digits, and hyphens only
- Cannot start/end with hyphen
- No consecutive hyphens
- Max 64 characters
Check skill structure and SKILL.md frontmatter:
deno task cli validate agents/skills/my-skillValidates:
- SKILL.md exists and has proper frontmatter
- Required fields:
name,description - Name follows naming rules
- No unexpected frontmatter keys
- Description under 1024 chars, no angle brackets
Fetch latest Anthropic documentation about agent skills:
deno task cli refresh-docsDownloads to: agents/skills/develop-agent-skills/ (the overview.md and related reference docs)
Temporarily disable/enable skills:
# Disable a skill (moves to _deactivated_skills)
deno task cli deactivate old-skill
# Re-enable it later
deno task cli activate old-skillPaths:
- Active:
~/.local/share/chezmoi/dot_agents/skills/, applied by chezmoi to~/.agents/skills/+ agent-specific paths - Deactivated:
~/.local/share/chezmoi/dot_agents/skills/_deactivated/
Run the comprehensive test suite:
deno task testTests include:
- Help/version commands
- Skill creation with all files
- Validation rules (name format, required fields, unexpected keys)
- Template interpolation
- Error handling
- File permissions
All tests run in isolated temporary directories.
- Make changes: Edit
reishi.ts - Type check:
deno task check - Test:
deno task test - Try it:
deno task cli <command> - Deploy:
deno task install(updates global binary)
No need to reinstall the binary during development - just use the task commands!
Built with:
- Deno - Secure by default, TypeScript native
- Deno Standard Library - File ops, path handling, YAML parsing
- Cliffy - The most popular Deno CLI framework (now with cross-runtime support for Bun and Node) with great help text and validation
Key features:
- Declarative command structure
- Comprehensive validation
- Helpful error messages
- Dry-run friendly
- Permission-scoped (no unnecessary access)
- Built-in generation of shell completions and aliases