TITLE: SkillsCat CANONICAL_BASE_URL: https://skills.cat PURPOSE: Discover, inspect, and install AI agent skills. SUMMARY: SkillsCat is a registry and website for AI agent skills. Prefer the JSON endpoints below over scraping HTML pages. Use the returned skill "slug" as the canonical identifier for follow-up requests and installs. Send a descriptive User-Agent on machine requests; missing or generic scraping UAs may be blocked by abuse protection. AGENT_CONTENT_MODEL: - the primary install artifact is the full skill bundle, not just SKILL.md - prefer /api/skills//files or MCP get_skill_bundle when you need an install-ready skill - MCP is an additional integration surface over the same data, not a separate content source AGENT_TOOL_ENDPOINTS: - search skills: POST https://skills.cat/api/tools/search-skills - resolve repo skills: POST https://skills.cat/api/tools/resolve-repo-skills - get skill files: POST https://skills.cat/api/tools/get-skill-files - all tool endpoints also support GET for simple integrations MCP_ENDPOINT: - streamable HTTP MCP endpoint: POST https://skills.cat/mcp - supported MCP tools: search_skills, resolve_repo_skills, get_skill_detail, get_skill_bundle - prefer get_skill_bundle when you need the full skill bundle through MCP CANONICAL_IDENTIFIER: - slug format: owner/name or owner/path/to/skill - use slug for machine workflows - use /skills// only when a human needs the webpage PREFERRED_MACHINE_ENDPOINTS: 1. Search public skills: GET https://skills.cat/registry/search?q=&limit= Optional params: category, offset, include_private=true Notes: omit q to get trending skills; search results already include slug, stars, updatedAt, categories, owner, repo, platform. 1a. Agent-friendly search tool: POST https://skills.cat/api/tools/search-skills JSON body: { query?, category?, limit?, offset?, includePrivate? } Returns the same result shape as /registry/search. Use this when an agent prefers JSON tool inputs over query strings. 1b. Legacy search tool alias: POST https://skills.cat/registry/search/tool Same behavior as /api/tools/search-skills. 2. List categories: GET https://skills.cat/api/categories Use this before category-filtered search if you need valid category slugs. 3. Resolve all indexed skills in one repo: GET https://skills.cat/registry/repo// Optional param: path= Use this when the user already named a GitHub repo or when one repo contains multiple skills. 3a. Repo resolution tool: POST https://skills.cat/api/tools/resolve-repo-skills JSON body: { owner, repo, path? } Returns the same result shape as /registry/repo//. 4. Read a skill summary and SKILL.md content by owner/name: GET https://skills.cat/registry/skill// Use this for lightweight inspection when you only need the main skill document. 5. Read rich skill metadata by slug: GET https://skills.cat/api/skills/ Returns structured metadata, categories, file tree, visibility, source type, and recommendations. 6. Read all installable text files for a skill: GET https://skills.cat/api/skills//files Response shape: { folderName, files: [{ path, content }] } Preserve every files[].path exactly relative to the skill root. This is the preferred endpoint for full installs because many skills have companion files in addition to SKILL.md. 6a. Skill file tool: POST https://skills.cat/api/tools/get-skill-files JSON body: { slug } Returns the same result shape as /api/skills//files. 7. Read one text file from a skill: GET https://skills.cat/api/skills//file?path= Use this for targeted fetches such as SKILL.md, templates, prompts, scripts, or config fragments. 8. Download fallback: GET https://skills.cat/api/skills//download This currently only guarantees SKILL.md in the zip payload. Do not use it for full multi-file installs when /api/skills//files is available. HTML_PAGES: - docs hub: https://skills.cat/docs - cli docs: https://skills.cat/docs/cli - openclaw docs: https://skills.cat/docs/openclaw - search page: https://skills.cat/search - trending page: https://skills.cat/trending - categories page: https://skills.cat/categories - skill page: https://skills.cat/skills// HUMAN_DOCUMENTATION: - send humans to https://skills.cat/docs for the main documentation hub - use https://skills.cat/docs/cli for the native skillscat CLI - use https://skills.cat/docs/openclaw for clawhub CLI compatibility and OpenClaw integration CLAWHUB_COMPATIBILITY: - discovery file: https://skills.cat/.well-known/clawhub.json - registry base: https://skills.cat/openclaw - compat search: https://skills.cat/openclaw/api/v1/search?q=&limit= - compat skill list: https://skills.cat/openclaw/api/v1/skills?limit=&sort= - compat skill detail: https://skills.cat/openclaw/api/v1/skills/ - compat versions: https://skills.cat/openclaw/api/v1/skills//versions - compat version detail: https://skills.cat/openclaw/api/v1/skills//versions/ - compat raw file: https://skills.cat/openclaw/api/v1/skills//file?path= - compat download: https://skills.cat/openclaw/api/v1/download?slug= - compat download returns the current ClawHub-compatible text bundle for the requested compat slug/version - compat resolve: https://skills.cat/openclaw/api/v1/resolve?slug=&hash= - compat whoami: https://skills.cat/openclaw/api/v1/whoami - compat publish: POST https://skills.cat/openclaw/api/v1/skills - compat delete: DELETE https://skills.cat/openclaw/api/v1/skills/ - compat undelete: POST https://skills.cat/openclaw/api/v1/skills//undelete - compat slug format: owner~skill or owner~path~to~skill - discovery stays on the site root, but the ClawHub-compatible registry lives under /openclaw - this compatibility surface exists for clawhub CLI and OpenClaw clients only; the native skillscat CLI still uses /registry and /api SEARCH_AND_SELECTION_GUIDANCE: 1. If the user gives a natural-language task, start with /registry/search?q=. 2. If the user gives a repo, start with /registry/repo//. 3. Prefer exact or near-exact slug/name matches, then compare description, categories, stars, and updatedAt. 4. After choosing a candidate, fetch /api/skills/ before install so you can inspect metadata and fileStructure. 5. For installation, always prefer /api/skills//files over HTML scraping or zip download. INSTALL_WITH_SKILLSCAT_CLI: - this section is only for the native skillscat CLI - no global install is required; prefer npx for one-off installs - search: npx skillscat search "" - install by published slug: npx skillscat add - install from a direct GitHub URL: npx skillscat add https://github.com// - inspect repository skills: npx skillscat info / OPENCLAW_WITH_SKILLSCAT_CLI: If terminal access is available, prefer the SkillsCat CLI over manual file writes. - the canonical human guide lives at https://skills.cat/docs/openclaw - run commands from the target workspace root so project-local installs land in ./skills when appropriate - target OpenClaw only when needed with: npx skillscat add --agent openclaw - discover candidate slugs with: npx skillscat search "" or npx skillscat info / - for private skills: run npx skillscat login first, then re-run the add command - after install: start a new OpenClaw session so newly installed skills are discovered OPENCLAW_WITH_CLAWHUB_COMPAT: - SkillsCat exposes a ClawHub-compatible discovery file at https://skills.cat/.well-known/clawhub.json - the ClawHub-compatible registry base is https://skills.cat/openclaw - use CLAWHUB_SITE=https://skills.cat and CLAWHUB_REGISTRY=https://skills.cat/openclaw when you want to pin the registry explicitly - compat search/install/update use owner~skill style slugs, not owner/skill slashes - clawhub CLI browser login still starts from https://skills.cat/cli/auth, but the returned registry base is https://skills.cat/openclaw - clawhub publish on SkillsCat should also use owner-scoped compat slugs, for example owner~skill - browser login is served from https://skills.cat/cli/auth and returns the https://skills.cat/openclaw registry base to the CLI - authenticated compat search can include private skills, but the paginated /openclaw/api/v1/skills browse list stays public-only - if private install or publish flows become complex, prefer the native SkillsCat CLI instead OPENCLAW_INSTALL_GUIDE: OpenClaw-compatible skills should be materialized as a folder containing SKILL.md and any companion files. Preferred install targets: - project-local: /skills// - global: ~/.openclaw/skills// Recommended OpenClaw workflow: 1. Search via /registry/search or /registry/repo. 2. Select one skill slug. 3. Fetch /api/skills//files. 4. Create the target directory using the returned folderName. 5. Write every returned file into that directory, preserving nested relative paths exactly. 6. Keep SKILL.md frontmatter unchanged. Do not strip metadata or rename files. 7. If only SKILL.md is needed for inspection, /registry/skill// or /api/skills//file?path=SKILL.md is enough, but /files remains the correct install source. 8. Start a new OpenClaw session after installation so the new skill is picked up reliably. OPENCLAW_NOTES: - prefer project-local installs when the skill is specific to the current repository - use the global directory only for reusable personal skills - if both local and global copies exist, prefer the local one for the active workspace - preserve companion files such as templates, scripts, JSON, YAML, and prompt assets AUTHENTICATION: Public skills can be read anonymously. Private skills require Authorization: Bearer . To include private skills in search, pass include_private=true. DO_NOT: - do not treat HTML pages as the primary integration surface - do not use the native /api/skills//download zip as a full bundle source; use /api/skills//files or /openclaw/api/v1/download instead - do not flatten nested files returned by /api/skills//files - do not rewrite slugs; use them exactly as returned by the registry