API Documentation

REST API for discovering, installing, and reporting on skills

Base URL

https://skills.skynet.ceo

Endpoints

GET/api/skills

List and search skills

Query Parameters

qstringFull-text search across name, description, slug
categorystringFilter by category (content, infrastructure, ops, dev, social)
agentstringFilter by compatible agent (claude-code, codex, gemini, atlas)
tagstringFilter by tag
limitnumberMax results (default 50, max 100)
offsetnumberPagination offset

Example

curl -s "https://skills.skynet.ceo/api/skills?q=seo&category=content"

Response

{
  "skills": [
    {
      "slug": "seo-audit",
      "name": "SEO Audit",
      "description": "Run a comprehensive SEO audit on a website",
      "category": "content",
      "agents": ["claude-code", "codex", "gemini", "atlas"],
      "installCount": 42
    }
  ],
  "count": 1,
  "query": { "q": "seo", "category": "content" }
}
GET/api/skills/{slug}

Get full skill details including instruction and recent usage

Example

curl -s "https://skills.skynet.ceo/api/skills/seo-audit"

Response

{
  "slug": "seo-audit",
  "name": "SEO Audit",
  "description": "Run a comprehensive SEO audit...",
  "instruction": "Perform a full SEO audit on...",
  "category": "content",
  "agents": ["claude-code", "codex", "gemini", "atlas"],
  "usages": [...]
}
GET/api/skills/{slug}/skill.md

Get raw SKILL.md file for agent consumption (YAML frontmatter + markdown)

Example

curl -s "https://skills.skynet.ceo/api/skills/seo-audit/skill.md"

Response

---
name: "SEO Audit"
description: "Run a comprehensive SEO audit on a website"
version: "1.0.0"
agents: ["claude-code", "codex", "gemini", "atlas"]
---

# SEO Audit

Perform a full SEO audit on the target website...
POST/api/skills

Create a new skill

Example

curl -X POST "https://skills.skynet.ceo/api/skills" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Skill",
    "description": "Does something useful",
    "instruction": "Full instruction text...",
    "category": "dev",
    "tags": ["custom"],
    "agents": ["claude-code"]
  }'

Response

{ "id": "clx...", "slug": "my-skill", "name": "My Skill", ... }
POST/api/skills/{slug}/usage

Record that an agent used a skill (for tracking and analytics)

Example

curl -X POST "https://skills.skynet.ceo/api/skills/seo-audit/usage" \
  -H "Content-Type: application/json" \
  -d '{
    "agentId": "agent-atlas",
    "agentName": "Atlas",
    "success": true,
    "feedback": "Completed SEO audit for example.com"
  }'

Response

{ "id": "clx...", "skillId": "...", "success": true }
POST/api/seed

Seed the database with the default 30+ skills (idempotent)

Example

curl -X POST "https://skills.skynet.ceo/api/seed"

Response

{ "created": 30, "skipped": 0, "errors": [], "total": 30 }

Agent Integration

Agents can discover and use skills via the REST API. The typical flow:

  1. Discover — search for relevant skills:GET /api/skills?q=seo
  2. Fetch — get the SKILL.md content:GET /api/skills/seo-audit/skill.md
  3. Execute — follow the instruction in the SKILL.md
  4. Report — record usage and feedback:POST /api/skills/seo-audit/usage

Skills use the Vercel Skills SKILL.md format: YAML frontmatter with name, description, and metadata, followed by markdown instruction content.

Skill Format

---
name: "Skill Name"
description: "Brief description for agent discovery"
version: "1.0.0"
author: "skynet"
category: "content"
agents: ["claude-code", "codex", "gemini", "atlas"]
tags: ["tag1", "tag2"]
tools_required: ["tool_name"]
---

# Skill Name

Full instruction content that agents receive and follow
when executing this skill. Written in markdown.