Overview
Skill commands provide comprehensive management of FastSkill skills through the command line interface.
Command Reference
fastskill init
Initialize skill-info.toml for skill authors in the current skill directory. This creates author-provided metadata for version management.
# Create skill-info.toml interactively
fastskill init
# Set version directly
fastskill init --version 1.2.3
# Skip prompts, use defaults
fastskill init --yes
# Force overwrite existing skill-info.toml
fastskill init --force
Note: This command is for skill authors working on individual skills. Run it from within a skill directory that contains SKILL.md.
fastskill install
Install skills from skills.toml to the .claude/skills/ registry (like poetry install).
# Install all skills from skills.toml
fastskill install
# Install without dev group skills
fastskill install --without dev
# Install only production group skills
fastskill install --only prod
# Install from lock file (reproducible)
fastskill install --lock
fastskill update
Update skills in the .claude/skills/ registry to their latest versions from source.
# Update all skills
fastskill update
# Update specific skill
fastskill update my-skill-id
# Check for updates without installing
fastskill update --check
# Show what would be updated
fastskill update --dry-run
fastskill show
Display skill information and dependency tree.
# Show all skills
fastskill show
# Show specific skill
fastskill show my-skill-id
# Show dependency tree
fastskill show --tree
# Show dependency tree for specific skill
fastskill show my-skill-id --tree
fastskill add
Add a skill to the .claude/skills/ registry and update skills.toml and skills-lock.toml.
# Add skill from git URL
fastskill add https://github.com/org/skill.git
# Add skill in editable mode (for local development)
fastskill add ./local-skill -e
# Add skill to a group
fastskill add https://github.com/org/skill.git --group dev
# Add editable skill to dev group
fastskill add ./local-skill -e --group dev
Options:
-e, --editable: Install skill in editable mode (symlink/reference for local development)
--group <GROUP>: Add skill to a specific group (e.g., “dev”, “prod”)
--branch <BRANCH>: Git branch to checkout (for git URLs)
--tag <TAG>: Git tag to checkout (for git URLs)
--force: Force registration even if skill already exists
fastskill remove
Remove a skill from the .claude/skills/ registry and update both skills.toml and skills-lock.toml.
# Remove skill (with confirmation)
fastskill remove my-skill-id
# Force removal without confirmation
fastskill remove my-skill-id --force
# Remove multiple skills
fastskill remove skill1 skill2 skill3
fastskill sources
Manage skill sources (repositories) for discovering and installing skills.
# Add a source
fastskill sources add team-tools https://github.com/org/team-skills.git
# List all sources
fastskill sources list
# Remove a source
fastskill sources remove team-tools
# Update source metadata
fastskill sources update team-tools
fastskill register
Register new skills from files or directories.
# Register single skill
fastskill register ./skills/text-processor/skill.json
# Register from directory
fastskill register ./skills/ --recursive
# Register with validation
fastskill register skill.json --validate
# Register multiple files
fastskill register ./skills/**/*.json
# Register from URL
fastskill register https://example.com/skill.json
Options:
--validate: Validate before registration
--recursive: Register skills recursively
--batch: Batch mode for multiple files
--force: Overwrite existing skills
fastskill list
List all registered skills with filtering options.
# List all skills
fastskill list
# List enabled skills only
fastskill list --enabled-only
# Filter by tags
fastskill list --tags text,nlp
# Filter by capabilities
fastskill list --capabilities text_extraction
# Custom format
fastskill list --format json
fastskill list --format table
Options:
--enabled-only: Show only enabled skills
--tags: Filter by tags (comma-separated)
--capabilities: Filter by capabilities (comma-separated)
--format: Output format (table, json, csv)
--page: Page number for pagination
fastskill validate
Validate skill definitions without registering them.
# Validate single skill
fastskill validate skill.json
# Validate with security checks
fastskill validate skill.json --security
# Validate with quality report
fastskill validate skill.json --quality --report report.json
# Batch validation
fastskill validate ./skills/**/*.json --batch
fastskill update
Update existing skill definitions.
# Update skill from file
fastskill update skill.json
# Update specific fields
fastskill update skill-id --version 1.1.0 --description "New description"
# Update with validation
fastskill update skill.json --validate
fastskill enable/disable
Enable or disable skills.
# Enable skill
fastskill enable text-processor
# Disable skill
fastskill disable text-processor
# Batch operations
fastskill enable skill1 skill2 skill3
fastskill disable skill1 skill2 skill3
fastskill remove
Remove skills from the service.
# Remove single skill
fastskill remove text-processor
# Remove with confirmation
fastskill remove text-processor --confirm
# Batch removal
fastskill remove skill1 skill2 skill3 --batch
Options:
--confirm: Skip confirmation prompt
--batch: Batch mode for multiple skills
--force: Force removal without validation
Examples
Skill Development Workflow
# 1. Create skill definition
echo '{
"id": "my-skill",
"name": "My Custom Skill",
"description": "Custom skill for testing",
"version": "1.0.0"
}' > skill.json
# 2. Validate skill
fastskill validate skill.json --security --quality
# 3. Register skill
fastskill register skill.json
# 4. List skills
fastskill list --tags custom
# 5. Test skill
fastskill execute my-skill test_tool
# 6. Update skill
fastskill update skill.json --version 1.1.0
# 7. Disable if needed
fastskill disable my-skill
# 8. Remove skill
fastskill remove my-skill --confirm
Batch Operations
# Register all skills in directory
fastskill register ./skills/ --recursive --validate
# List skills by category
fastskill list --tags data,analysis --format table
# Validate all skills
fastskill validate ./skills/**/*.json --batch --report validation-report.json
# Update all skills to new version
for skill in $(fastskill list --format json | jq -r '.data[].id'); do
fastskill update $skill --version 2.0.0
done
Skill commands support both interactive use and automation. Use appropriate options for your workflow.