Skip to main content

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.

Installation

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

Install from PyPI

# Standard installation with pip
pip install site2skill

# Or with uv
uv tool install site2skill

Run without Installation

# Run directly with uvx
uvx site2skill <URL> <SKILL_NAME>

Install from GitHub (Latest)

pip install git+https://github.com/laiso/site2skill.git
uvx --from git+https://github.com/laiso/site2skill site2skill <URL> <SKILL_NAME>

Usage

# Basic usage
site2skill <URL> <SKILL_NAME>

# Example: Create a skill for PAY.JP
site2skill https://docs.pay.jp/v1/ payjp

# Example: Create a skill for uv documentation
site2skill https://docs.astral.sh/uv/ uv-docs

# Target specific agent (sets default output directory)
site2skill <URL> <SKILL_NAME> --target claude-desktop

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

How it works

  1. Fetch: Downloads the documentation site recursively using wget.
  2. Convert: Converts HTML pages to Markdown using beautifulsoup4 and markdownify.
  3. Normalize: Cleans up links and formatting.
  4. Validate: Checks the skill structure and size limits.
  5. Package: Generates SKILL.md and zips everything into a .skill file.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

site2skill-0.1.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

site2skill-0.1.1-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file site2skill-0.1.1.tar.gz.

File metadata

  • Download URL: site2skill-0.1.1.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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

Hashes for site2skill-0.1.1.tar.gz
Algorithm Hash digest
SHA256 32b4457ace657b01d963a2084a6489066dab6801d48ebb89cec6491e0e141f04
MD5 029a96ce7e4398876bba848ae382c8e9
BLAKE2b-256 2711e6a71a126038f9fa45df6878c1f5ec9626c05482fd58f4cd3bed7a2b30ed

See more details on using hashes here.

File details

Details for the file site2skill-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: site2skill-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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

Hashes for site2skill-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3114fc9e3a95456c874e7928b5ca768b2197a027c05112068f96b31aa31c764d
MD5 617a5ea30a4b1fb68043640d69ea73d4
BLAKE2b-256 d2c1df406bed5503f5c0b8988e28cdbaa3323e8bb5234e400d24501476f39866

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page