Everything you need to know about SkillOps - from installation to advanced usage
Introduction to SkillOps and core concepts
Get SkillOps up and running on your system
Complete guide to all SkillOps commands
Configure SkillOps for your workflow
Real-world workflow examples and use cases
Common issues and solutions
SkillOps is a powerful, high-performance CLI tool developed in Go that helps you manage "skills" (AI-supporting capabilities/scripts) for various Agentic IDEs (like Claude Desktop, Antigravity, OpenCode, Vercel, etc.) through a symlink-first mechanism.
Instead of manually copying skills into each IDE's directory, SkillOps stores them centrally and creates intelligent symlinks, making synchronization effortless.
The central directory (~/.skillops/skills) where all downloaded skill repositories are stored.
Code editors or agent environments (Claude, Antigravity, etc.) that support AI-powered skills.
SkillOps creates links from the global directory to your project directories (e.g., .agents/skills), avoiding file duplication and ensuring consistency across projects.
~/.skillops/
├── skills/ # Global skills storage
│ ├── repo-1/
│ │ └── SKILL.md # Skill identifier
│ └── repo-2/
│ └── SKILL.md
└── config/
└── agentics.yaml # IDE configurations
Your Project/
├── .agents/ # Claude Desktop
│ └── skills/ # Symlinks to global skills
├── .agent/ # Antigravity
│ └── skills/
└── .skillops/ # Other IDEs
└── skills/
SkillOps comes pre-configured with support for popular Agentic IDEs:
You can also add custom IDE configurations to support any tool that uses a skills directory.
brew tap leodinhsa/skillops brew install skillops
# Build from source go build -o skillops main.go # Move to PATH sudo mv skillops /usr/local/bin/ # Verify installation skillops --help
After installation, verify that SkillOps is working correctly:
# View help and available commands skillops --help # Check if skillops is in your PATH which skillops
SkillOps stores its configuration in ~/.skillops/config/agentics.yaml. The configuration file is created automatically on first run.
~/.skillops/config/agentics.yamlSkill folders are identified by the presence of a SKILL.md file in the repository root.
If you encounter permission issues:
# Make sure the binary is executable chmod +x /usr/local/bin/skillops # Check if /usr/local/bin is in your PATH echo $PATH
If skillops command is not found:
# Add to your shell profile (.bashrc, .zshrc, etc.) export PATH="/usr/local/bin:$PATH" # Reload your shell source ~/.bashrc # or ~/.zshrc
Once installed, you can:
For more detailed usage instructions, see the Commands Reference.
SkillOps provides a comprehensive set of commands for managing AI agent skills across multiple Agentic IDEs (Claude, Antigravity, OpenCode, etc.). All commands follow a consistent pattern and provide rich interactive terminal experiences.
skillops agenticOpen a checklist TUI to enable/disable Agentic IDE environments in your project root.
skillops agentic
Features:
Example:
cd /path/to/your/project skillops agentic # Opens TUI to select which IDEs to enable in this project
skillops agentic manage <name>Interactively manage skills or remove the environment for a specific agentic IDE.
# Manage Claude IDE skills skillops agentic manage claude # Manage Windsurf IDE skills skillops agentic manage windsurf
Features:
skillops agentic remove-skill <agent> <skill>Remove a specific skill symlink from an agentic IDE.
# Remove 'logger' skill from Claude skillops agentic remove-skill claude logger # Remove 'debug-helper' from Windsurf skillops agentic remove-skill windsurf debug-helper
skillops agentic remove-skills <agent>Remove all skill symlinks for a specific agentic IDE.
# Remove all skills from Claude skillops agentic remove-skills claude # Remove all skills from Windsurf skillops agentic remove-skills windsurf
skillops pull <url>Download a new skill repository from GitHub.
# Pull entire repository skillops pull https://github.com/user/my-agent-skills # Pull a specific skill (saves space) skillops pull https://github.com/user/my-agent-skills --skill logger
Supported URL formats:
https://github.com/user/repogithub.com/user/repogit@github.com:user/repo.git (if SSH key is configured)Options:
--skill <name>: Download only a specific skill instead of the entire repositoryExamples:
# Pull entire repository skillops pull https://github.com/leodinhsa/awesome-skills # Pull only 'git-helper' skill skillops pull https://github.com/leodinhsa/awesome-skills --skill git-helper
skillops listShow all downloaded skill names and their status across IDEs.
skillops list
Features:
Space keyStatus indicators:
skillops remove <name>Safely delete a pulled skill repository after checking for active links.
# Remove a skill (with safety check) skillops remove copilot-docs
Safety features:
skillops remove-allClear all local skill repositories.
# Remove all skills (with confirmation) skillops remove-all
Warning: This will remove all downloaded skills from ~/.skillops/skills/ directory.
skillops updateSynchronize your skills with the latest versions from remote repositories.
# Update all skills skillops update # Update a specific skill skillops update --skill logger
Features:
skillops config add-agentic -n <name> -p <path>Register a new IDE type globally.
# Add a new IDE configuration skillops config add-agentic -n "cursor" -p "~/.cursor/skills" # Add VSCode configuration skillops config add-agentic -n "vscode" -p "~/.vscode/extensions/skills"
skillops config update-agentic -n <name>Update an existing IDE mapping with interactive path selection.
# Update Claude configuration skillops config update-agentic -n claude
This opens an interactive prompt to change the skills directory path.
skillops config remove-agentic -n <name>Remove a registered IDE mapping.
# Remove an IDE configuration skillops config remove-agentic -n cursor
Here's a complete workflow from installation to managing skills:
# 1. Pull a skill repository skillops pull https://github.com/github/copilot-docs # 2. Check what's available skillops list # 3. Navigate to your project cd /path/to/your/project # 4. Configure IDEs for current project skillops agentic # Select which IDEs to enable (Claude, Windsurf, etc.) # 5. Manage skills for specific IDE skillops agentic manage claude # Toggle skills on/off in the TUI # 6. Remove unused skill skillops remove old-skill
# 1. Add the new IDE to global config skillops config add-agentic -n "neovim" -p "~/.config/nvim/skills" # 2. Navigate to your project cd /path/to/your/project # 3. Enable it in current project skillops agentic # 4. Add skills to it skillops agentic manage neovim
skillops list frequently to check the status of your skillsskillops agentic when setting up a new projectSKILL.md file in the repository rootAll configuration is stored in:
~/.skillops/config/agentics.yaml
This file contains:
SkillOps stores all configuration in a YAML file at ~/.skillops/config/agentics.yaml. This file is automatically created when you first run SkillOps.
agentics: - name: "claude" path: ".agents/skills" - name: "antigravity" path: ".agent/skills" - name: "windsurf" path: ".skillops/skills" - name: "cursor" path: ".cursor/skills"
To add support for a new IDE:
skillops config add-agentic -n "my-ide" -p ".my-ide/skills"
Parameters:
-n, --name: Name of the IDE (will be used in commands)-p, --path: Relative path from project root to skills directoryExamples:
# Add support for Neovim skillops config add-agentic -n "neovim" -p "~/.config/nvim/skills" # Add support for VSCode skillops config add-agentic -n "vscode" -p "~/.vscode/extensions/skills"
To change the path of an existing IDE:
skillops config update-agentic -n "claude"
This command opens an interactive prompt for you to enter the new path.
To remove an IDE from configuration:
skillops config remove-agentic -n "cursor"
Note: This only removes the configuration, not any existing skills or symlinks.
When you run skillops agentic in a project, SkillOps creates directories based on IDE configurations:
your-project/
├── .agents/ # Claude Desktop
│ └── skills/
│ ├── skill-1 -> ~/.skillops/skills/repo/skill-1
│ └── skill-2 -> ~/.skillops/skills/repo/skill-2
├── .agent/ # Antigravity
│ └── skills/
│ └── skill-1 -> ~/.skillops/skills/repo/skill-1
└── .skillops/ # Windsurf
└── skills/
└── skill-3 -> ~/.skillops/skills/repo/skill-3
SkillOps identifies a directory as a skill if it contains a SKILL.md file in the repository root.
Skill Repository Structure:
my-skills-repo/
├── SKILL.md # Required identifier file
├── README.md
├── skill-1/
│ └── main.py
└── skill-2/
└── script.js
SkillOps supports the following environment variables:
SKILLOPS_CONFIG_DIR: Override config directory location (default: ~/.skillops/config)SKILLOPS_SKILLS_DIR: Override global skills directory location (default: ~/.skillops/skills)Example:
export SKILLOPS_CONFIG_DIR="/custom/config/path" export SKILLOPS_SKILLS_DIR="/custom/skills/path"
You can use both absolute and relative paths in configuration:
# Relative path (from project root) skillops config add-agentic -n "local-ide" -p ".local/skills" # Absolute path skillops config add-agentic -n "global-ide" -p "~/.global-ide/skills"
SKILL.md file with clear descriptionsagentics.yaml fileskillops update to keep skills current# Add IDEs for web development skillops config add-agentic -n "vscode" -p ".vscode/skills" skillops config add-agentic -n "cursor" -p ".cursor/skills" # Pull web-related skills skillops pull https://github.com/user/web-dev-skills skillops pull https://github.com/user/react-skills
# Add IDEs for data science skillops config add-agentic -n "jupyter" -p ".jupyter/skills" skillops config add-agentic -n "pycharm" -p ".pycharm/skills" # Pull data science skills skillops pull https://github.com/user/data-science-skills skillops pull https://github.com/user/ml-skills
To view your current configuration:
# View configuration file cat ~/.skillops/config/agentics.yaml # Or use your favorite editor vim ~/.skillops/config/agentics.yaml
If you need to migrate configuration to a new machine:
# On old machine cp -r ~/.skillops /path/to/backup/ # On new machine cp -r /path/to/backup/.skillops ~/
Note: Ensure paths in the configuration are still valid on the new machine.
This workflow demonstrates how to set up a new project with multiple IDEs.
Step 1: Initialize the Environment
cd my-new-project skillops agentic # Select 'claude' and 'antigravity' from the checklist
Step 2: Pull Required Skills
skillops pull https://github.com/leodinhsa/awesome-skills --skill git-helper
Step 3: Link Skills to IDEs
skillops agentic manage claude # Select 'git-helper' from the TUI and press Enter
Result:
.agents/skills/ directory created for Claude.agent/skills/ directory created for Antigravitygit-helper skill symlinked to ClaudeMorning Setup:
# Update all skills to latest versions skillops update # Check what skills are available skillops list
Starting a New Feature:
# Navigate to project cd ~/projects/my-app # Check which IDEs are configured ls -la | grep "^\." # Add a new skill for the feature skillops pull https://github.com/user/testing-skills --skill unit-test-helper skillops agentic manage claude
End of Day:
# Review active skills skillops list # Remove skills no longer needed skillops agentic remove-skill claude old-skill
Team Lead Setup:
# Create a shared skills repository # (on GitHub: create repo 'team-skills') # Pull team skills skillops pull https://github.com/company/team-skills # Document the setup echo "Team Skills Setup" > SKILLS_SETUP.md echo "Run: skillops pull https://github.com/company/team-skills" >> SKILLS_SETUP.md
Team Member Setup:
# Follow team documentation skillops pull https://github.com/company/team-skills # Configure for your IDE cd project skillops agentic skillops agentic manage claude
Initial Setup:
# Pull web development skills skillops pull https://github.com/user/web-dev-skills skillops pull https://github.com/user/react-skills skillops pull https://github.com/user/css-skills # Configure IDEs cd ~/projects/web-app skillops agentic # Select: vscode, cursor
Managing Skills:
# Enable React skills for current project skillops agentic manage vscode # Select: react-component-generator, react-hooks-helper # Enable CSS skills skillops agentic manage vscode # Select: tailwind-helper, css-optimizer
Initial Setup:
# Pull backend skills skillops pull https://github.com/user/api-skills skillops pull https://github.com/user/database-skills skillops pull https://github.com/user/testing-skills # Configure project cd ~/projects/api-server skillops agentic # Select: claude, windsurf
Managing Skills:
# Enable API development skills skillops agentic manage claude # Select: api-generator, swagger-helper, auth-helper # Enable database skills skillops agentic manage claude # Select: sql-optimizer, migration-helper
Initial Setup:
# Pull data science skills skillops pull https://github.com/user/data-science-skills skillops pull https://github.com/user/ml-skills skillops pull https://github.com/user/visualization-skills # Configure Jupyter environment skillops config add-agentic -n "jupyter" -p ".jupyter/skills"
Project Setup:
cd ~/projects/ml-project skillops agentic # Select: jupyter, vscode # Enable ML skills skillops agentic manage jupyter # Select: data-cleaner, model-trainer, visualization-helper
Initial Setup:
# Pull DevOps skills skillops pull https://github.com/user/docker-skills skillops pull https://github.com/user/kubernetes-skills skillops pull https://github.com/user/ci-cd-skills # Configure project cd ~/projects/infrastructure skillops agentic
Managing Skills:
# Enable Docker skills skillops agentic manage claude # Select: dockerfile-generator, docker-compose-helper # Enable Kubernetes skills skillops agentic manage claude # Select: k8s-manifest-generator, helm-helper
Scenario: Working on multiple projects with different skill requirements
# Project 1: Frontend cd ~/projects/frontend-app skillops agentic skillops agentic manage vscode # Select: react-skills, css-skills # Project 2: Backend cd ~/projects/backend-api skillops agentic skillops agentic manage claude # Select: api-skills, database-skills # Project 3: Mobile cd ~/projects/mobile-app skillops agentic skillops agentic manage cursor # Select: react-native-skills, mobile-testing-skills
Creating Your Own Skills:
# Create a new repository for your skills mkdir my-custom-skills cd my-custom-skills # Create SKILL.md identifier cat > SKILL.md << EOF # My Custom Skills Collection of custom skills for my workflow. EOF # Create skill directories mkdir -p custom-helper echo "#!/bin/bash" > custom-helper/script.sh # Initialize git and push to GitHub git init git add . git commit -m "Initial commit" git remote add origin https://github.com/user/my-custom-skills git push -u origin main # Pull into SkillOps skillops pull https://github.com/user/my-custom-skills
Testing New Skills:
# Create a test project mkdir ~/test-project cd ~/test-project # Pull skill to test skillops pull https://github.com/user/new-skill # Enable in test project skillops agentic skillops agentic manage claude # Select the new skill # Test the skill # ... use your IDE to test ... # If good, deploy to real projects cd ~/projects/real-project skillops agentic manage claude # Select the tested skill
Regular Maintenance:
# Review all skills skillops list # Remove unused skills skillops remove old-skill-1 skillops remove old-skill-2 # Update remaining skills skillops update # Check disk usage du -sh ~/.skillops/skills/*
Project Cleanup:
# Remove all skills from a project cd ~/projects/old-project skillops agentic remove-skills claude skillops agentic remove-skills windsurf # Or remove specific skills skillops agentic remove-skill claude unused-skill
# Find broken symlinks find .agents/skills -type l ! -exec test -e {} \; -print # Remove all broken symlinks find .agents/skills -type l ! -exec test -e {} \; -delete # Re-link skills skillops agentic manage claude
# Accidentally removed a skill skillops pull https://github.com/user/important-skill # Re-link to all projects cd ~/projects/project1 skillops agentic manage claude cd ~/projects/project2 skillops agentic manage claude
# On old machine tar -czf skillops-backup.tar.gz ~/.skillops # Transfer to new machine scp skillops-backup.tar.gz newmachine:~/ # On new machine cd ~ tar -xzf skillops-backup.tar.gz # Verify skillops list
skillops update weekly~/.skillops/config/agentics.yaml--skill flag to save space when you only need specific skillsskillops list to see what you have installedProblem: After installation, running skillops shows "command not found"
Solutions:
which skillops echo $PATH
# For bash echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc # For zsh echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
ls -la /usr/local/bin/skillops
Problem: Cannot execute skillops binary
Solution:
# Make the binary executable chmod +x /usr/local/bin/skillops # If you need sudo access sudo chmod +x /usr/local/bin/skillops
Problem: SkillOps cannot open interactive TUI
Causes:
Solutions:
ssh -t user@host skillops list
tty # Should output something like /dev/ttys001
Problem: TUI interface looks broken or garbled
Solutions:
export TERM=xterm-256color
Problem: Pulled a repository but skills don't appear in skillops list
Causes:
SKILL.md fileSolutions:
SKILL.md exists in repository root:ls ~/.skillops/skills/repo-name/SKILL.md
tree ~/.skillops/skills/repo-name
SKILL.md if needed:echo "# My Skill" > ~/.skillops/skills/repo-name/SKILL.md
Problem: Cannot pull skills from GitHub
Solutions:
ssh -T git@github.com
# Instead of git@github.com:user/repo.git skillops pull https://github.com/user/repo
Problem: Symlinks point to non-existent locations
Causes:
Solutions:
ls -la .agents/skills/
find .agents/skills -type l ! -exec test -e {} \; -delete
skillops agentic manage claude
Problem: Cannot create symlinks in project directory
Solutions:
ls -la .agents/
chmod 755 .agents/skills/
Problem: SkillOps cannot find configuration file
Solutions:
mkdir -p ~/.skillops/config
skillops list
cat > ~/.skillops/config/agentics.yaml << EOF agentics: - name: "claude" path: ".agents/skills" EOF
Problem: Configuration file is corrupted or invalid
Solution:
cp ~/.skillops/config/agentics.yaml ~/.skillops/config/agentics.yaml.bak
# Using Python python -c "import yaml; yaml.safe_load(open('~/.skillops/config/agentics.yaml'))"
rm ~/.skillops/config/agentics.yaml skillops list # Will regenerate default config
Problem: Linked skills don't show up in IDE
Solutions:
ls -la .agents/skills/
Problem: Skills from one project affect another
Explanation: This shouldn't happen as SkillOps uses project-specific symlinks
Solutions:
skillops agentic in the correct project directoryProblem: skillops update fails to update skills
Solutions:
git --version
cd ~/.skillops/skills/repo-name git pull origin main
skillops remove skill-name skillops pull https://github.com/user/repo
Problem: SkillOps commands are slow
Solutions:
df -h ~/.skillops
skillops remove-all # Be careful!
du -sh ~/.skillops/skills/*
Enable verbose logging for debugging:
# Set environment variable export SKILLOPS_DEBUG=true skillops list
When reporting issues, include:
skillops --version
uname -a
cat ~/.skillops/config/agentics.yaml
tree -L 2 ~/.skillops
skillops update
skillops list # Review what you have skillops remove unused-skill
cp -r ~/.skillops ~/skillops-backup-$(date +%Y%m%d)
skillops list before making changesskillops agentic manage instead of manual symlink creationIf you're still experiencing problems:
Download and install the CLI tool on your system
Use skillops pull to download a skill repository
Run skillops agentic to set up your project
Use the interactive TUI to enable/disable skills across your IDEs