Connect your AI
The easy way: open Connect your AI, pick your app, sign in to SkillPlug, and click Allow. Your packs load themselves in the chat and your dashboards fill in automatically. No keys to copy. You can disconnect any time.
Connect in one click
Go to /connect and pick your app.
| App | How it works |
|---|---|
| Claude | One click. Claude opens with SkillPlug filled in. Click Add, Connect, then Allow. |
| ChatGPT | Copy the SkillPlug link, open ChatGPT settings, add it as an app (Developer mode may need to be on), then Allow. Web only, paid plans. |
| Grok | Copy the SkillPlug link, open grok.com connectors, click New Connector, Custom, paste, then Allow. |
| Gemini | Only some accounts can add custom apps (US, 18+, personal account, Google AI Pro or Ultra). Settings, Connected Apps, Add a custom app, paste. |
The SkillPlug link is:
https://skillplug.io/api/agent/mcpAfter you connect, say "Use SkillPlug to load my packs and set up my study dashboards." The /connect page has a button that types this for you in Claude, ChatGPT, and Grok.
What your AI can do
A connected app, or a key, can do these things on your account and nothing else:
- See which account it is connected to (your sign-in email or phone, and a display name when there is one).
- List the packs you own and read their skills directly, so nothing needs to be downloaded or uploaded.
- Get a short-lived download link for the latest zip of a pack you own.
- Read and save your study progress for a pack.
- Send snapshots to your private progress dashboards.
It cannot view your orders or receipts, change billing, or touch another account. Manage and disconnect apps at /account/agent.
Advanced: keys for developers
Use a key when your tool can't sign in: Composio, scripts, the REST API, or an MCP client without OAuth. One key works everywhere, including dashboard sync (see Connect sync).
- Sign in at /account/agent with the email you bought with.
- Under Advanced: SkillPlug keys, click Create key. You can give it a name, such as "Composio".
- Copy the key. It starts with
sp_live_and is shown only once. Store it as a secret, not inside a repo or a chat transcript.
Keys are stored only as a hash. If one leaks, revoke it on the same page and create a new one. You can have up to ten active keys.
Pasted the key into a chat?
It is now part of that conversation. If the chat is shared or synced anywhere, revoke the key at /account/agent and create a new one. Chat apps should use Connect your AI instead.
Two ways to call SkillPlug
REST API
Base URL: https://skillplug.io/api/agent/v1. Send the key as a bearer token.
# the account the key belongs tocurl -s https://skillplug.io/api/agent/v1/me \ -H "Authorization: Bearer $SKILLPLUG_AGENT_KEY"# the packs you owncurl -s https://skillplug.io/api/agent/v1/packs \ -H "Authorization: Bearer $SKILLPLUG_AGENT_KEY"The full machine-readable contract is published as OpenAPI 3.1 at /api/agent/v1/openapi.json.
| Method | Path | Purpose |
|---|---|---|
GET | /me | The account identifier, display name, and plan. |
GET | /packs | The packs you own: slug, name, version, updated time. |
GET | /packs/{slug} | Pack details plus a manifest of its files. 404 for a pack you do not own. |
GET | /packs/{slug}/download | A short-lived signed URL for the latest zip. |
GET | /progress?pack={slug} | Your saved study progress for a pack. |
POST | /progress | Save study progress for a pack (send the pack slug plus the fields that changed). |
Remote MCP server
Point any MCP client at the remote server. This is also how the SkillPlug Composio toolkit connects.
https://skillplug.io/api/agent/mcpIt uses the Streamable HTTP transport and is stateless. It accepts either an OAuth access token (apps that sign in, discovered from the 401 response's WWW-Authenticate header per the MCP authorization spec) or a SkillPlug key, both as Authorization: Bearer. It supports OAuth 2.1 with PKCE, dynamic client registration, and client ID metadata documents. Discovery lives at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server.
# Claude Codeclaude mcp add --transport http skillplug https://skillplug.io/api/agent/mcpTools:
| Tool | Does |
|---|---|
SKILLPLUG_SETUP | Load your packs, their start-here skills, and dashboards. Call it first. |
SKILLPLUG_GET_ACCOUNT | Get the connected account. |
SKILLPLUG_LIST_PACKS | List owned packs. |
SKILLPLUG_GET_PACK | Get one pack's details and file manifest. |
SKILLPLUG_DOWNLOAD_PACK | Get a signed download URL for a pack's latest zip. |
SKILLPLUG_GET_PROGRESS | Read saved progress for a pack. |
SKILLPLUG_SYNC_PROGRESS | Save progress for a pack. |
SKILLPLUG_LIST_SKILLS | List the skills and files in a pack you own. |
SKILLPLUG_READ_SKILL | Read one skill or file from a pack you own. |
SKILLPLUG_SYNC_DASHBOARD | Send a progress snapshot to a private dashboard. |
It also offers a start_skillplug prompt and each pack's skills as resources (skillplug://packs/{slug}/{path}).
Connect with Composio
Composio is one way to connect SkillPlug to an agent. The SkillPlug toolkit in Composio points at the MCP server above. When you add it, Composio asks for your SkillPlug key. Create the key under Advanced at /account/agent, paste it in, and the tools become available to your agent.
Errors and limits
Errors are JSON in the shape { "error": { "code": "...", "message": "..." } }.
| Status | Meaning |
|---|---|
400 | Invalid request (for example a missing field or bad progress value). |
401 | Missing, invalid, or revoked key or token. |
404 | A pack you do not own, or an unknown path. |
429 | Too many requests. Slow down and retry after the time in Retry-After. |
503 | Temporarily unavailable. Retry shortly; do not loop. |
Progress upserts are last write wins. The body is capped at 64 KB, completed_items at 2000 entries, and the free-form data object at 32 KB. The REST API is for agents and servers; it is not set up for cross-origin browser calls.
Questions? Email support@skillplug.io. SkillPlug is operated by VerityAI, LLC.