Documentation Index
Fetch the complete documentation index at: https://docs.anduril.atlas.arenaphysica.com/llms.txt
Use this file to discover all available pages before exploring further.
A skill is encoded domain expertise scoped to a user or group. Skills are reusable instructions Atlas draws on while reasoning, capturing how you or your team approach specific kinds of problems.
See Adding a Personal Skill & System Memory for a workflow guide.
Endpoints
| Method | Path | Description |
|---|
POST | /skills | Create a skill |
GET | /skills | List skills |
GET | /skills/{skill_id} | Get a skill |
PATCH | /skills/{skill_id} | Update a skill |
DELETE | /skills/{skill_id} | Delete a skill |
GET | /skills/{skill_id}/versions | List version history |
POST | /skills/{skill_id}/rollback | Roll back to a previous version |
Create a skill
POST /skills
Request body:
| Field | Required | Type | Description |
|---|
name | Yes | string | Kebab-case identifier, 1–64 characters (e.g. power-budget-analysis) |
description | Yes | string | What the skill does, 1–1024 characters |
power_command | Yes | string | Slash-command name Atlas recognizes. Kebab-case, no leading slash |
instructions | Yes | string | The procedure Atlas follows when this skill is active (markdown supported) |
scope | No | string | user (personal, default) or global (org-wide) |
group_id | No | UUID | Group to scope this skill to (for group-scoped skills) |
Example request:
curl -X POST "$ATLAS_URL/api/v1/skills" \
-H "Authorization: Bearer $ATLAS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "power-budget-analysis",
"description": "Standard procedure for analyzing power budget violations.",
"scope": "user",
"power_command": "power-budget-analysis",
"instructions": "When analyzing power issues:\n1. Check rail voltages against nominal spec.\n2. Identify load contributors sorted by draw.\n3. Flag any component exceeding 90% of its rated power.\n4. Check for inrush at startup."
}'
Response fields:
| Field | Type | Nullable | Description |
|---|
uuid | UUID | No | Skill identifier |
name | string | No | Kebab-case name |
description | string | No | Skill description |
scope | string | No | user or global |
status | string | No | Approval status |
power_command | string | No | Command identifier |
instructions | string | No | Skill content |
current_version | integer | No | Current version number |
pending_version | integer | Yes | Version pending approval, if any |
created_by | string | No | Creator email |
group_id | UUID | Yes | Associated group |
job_id | UUID | Yes | Associated job, if any |
created_at | string | No | ISO 8601 creation timestamp |
updated_at | string | No | ISO 8601 last-update timestamp |
Example response:
{
"uuid": "e1f2a3b4-c5d6-7890-efab-901234567890",
"name": "power-budget-analysis",
"description": "Standard procedure for analyzing power budget violations.",
"scope": "user",
"status": "active",
"power_command": "power-budget-analysis",
"instructions": "When analyzing power issues:\n1. Check rail voltages against nominal spec.\n2. Identify load contributors sorted by draw.\n3. Flag any component exceeding 90% of its rated power.\n4. Check for inrush at startup.",
"current_version": 1,
"pending_version": null,
"created_by": "engineer@example.com",
"group_id": null,
"job_id": null,
"created_at": "2026-04-13T12:00:00.000000",
"updated_at": "2026-04-13T12:00:00.000000"
}
List skills
GET /skills
Query parameters:
| Parameter | Type | Description |
|---|
scope | string | Filter by scope: user or global |
status | string | Filter by approval status |
search | string | Search by name or power command |
Example request:
curl "$ATLAS_URL/api/v1/skills" \
-H "Authorization: Bearer $ATLAS_TOKEN"
Returns {"items": [...], "count": N} where each item is a skill object with the same fields as the create response.
Get a skill
GET /skills/{skill_id}
Example request:
curl "$ATLAS_URL/api/v1/skills/$SKILL_ID" \
-H "Authorization: Bearer $ATLAS_TOKEN"
Returns a single skill object with the same fields as the create response.
Delete a skill
DELETE /skills/{skill_id}
Example request:
curl -X DELETE "$ATLAS_URL/api/v1/skills/$SKILL_ID" \
-H "Authorization: Bearer $ATLAS_TOKEN"
Returns 204 No Content.
Update a skill
PATCH /skills/{skill_id}
All fields are optional. Each update creates a new version.
| Field | Type | Description |
|---|
name | string | New kebab-case name |
description | string | Updated description |
scope | string | user or global |
power_command | string | Updated command identifier |
instructions | string | Updated skill content |
change_summary | string | Notes describing what changed in this version |
Example request:
curl -X PATCH "$ATLAS_URL/api/v1/skills/$SKILL_ID" \
-H "Authorization: Bearer $ATLAS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instructions": "When analyzing power issues:\n1. Check rail voltages against nominal spec.\n2. Review thermal derating curves.\n3. Identify top load contributors.\n4. Flag components above 90% rated power.\n5. Check startup inrush.",
"change_summary": "Added thermal derating step"
}'
Returns the updated skill object with the same fields as the create response.
Version history and rollback
GET /skills/{skill_id}/versions
Returns all versions of a skill.
curl "$ATLAS_URL/api/v1/skills/$SKILL_ID/versions" \
-H "Authorization: Bearer $ATLAS_TOKEN"
Response fields (array):
| Field | Type | Description |
|---|
uuid | UUID | Version identifier |
version_number | integer | Version number (1-indexed) |
name | string | Skill name at this version |
description | string | Description at this version |
scope | string | Scope at this version |
power_command | string | Power command at this version |
instructions | string | Skill content at this version |
status | string | Approval status |
created_by | string | Author email |
created_at | string | ISO 8601 creation timestamp |
change_summary | string | Notes describing what changed |
Example response:
[
{
"uuid": "f1a2b3c4-d5e6-7890-fabc-012345678901",
"version_number": 2,
"name": "power-budget-analysis",
"description": "Standard procedure for analyzing power budget violations.",
"scope": "user",
"power_command": "power-budget-analysis",
"instructions": "When analyzing power issues:\n1. Check rail voltages against nominal spec.\n2. Review thermal derating curves.\n3. Identify top load contributors.\n4. Flag components above 90% rated power.\n5. Check startup inrush.",
"status": "active",
"created_by": "engineer@example.com",
"created_at": "2026-04-13T12:05:00.000000",
"change_summary": "Added thermal derating step"
},
{
"uuid": "e1f2a3b4-c5d6-7890-efab-901234567890",
"version_number": 1,
"name": "power-budget-analysis",
"description": "Standard procedure for analyzing power budget violations.",
"scope": "user",
"power_command": "power-budget-analysis",
"instructions": "When analyzing power issues:\n1. Check rail voltages against nominal spec.\n2. Identify load contributors sorted by draw.\n3. Flag any component exceeding 90% of its rated power.\n4. Check for inrush at startup.",
"status": "active",
"created_by": "engineer@example.com",
"created_at": "2026-04-13T12:00:00.000000",
"change_summary": null
}
]
POST /skills/{skill_id}/rollback
Rolls back to a previous version.
Request body:
| Field | Required | Type | Description |
|---|
version_number | Yes | integer | Version to roll back to |
Example request:
curl -X POST "$ATLAS_URL/api/v1/skills/$SKILL_ID/rollback" \
-H "Authorization: Bearer $ATLAS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"version_number": 1}'
Returns the updated skill object with the same fields as the create response, reflecting the rolled-back version.