AI Agent Skill Search and Management
Project description
skill
AI Agent Skill Search and Management
Manage Agent Skills (SKILL.md files) across multiple AI coding agents — Claude Code, Cursor, GitHub Copilot, Windsurf, and more.
Install
pip install skill
Quick Start
from skill import search, create, install, validate
# Create a skill locally
skill = create('my-skill', description='My custom coding rules')
# Validate it
issues = validate('/path/to/skill-dir')
# Search for skills
results = search('react best practices', local_only=True)
# Install to an agent target
install('_local/my-skill', agent_targets=['claude-code'], scope='project')
Link skills from a project
If a project ships skills (in .claude/skills/, {pkg}/data/skills/, or a
dedicated folder), you can symlink them all into your agent's skills directory
in one shot:
from skill import link_skills
# Point at a project root — it finds the skills automatically
link_skills('/path/to/my-project')
# Or point at the skills folder directly
link_skills('/path/to/my-project/my_pkg/data/skills')
# Symlink into a specific target instead of ~/.claude/skills
link_skills('/path/to/my-project', target='/other/project/.claude/skills')
Each skill is validated before linking — invalid skills are skipped with a warning. The target directory is also checked to ensure it's a recognized skills directory.
CLI
skill create my-skill --description "My custom coding rules"
skill search "react best practices" --local-only
skill validate ./my-skill/
skill list-skills
skill install _local/my-skill --agent-targets claude-code
skill link-skills /path/to/project
skill link-skills /path/to/project --target ~/.claude/skills --force
Shell completion
Enable tab completion for all skill commands:
skill install-completion
This detects your shell (bash/zsh) and adds the registration line to your
shell config (~/.bashrc or ~/.zshrc). Restart your shell or source the
config file to activate.
If you prefer to set it up manually:
# Add to your shell config:
eval "$(register-python-argcomplete skill)"
The first time you run any skill command without completion set up, you'll
see a one-time hint reminding you to run skill install-completion.
Plugin System
skill has a registry-based plugin architecture with four extension points:
| Registry | What it holds | Import |
|---|---|---|
| Agent targets | Where agents expect skills installed | from skill.install import agent_targets |
| Translators | SKILL.md → target format converters | from skill.translate import translators |
| Backends | Remote skill sources for search | from skill.search import backends |
| Validators | Pluggable validation rules | from skill.create import validators |
Register at runtime:
from skill.install import agent_targets, AgentTarget
agent_targets.register('windsurf', AgentTarget(
name='windsurf',
project_path='{project}/.windsurf/rules/{name}.md',
format='skill.md',
))
Or via entry points in your pyproject.toml:
[project.entry-points."skill.agent_targets"]
windsurf = "my_package:windsurf_target"
See Plugin System Documentation for full details on contracts, interfaces, and built-in registrations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skill-0.1.3.tar.gz.
File metadata
- Download URL: skill-0.1.3.tar.gz
- Upload date:
- Size: 97.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a16068d68497ff43a5909c1abe05b938ce7707a809420736db67aa3c6d6fac6
|
|
| MD5 |
df9ed5ec5d3562224788c353257bc772
|
|
| BLAKE2b-256 |
2aa99185d8f4d8688336bc0d312b4348ede6617ec45ff615fff04f2437365c55
|
File details
Details for the file skill-0.1.3-py3-none-any.whl.
File metadata
- Download URL: skill-0.1.3-py3-none-any.whl
- Upload date:
- Size: 32.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c1543876a753efe111edac2d322855fe157ee4e3560dd15ce94fdd6e1aad8d0
|
|
| MD5 |
845941a98ed918e8b452378945432af6
|
|
| BLAKE2b-256 |
3fb0a5eafa28e125403ee20b1d95630eca517ec70c47ae57272009dba9fd74c6
|