Manage an ibl.ai agent's skills via the platform API — browse the org skill catalog, assign/unassign skills to an agent, and create/edit/delete catalog skills. Requires a connected sandbox. Use when giving an agent reusable skill instructions.
Installs into .claude/skills of the current project.
Are you the author of Iblai Api Agent Skill?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/iblai-iblai-api-agent-skill)
---
name: iblai-api-agent-skill
description: Manage an ibl.ai agent's skills via the platform API — browse the org skill catalog, assign/unassign skills to an agent, and create/edit/delete catalog skills. Requires a connected sandbox. Use when giving an agent reusable skill instructions.
metadata:
kind: api
---
# iblai-api-agent-skill
Manage an agent's skills via the API: browse the org's skill catalog, toggle
which skills an agent has assigned, and manage the catalog itself (create / edit
/ delete reusable skills). Use when giving an agent reusable skill instructions.
## Auth & conventions
- **Base URL:** `https://api.iblai.app`
- **Header:** `Authorization: Api-Token $IBLAI_API_KEY` on every request.
- **Path vars:** `{org}` = `$IBLAI_ORG`, `{username}` = `$IBLAI_USERNAME`,
`{mentor}` = the agent's unique id (e.g. `d17dc729-60fd-4363-81a0-f67d9318b03e`).
- Not connected yet? Run **`/iblai-api-login`** first to populate `IBLAI_ORG`,
`IBLAI_USERNAME`, and `IBLAI_API_KEY`.
## Reads
- **GET** `https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/mentors/{mentor}/claw-config/` — gate (skills require a sandbox).
- **GET** `https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/agent-skills/` — platform skill catalog.
- **GET** `https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/mentors/{mentor}/skills/` — skills assigned to this agent.
## Writes
### Assignment (toggle)
- **POST** `…/mentors/{mentor}/skills/` — assign a skill to the agent:
```json
{
"skill": "uuid (required)",
"enabled": "boolean"
}
```
- **PATCH** `…/mentors/{mentor}/skills/{assignmentId}/` — enable / disable an assignment:
```json
{
"enabled": "boolean"
}
```
- **DELETE** `…/mentors/{mentor}/skills/{assignmentId}/` — unassign the skill (no body).
### Catalog CRUD
- **POST** `…/orgs/{org}/agent-skills/` — create a catalog skill:
```json
{
"name": "string (required)",
"slug": "string (required)",
"description": "string",
"version": "string",
"instruction": "string",
"metadata": "object",
"enabled": "boolean"
}
```
- **PATCH** `…/orgs/{org}/agent-skills/{id}/` — update the catalog skill (partial).
- **DELETE** `…/orgs/{org}/agent-skills/{id}/` — delete the catalog skill (no body). Destructive — confirm with the user first.
- **POST** `…/orgs/{org}/agent-skill-resources/` — attach a resource/file to a catalog skill: `{ "skill": id, "file_type": "string", "filename": "string", "content": "string" }`.
- **POST** `…/orgs/{org}/agent-skill-assignments/` — assign a catalog skill to an agent (org-level twin of the `mentors/`-nested `skills/` assignment above): `{ "agent": id, "skill": id, "enabled": bool }`.
## Example
Create a catalog skill, then assign it to the agent:
```bash
# Create the skill in the org catalog
curl -X POST \
"https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/agent-skills/" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Cite Sources",
"slug": "cite-sources",
"description": "Always cite sources inline.",
"instruction": "When answering, cite each claim with a source.",
"enabled": true
}'
# Assign it to the agent (use the returned skill uuid)
curl -X POST \
"https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/mentors/$MENTOR/skills/" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "skill": "8f1c…uuid", "enabled": true }'
```
## Notes
- Skills require a **connected sandbox** — the feature is gated via the
`claw-config/` endpoint above. If it returns `404` the agent has no sandbox
wired up; connect one first via **`/iblai-api-agent-sandbox`**.
- The catalog (`agent-skills/`) is org-scoped and shared across agents; the
assignment list (`mentors/{mentor}/skills/`) is per-agent. Editing a catalog
skill affects every agent it is assigned to.
- Toggling `enabled` on an assignment keeps the skill assigned but inactive;
use DELETE to remove the assignment entirely.