curl "https://app.runtm.com/api/agent-directives?type_family=skill&page_size=10" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
response = requests.get(
"https://app.runtm.com/api/agent-directives",
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
params={
"type_family": "skill",
"page_size": 10,
"include_content": False,
},
)
data = response.json()
for d in data["directives"]:
print(f"{d['name']} ({d['content_hash'][:12]})")
const params = new URLSearchParams({
type_family: "skill",
page_size: "10",
});
const response = await fetch(
`https://app.runtm.com/api/agent-directives?${params}`,
{
headers: {
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await response.json();
data.directives.forEach((d) =>
console.log(`${d.name} (${d.content_hash.slice(0, 12)})`)
);
{
"directives": [
{
"id": "dir_abc123",
"type": "skill_v0",
"name": "deploy-to-fly",
"display_name": "Deploy to Fly.io",
"description": "Guides the agent through Fly.io deployments",
"organization_id": "org_abc123",
"owner_user_id": "user_xyz",
"content_kind": "inline",
"content_hash": "sha256:abcdef...",
"size_bytes": 4096,
"source": {
"kind": "github_repo",
"uri": "owner/repo",
"ref": "main",
"commit_sha": "a1b2c3d"
},
"attachments": {
"repos": ["owner/repo"],
"applies_to_all": false
},
"created_at": "2026-04-15T10:00:00Z",
"updated_at": "2026-05-01T12:00:00Z"
}
],
"next_page_token": null,
"total_size": 1
}
Skills
List Skills
List skills, MCP servers, docs, hooks, and other agent directives
GET
/
api
/
agent-directives
curl "https://app.runtm.com/api/agent-directives?type_family=skill&page_size=10" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
response = requests.get(
"https://app.runtm.com/api/agent-directives",
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
params={
"type_family": "skill",
"page_size": 10,
"include_content": False,
},
)
data = response.json()
for d in data["directives"]:
print(f"{d['name']} ({d['content_hash'][:12]})")
const params = new URLSearchParams({
type_family: "skill",
page_size: "10",
});
const response = await fetch(
`https://app.runtm.com/api/agent-directives?${params}`,
{
headers: {
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await response.json();
data.directives.forEach((d) =>
console.log(`${d.name} (${d.content_hash.slice(0, 12)})`)
);
{
"directives": [
{
"id": "dir_abc123",
"type": "skill_v0",
"name": "deploy-to-fly",
"display_name": "Deploy to Fly.io",
"description": "Guides the agent through Fly.io deployments",
"organization_id": "org_abc123",
"owner_user_id": "user_xyz",
"content_kind": "inline",
"content_hash": "sha256:abcdef...",
"size_bytes": 4096,
"source": {
"kind": "github_repo",
"uri": "owner/repo",
"ref": "main",
"commit_sha": "a1b2c3d"
},
"attachments": {
"repos": ["owner/repo"],
"applies_to_all": false
},
"created_at": "2026-04-15T10:00:00Z",
"updated_at": "2026-05-01T12:00:00Z"
}
],
"next_page_token": null,
"total_size": 1
}
Returns a paginated list of agent directives filtered by type family. Directives include skills, MCP servers, docs, network rules, allowlist rules, and hooks.
Required scope:
context:read
Query Parameters
string
Filter to directives attached to this repository (e.g.
owner/repo).string
default:"skill"
Filter by directive type family. Values:
skill, mcp_server, doc, network_rule, allowlist_rule, hook.integer
default:"20"
Number of results per page (1–100).
string
Opaque cursor from a previous response’s
next_page_token.boolean
default:"false"
When
true, each directive includes its full content field.Headers
string
required
Bearer token. Example:
Bearer runtm_xxxstring
Scope to an organization’s directives.
Response
array
Array of directive resources.
string | null
Cursor for the next page, or
null if no more results.integer
Total number of matching directives.
curl "https://app.runtm.com/api/agent-directives?type_family=skill&page_size=10" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
response = requests.get(
"https://app.runtm.com/api/agent-directives",
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
params={
"type_family": "skill",
"page_size": 10,
"include_content": False,
},
)
data = response.json()
for d in data["directives"]:
print(f"{d['name']} ({d['content_hash'][:12]})")
const params = new URLSearchParams({
type_family: "skill",
page_size: "10",
});
const response = await fetch(
`https://app.runtm.com/api/agent-directives?${params}`,
{
headers: {
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await response.json();
data.directives.forEach((d) =>
console.log(`${d.name} (${d.content_hash.slice(0, 12)})`)
);
{
"directives": [
{
"id": "dir_abc123",
"type": "skill_v0",
"name": "deploy-to-fly",
"display_name": "Deploy to Fly.io",
"description": "Guides the agent through Fly.io deployments",
"organization_id": "org_abc123",
"owner_user_id": "user_xyz",
"content_kind": "inline",
"content_hash": "sha256:abcdef...",
"size_bytes": 4096,
"source": {
"kind": "github_repo",
"uri": "owner/repo",
"ref": "main",
"commit_sha": "a1b2c3d"
},
"attachments": {
"repos": ["owner/repo"],
"applies_to_all": false
},
"created_at": "2026-04-15T10:00:00Z",
"updated_at": "2026-05-01T12:00:00Z"
}
],
"next_page_token": null,
"total_size": 1
}