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.

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

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.0.tar.gz (15.0 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.0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

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

Hashes for site2skill-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5a87a4f8540617d9ef22da7db65e829d33301416f01d21aa1e1fc63a8ff30db3
MD5 014348c23fd70167569e10cb3e0f73e6
BLAKE2b-256 f2a3268bc908c0638f59571f6a719dabb84053c9a7d13b2660ca747d657e7542

See more details on using hashes here.

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

Hashes for site2skill-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1eca0dc6dc98864cafd4cca1245f13ee933534be0915ccbf60377becaabba85a
MD5 7b5aba72f7100c0bd1381939974242d6
BLAKE2b-256 9c259080276af7c3ca7bddc92ecd44b3ac86d8fd2971b367b83457939502a049

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