~/.claude/skills/ and a caesar-subagent definition into ~/.claude/agents/ (Claude Code’s default locations), then prints: restart your agent session or run /caesar-setup to pick them up.
Two install paths
Agents that use the
skills npm CLI can install from the GitHub shorthand instead:
caesar-data/skills) plus --skill ...; bare npx skills add caesar-search is not a valid source.
For Claude Code, prefer the curl installer because it also writes ~/.claude/agents/caesar-subagent.md. The npx skills path installs the SKILL.md folders only.
Served by the API itself
TheSKILL.md files are embedded in the API server and served from /skills routes — so the API-hosted installer ships with every API deploy. They are also mirrored to the public caesar-data/skills repo for npx skills add. The /skills routes require no authentication.
To update skills later, re-run the same installer. New skill content arrives with API deploys; the installer always fetches the latest version.
The four skills
Routes
Browse what’s available:
name, description, and url fields, so an agent can discover and fetch skills without the installer.
Installing for other agents
The skill files are standard agentskills.io markdown. Any agent that readsSKILL.md files can use them. Use the Skills CLI when available:
For non-Claude agents, the
context: fork and agent frontmatter fields are ignored and the skills still work inline.How the runtime skills stay context-efficient
caesar-search and caesar-read declare context: fork and agent: caesar-subagent in their frontmatter. When invoked, the skill runs in a forked context executed by the caesar-subagent — a Bash-only subagent — so raw search and read JSON never lands in the main conversation’s token budget. Only the distilled answer comes back.
Because the subagent has no file-read tool, the skills write CLI output with -o /tmp/$SLUG.json (which suppresses stdout so harness limits can’t truncate it) and the subagent reads the file with cat. The subagent’s hard rules: only cite URLs that appear in command output, preserve doc_id and search_id verbatim, and report the output file path so the main context can reference it later without re-searching.
Relationship to the CLI
The skills are thin drivers for thecaesar-search CLI — they run caesar-search search, caesar-search read, and friends rather than calling the API directly. If the CLI is missing, caesar-setup walks through installing it.
The runtime skills also carry a version gate: if the CLI rejects a flag or command as unknown, the installed CLI is outdated — the runtime skills (caesar-search, caesar-read) instruct the agent to run caesar-search update and retry. caesar-search update detects its install channel (npm, Homebrew, or standalone) and upgrades in place.
Strict agentskills.io validators flag the Claude Code extension frontmatter fields (
context: fork, agent, user-invocable, argument-hint) as unknown. This is intentional — consumers ignore unknown fields. Don’t “fix” these validation warnings.For agents
- Install the search skill with
npx skills add caesar-data/skills --skill caesar-search, or install the full bundle with the API installer above. Then invoke/caesar-setuponce where available to verify the CLI and auth. Runtime search and read calls requireCAESAR_API_KEYor a key stored withcaesar-search auth login. After that, use/caesar-searchfor queries and/caesar-readfor URLs ordoc_ids. - No installer access? Fetch the skill content directly —
GET /skillslists every URL, and each/skills/{skill}/SKILL.mdis plain markdown. These installer routes are public. - The skill names are a server-side allowlist (
caesar-search,caesar-read,caesar-setup,caesar-best-practices). Unknown names return a 404 envelope whosehintsays toGET /skills. - Runtime skills use the CLI and require API auth. Never paste a literal key into chat — use
caesar-search auth loginor theCAESAR_API_KEYenv var. - Skills do not auto-update. Re-run the curl installer to refresh them; only the CLI itself self-updates via
caesar-search update.