seoskills.sh
Catalog/Docs

Docs

seoskills.sh is a directory and package manager for SEO agent skills. Every skill is a public GitHub repo with a SKILL.md. Install one into any agent with a single command, or consume the whole catalog over a REST API, an MCP endpoint, or the Agent Skills discovery index.

01

Install a skill

Skills install with the open-source skills CLI. No account, no config — point it at seoskills.sh and a skill slug:

$ npx skills add seoskills.sh/seo-audit

Install every skill in the catalog at once:

$ npx skills add seoskills.sh

Target a specific agent with -a. Each agent has its own landing page (see Claude Code, Cursor, and 10 more):

$ npx skills add seoskills.sh -a claude-code
$ npx skills add seoskills.sh -a cursor
$ npx skills add seoskills.sh -a codex
02

Discover skills

Browse the catalog three ways:

03

REST API

A public, CORS-enabled JSON API. No key required. Responses are cached at the edge for an hour.

GET/api/skills?q=&category=&limit=
GET/api/skills/{owner}/{repo}/{slug}
GET/api/categories

Example: search for schema skills in the technical-SEO category.

$ curl "https://seoskills.sh/api/skills?q=schema&category=technical-seo&limit=2"

{
  "count": 2,
  "skills": [
    {
      "id": "coreyhaines31/marketingskills/schema-markup",
      "slug": "schema-markup",
      "name": "schema-markup",
      "description": "Add, fix, or optimize schema markup...",
      "category": "technical-seo",
      "installs": 56200,
      "source": "coreyhaines31/marketingskills",
      "install": "npx skills add seoskills.sh/schema-markup"
    }
  ]
}

Fetch one skill with its full SKILL.md in the skillMd field. This is how an app pulls a skill’s body to run it, with no GitHub round-trip, for internal and external skills alike.

$ curl "https://seoskills.sh/api/skills/coreyhaines31/marketingskills/seo-audit"

{
  "id": "coreyhaines31/marketingskills/seo-audit",
  "slug": "seo-audit",
  "name": "seo-audit",
  "description": "Audit, review, or diagnose SEO issues on a site.",
  "category": "audit",
  "installs": 207100,
  "source": "coreyhaines31/marketingskills",
  "repository": "https://github.com/coreyhaines31/marketingskills",
  "license": "MIT",
  "install": "npx skills add seoskills.sh/seo-audit",
  "skillMd": "---\nname: seo-audit\n... (the full instructions)"
}
04

MCP endpoint

Give any MCP client live access to the catalog. The server exposes three tools: search_skills, get_skill, and list_categories.

POST/api/mcp

Add it to Claude Code:

$ claude mcp add --transport http seoskills https://seoskills.sh/api/mcp

Or to any client that reads a JSON config:

{
  "mcpServers": {
    "seoskills": {
      "url": "https://seoskills.sh/api/mcp"
    }
  }
}
05

Discovery index

seoskills.sh implements the Agent Skills Discovery RFC. The well-known index is what makes npx skills add work — it lists every installable skill with a sha256 digest of its SKILL.md.

GET/.well-known/agent-skills/index.json
GET/.well-known/agent-skills/{name}/SKILL.md
06

Install badge

Show install counts in your repo README. The badge links back to the skill on seoskills.sh.

seoskills.sh install badge

[![seoskills.sh](https://seoskills.sh/b/coreyhaines31/marketingskills/seo-audit.svg)](https://seoskills.sh/coreyhaines31/marketingskills/seo-audit)
07

Publish a skill

A skill is just a public GitHub repo with a SKILL.md at the path the skill lives in — a name, a description, and the instructions an agent follows. That is the entire format.

your-repo/
  seo-audit/
    SKILL.md   # --- name, description, then the instructions

seoskills.sh syncs the SEO skills ecosystem automatically, so well-formed public skills get picked up and listed. Want a skill added now, or spotted a problem with a listing? Open an issue on the repo.