OpenSkills brings Anthropic's skills system to every AI coding agent — Claude Code, Cursor, Windsurf, Aider, Codex, and anything that can read AGENTS.md.
Think of it as the universal installer for SKILL.md.
By default, installs are project-local (./.claude/skills, or ./.agent/skills with --universal). Use --global for ~/.claude/skills.
---
✅ Why OpenSkills
- Exact Claude Code compatibility — same prompt format, same marketplace, same folder structure
- Universal — works with Claude Code, Cursor, Windsurf, Aider, Codex, and more
- Progressive disclosure — load skills only when needed (keeps context clean)
- Repo-friendly — skills live in your project and can be versioned
- Private friendly — install from local paths or private git repos
---
🧠 How It Works
$3
Claude Code ships skills as SKILL.md files and exposes them inside a block. When the user asks for a task, Claude dynamically loads the matching skill.
`xml
pdf Comprehensive PDF manipulation toolkit for extracting text and tables... plugin
`
$3
OpenSkills generates the exact same XML in your AGENTS.md and loads skills via:
`bash
npx openskills read `
So any agent that can read AGENTS.md can use Claude Code skills without needing Claude Code itself.
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.
How to use skills:
- Invoke: npx openskills read (run in your shell)
- The skill content will load with detailed instructions
- Base directory provided in output for resolving bundled resources
Usage notes:
- Only use skills listed in below
- Do not invoke a skill that is already loaded in your context
pdf Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms... project
- --global — Install globally to ~/.claude/skills (default: project install)
- --universal — Install to .agent/skills/ instead of .claude/skills/ - -y, --yes — Skip prompts (useful for CI)
- -o, --output — Output file for sync (default: AGENTS.md)
$3
The sync command automatically creates slash commands for Roo Code in .roo/commands/. Each skill becomes a /skillname command that instructs Roo to load and use that skill.
- Auto-sync: Command files are created/updated automatically when you run npx openskills sync - Overwrite: Existing skill command files are overwritten with the latest skill information
- Safe cleanup: Only files with the openskills marker () are removed during sync; user-created custom commands are never deleted
---
🧬 The SKILL.md Format
OpenSkills uses Anthropic's exact format:
`markdown
---
name: pdf
description: Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.
---
PDF Skill Instructions
When the user asks you to work with PDFs, follow these steps:
1. Install dependencies: pip install pypdf2 2. Extract text using scripts/extract_text.py
3. Use references/api-docs.md for details
`
Skills are loaded on demand, keeping your agent's context clean and focused.
If a skill was installed before updates were tracked, re-install it once to record its source.
---
✅ Tips
- You can always run OpenSkills via npx; a global install is optional.
- For multiple reads, prefer comma-separated names: npx openskills read foo,bar`.
---
❓ FAQ
$3
MCP is for dynamic tools. Skills are static instructions + resources.
- Skills are just files → no server required
- Works with every agent → no MCP support needed
- Matches Anthropic's design → SKILL.md is the spec
MCP and skills solve different problems. OpenSkills keeps skills lightweight and universal.