Turn any website into a Claude Skill
Project description
site2skill
Turn any documentation website into a Claude Agent Skill.
site2skill is a tool that scrapes a documentation website, converts it to Markdown, and packages it as a Claude Agent Skill (ZIP format) with a proper SKILL.md entry point.
Agent Skills are dynamically loaded knowledge modules that Claude uses on demand. They work across Claude Code, Claude apps, and the API.
Usage
You can run this tool directly using uvx (requires uv installed):
# General usage
uvx --from git+https://github.com/laiso/site2skill site2skill <URL> <SKILL_NAME>
# Example: Create a skill for PAY.JP
uvx --from git+https://github.com/laiso/site2skill site2skill https://docs.pay.jp/v1/ payjp
CLI Options
site2skill <URL> <SKILL_NAME> [options]
Options:
--target Target agent (claude|claude-desktop|cursor|gemini|codex). Sets default output directory
--output, -o Base output directory for skill structure (overrides target default)
--skill-output Output directory for .skill file (default: .)
--temp-dir Temporary directory for processing (default: build)
--skip-fetch Skip the download step (use existing files in temp dir)
--clean Clean up temporary directory after completion
Requirements
- Python 3.10+
- wget: Must be installed and available in your PATH.
- macOS:
brew install wget - Linux:
apt install wget - Windows: Use WSL, or install via
choco install wget/scoop install wget
- macOS:
How it works
- Fetch: Downloads the documentation site recursively using
wget. - Convert: Converts HTML pages to Markdown using
beautifulsoup4andmarkdownify. - Normalize: Cleans up links and formatting.
- Validate: Checks the skill structure and size limits.
- Package: Generates
SKILL.mdand zips everything into a.skillfile.
Output
The tool generates a skill directory in .claude/skills/<skill_name>/ containing:
<skill_name>/
├── SKILL.md # Entry point with usage instructions
├── references/ # Markdown documentation files (preferred)
└── scripts/
└── search_docs.py # Search tool for documentation
Additionally, a <skill_name>.skill file (ZIP archive) is created in the current directory.
Legacy note: older skills may use docs/ instead of references/. The search tool and validator
now support both, preferring references/ when present.
Search Tool
Each generated skill includes a search script:
python scripts/search_docs.py "<query>"
python scripts/search_docs.py "<query>" --json --max-results 5
License
MIT
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 site2skill-0.1.0.tar.gz.
File metadata
- Download URL: site2skill-0.1.0.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a87a4f8540617d9ef22da7db65e829d33301416f01d21aa1e1fc63a8ff30db3
|
|
| MD5 |
014348c23fd70167569e10cb3e0f73e6
|
|
| BLAKE2b-256 |
f2a3268bc908c0638f59571f6a719dabb84053c9a7d13b2660ca747d657e7542
|
File details
Details for the file site2skill-0.1.0-py3-none-any.whl.
File metadata
- Download URL: site2skill-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eca0dc6dc98864cafd4cca1245f13ee933534be0915ccbf60377becaabba85a
|
|
| MD5 |
7b5aba72f7100c0bd1381939974242d6
|
|
| BLAKE2b-256 |
9c259080276af7c3ca7bddc92ecd44b3ac86d8fd2971b367b83457939502a049
|