# illo skill developer resources

HTML: https://illo-skill.com/developers

This page is the developer index for **illo skill** (illo-skill.com). It exists so agents and search engines that look up "illo-skill developer resources", API docs, OpenAPI, auth, webhooks, or MCP can see what the product actually exposes.

## What you integrate with

illo skill is an [Agent Skills](https://github.com/tmchow/illo-skill/tree/main/skills/illo/SKILL.md) package. This origin publishes a **read-only catalog**. It does **not** generate images, take accounts, or accept webhooks. Rendering happens in the installed skill (`illo.py`).

| Surface | Status | Where |
|---|---|---|
| Agent skill (`SKILL.md` + `illo.py`) | Supported | https://github.com/tmchow/illo-skill |
| Character pack catalog | Supported | https://illo-skill.com/characters.json and `/api/characters` |
| OpenAPI 3.1 | Supported | https://illo-skill.com/openapi.json |
| Catalog MCP (Streamable HTTP) | Supported — lookup only | https://illo-skill.com/mcp — manifests at `/server.json`, `/.well-known/mcp`, `/mcp/server-card` |
| CLI | The skill engine | https://illo-skill.com/cli.json points at `illo.py`. There is no npm package that calls this origin to render images. |
| Agent instructions | Supported | https://illo-skill.com/agent-instructions.md and `/llms.txt` |
| Image / render HTTP API | None | Do not invent `/api/render` |
| Auth / OAuth / accounts | None | OpenRouter keys stay on the user's machine |
| Webhooks / GraphQL / commerce | None | Not product surfaces on this origin |

Do not invent render URLs. Missing paths return HTTP 404. Send `Accept: application/json` (or hit `/api/*` / `/openapi.json` errors) for a structured problem document with `error.code`, `error.message`, and `error.hint`.

## How an agent should call illo skill

1. Install with this host's native plugin or skill manager. Full table: https://illo-skill.com/llms.txt and https://github.com/tmchow/illo-skill#install — Claude Code, Codex, Grok CLI, Grok Bot, Gemini CLI, Copilot (`gh skill install`), Hermes, OpenClaw, Cursor. `npx skills add tmchow/illo-skill --skill illo` is last resort only.
2. Confirm an image backend: Codex CLI, Grok CLI, Grok Bot, or `illo.py init` for OpenRouter.
3. Invoke with `/illo …` or equivalent natural language the skill's description matches.
4. Install character packs by name from the JSON catalog when the user names a mascot that is not local yet. List packs via `GET /characters.json`, `GET /api/characters`, or the MCP tools `list_character_packs` / `get_character_pack`.

## Machine-readable files

- https://illo-skill.com/openapi.json
- https://illo-skill.com/characters.json
- https://illo-skill.com/llms.txt
- https://illo-skill.com/agent-instructions.md
- https://illo-skill.com/cli.json
- https://illo-skill.com/mcp
- https://illo-skill.com/server.json
- https://illo-skill.com/mcp/server-card
- https://illo-skill.com/.well-known/mcp
- https://illo-skill.com/.well-known/api-catalog
- https://illo-skill.com/sitemap.xml
- https://illo-skill.com/index.md (and `.md` twins for every content page)

Markdown content negotiation: send `Accept: text/markdown` to a page URL, or fetch the `.md` sibling. Responses set `Content-Type: text/markdown; charset=utf-8` and `Vary: Accept, Accept-Encoding`.
