{"openapi":"3.0.3","info":{"title":"cccskills API","version":"1.0.0","description":"Search Agent Skills indexed by cccskills. Metadata only (no SKILL.md bodies).\n\nAnonymous: 50 searches/day and 10 requests/min per IP. Free account: 50 searches/day (UTC). Standard: 5000/month. Pro: 25000/month. Each key: 30 requests/min. Only successful keyword searches count; skill details, categories and usage do not.\n\nKeys and plans: https://cccskills.com/dashboard/api — Docs: https://cccskills.com/developers — MCP: https://cccskills.com/mcp"},"servers":[{"url":"https://cccskills.com"}],"security":[{"bearer":[]},{}],"paths":{"/api/v1/skills/search":{"get":{"summary":"Search skills by keyword","operationId":"searchSkills","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":200}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"sortBy","in":"query","schema":{"type":"string","enum":["relevance","stars","recent","rating","downloads"],"default":"relevance"}},{"name":"category","in":"query","schema":{"type":"string"},"description":"Category slug from /api/v1/categories"},{"name":"price","in":"query","schema":{"type":"string","enum":["free","paid"]}},{"name":"source","in":"query","schema":{"type":"string","enum":["github","native"]}},{"name":"official","in":"query","schema":{"type":"string"},"description":"* for all official skills, or a publisher slug such as claude"},{"name":"lang","in":"query","schema":{"type":"string","enum":["ja","en","zh","ko"],"default":"ja"},"description":"Language of description / useCases. Falls back to English or the original text."}],"responses":{"200":{"description":"Search result","headers":{"X-RateLimit-Daily-Limit":{"schema":{"type":"string"}},"X-RateLimit-Daily-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Monthly-Limit":{"schema":{"type":"string"}},"X-RateLimit-Monthly-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object","properties":{"skills":{"type":"array","items":{"$ref":"#/components/schemas/Skill"}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"},"hasNext":{"type":"boolean"}}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/api/v1/skills/{slug}":{"get":{"summary":"Get one skill's metadata","operationId":"getSkill","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}},{"name":"lang","in":"query","schema":{"type":"string","enum":["ja","en","zh","ko"],"default":"ja"},"description":"Language of description / useCases. Falls back to English or the original text."}],"responses":{"200":{"description":"Skill","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"allOf":[{"$ref":"#/components/schemas/Skill"},{"type":"object","properties":{"useCases":{"type":"array","items":{"type":"string"}},"version":{"type":"string","nullable":true}}}]}}}}}},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/api/v1/categories":{"get":{"summary":"List categories","operationId":"listCategories","parameters":[{"name":"lang","in":"query","schema":{"type":"string","enum":["ja","en","zh","ko"],"default":"ja"},"description":"Language of description / useCases. Falls back to English or the original text."}],"responses":{"200":{"description":"Categories"},"429":{"$ref":"#/components/responses/Error"}}}},"/api/v1/usage":{"get":{"summary":"Current plan and remaining searches","operationId":"getUsage","responses":{"200":{"description":"Usage"},"401":{"$ref":"#/components/responses/Error"}}}},"/api/v1/export":{"get":{"summary":"Export skill metadata as CSV or JSON (account required)","operationId":"exportSkills","description":"Free: 1 export/day, up to 500 rows. Standard: 20000 rows/month. Pro: 100000 rows/month. Up to 10000 rows per export.","parameters":[{"name":"format","in":"query","schema":{"type":"string","enum":["csv","json"],"default":"csv"}},{"name":"rows","in":"query","schema":{"type":"integer","minimum":1,"default":1000}},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional. Without it, skills are ordered by stars."},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"price","in":"query","schema":{"type":"string","enum":["free","paid"]}},{"name":"source","in":"query","schema":{"type":"string","enum":["github","native"]}},{"name":"official","in":"query","schema":{"type":"string"}},{"name":"sortBy","in":"query","schema":{"type":"string","enum":["relevance","stars","recent","rating","downloads"]}},{"name":"lang","in":"query","schema":{"type":"string","enum":["ja","en","zh","ko"],"default":"ja"},"description":"Language of description / useCases. Falls back to English or the original text."}],"responses":{"200":{"description":"File"},"401":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"API key (ccs_live_...)"}},"schemas":{"Skill":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"descriptionLang":{"type":"string","description":"Language of `description` (may fall back to en or the original)"},"contentLang":{"type":"string","description":"Language the SKILL.md itself is written in (not a translation)"},"isFork":{"type":"boolean","description":"The skill lives in a GitHub fork"},"isCopy":{"type":"boolean","description":"Same name and same or near-identical description as another skill (e.g. copied into dotfiles)"},"copyOf":{"type":"object","nullable":true,"description":"For copies: the representative skill of the group (official first, then most stars). Not necessarily the original author.","properties":{"slug":{"type":"string"},"name":{"type":"string"},"repo":{"type":"string","nullable":true},"url":{"type":"string","format":"uri"}}},"author":{"type":"string","description":"GitHub owner, or the creator handle for skills distributed on cccskills"},"source":{"type":"string","enum":["github","native"]},"category":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"official":{"type":"string","nullable":true},"license":{"type":"string","nullable":true},"stars":{"type":"integer"},"forks":{"type":"integer"},"priceJpy":{"type":"integer","description":"0 for free skills. Tax included."},"rating":{"type":"object","properties":{"average":{"type":"number","nullable":true},"count":{"type":"integer"}}},"downloads":{"type":"integer"},"url":{"type":"string","format":"uri"},"githubUrl":{"type":"string","format":"uri","nullable":true},"updatedAt":{"type":"string","format":"date-time"},"publishedAt":{"type":"string","format":"date-time","nullable":true}}}},"responses":{"Error":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_API_KEY","MISSING_QUERY","INVALID_QUERY","INVALID_PAGE","INVALID_LIMIT","INVALID_SORT","INVALID_PRICE","INVALID_SOURCE","INVALID_OFFICIAL","INVALID_CATEGORY","INVALID_LANGUAGE","INVALID_FORMAT","INVALID_ROWS","SKILL_NOT_FOUND","LOGIN_REQUIRED","DAILY_QUOTA_EXCEEDED","MONTHLY_QUOTA_EXCEEDED","RATE_LIMITED","SEARCH_INDEX_UNAVAILABLE","RATE_LIMIT_UNAVAILABLE","AUTH_UNAVAILABLE","INTERNAL_ERROR"]},"message":{"type":"string"}}}}}}}}}}}