iblai-api-agent-skill
Mirrored from
iblai/vibe·skills/agents/iblai-api-agent-skill/SKILL.md. This page is generated — edit it in the repository, not here.
With a screen:
/iblai-vibe-agent-skillsmountsAgentSkillsTabon the same data — this skill is its headless twin.
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_KEYon every request. - Path vars:
{org}=$IBLAI_ORG,{username}=$IBLAI_USERNAME,{mentor}= the agent's unique id (e.g.d17dc729-60fd-4363-81a0-f67d9318b03e). - Assignment paths:
…/orgs/{org}/agents/{mentor}/skills/is the canonical spelling;…/orgs/{org}/mentors/{mentor}/skills/is a deprecated alias with the same behavior. - Not connected yet? Run
/iblai-api-loginfirst to populateIBLAI_ORG,IBLAI_USERNAME, andIBLAI_API_KEY.
Reads
- GET
https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/agent-skills/— the organization's skill catalog. Query:enabled,search(name/slug),limit,offset. - GET
https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/agent-skills/{id}/— one skill. - GET
https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/agents/{mentor}/skills/— skills assigned to this agent (limit,offset). - GET
https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/agent-skill-resources/?skill={id}— a skill's files (file_type,limit,offset).
Writes
Assignment (toggle)
- POST
…/agents/{mentor}/skills/— assign a skill to the agent:{ "skill": "uuid (required)", "enabled": "boolean" } - PATCH
…/agents/{mentor}/skills/{assignmentId}/— enable / disable an assignment:{ "enabled": "boolean" } - DELETE
…/agents/{mentor}/skills/{assignmentId}/— unassign the skill (no body).
Catalog CRUD
- POST
…/orgs/{org}/agent-skills/— create a catalog skill:
A skill with{ "name": "string (required)", "slug": "string (required)", "description": "string", "version": "string", "category": "string", "instruction": "string", "mentor": "uuid | null (set = private to that agent; see below)", "metadata": "object", "enabled": "boolean" }mentorset applies to that agent directly and cannot be assigned:POST …/agents/{mentor}/skills/with it returns 400 "Object with unique_id=… does not exist". It therefore never shows in the agent'sskills/list. - 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 file to a catalog skill:{ "skill": id, "file_type": "reference | script", "filename": "string", "content": "string" }for text; multipart withfileforfile_type: "asset". - PATCH
…/orgs/{org}/agent-skill-resources/{id}/— update a resource's filename or content. - DELETE
…/orgs/{org}/agent-skill-resources/{id}/— delete a resource (no body). Confirm with the user first.
Example
Create a catalog skill, then assign it to the agent:
# 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/agents/$MENTOR/skills/" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "skill": "8f1c…uuid", "enabled": true }'
Notes
- Skills need no sandbox; they apply to Base Agent agents.
- The assignment's
skillis the skill'sunique_id(UUID); resources key on the integerid. - The catalog (
agent-skills/) is org-scoped and shared across agents; the assignment list (agents/{mentor}/skills/) is per-agent. Editing a catalog skill affects every agent it is assigned to. - Toggling
enabledon an assignment keeps the skill assigned but inactive; use DELETE to remove the assignment entirely.