Skip to main content

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.