Agent Skill setup guide
CLI and MCP recipes for discovering, reading, dependency-checking, assigning, and locally syncing Skills.
Use this guide before creating, enabling, assigning, or locally installing Skills from CLI or MCP.
Setup sequence
1. Read agent-reference-map. 2. List company Skills: skill.list / rost_list_skills or read rost://skills. 3. List ROST catalog Skills when needed: skill.catalog / rost_list_rost_skill_catalog. 4. Read descriptors: skill.get / rost_get_skill or rost://skills/{slug}. 5. Read full files before assignment: skill.file.get / rost_get_skill_file or rost://skills/{slug}/files/SKILL.md. 6. Check dependencies for the target Seat: skill.check_dependencies / rost_check_skill_dependencies. 7. Tenant-admin command callers propose assignment with skill.assign_to_seat / rost_assign_skill_to_seat; seat-scoped agents read assigned Skills and escalate assignment requests to a human or tenant-admin. 8. After approval, list assignments with skill.assigned.list or rost://seat/{id}/skills. 9. For local clients, run skill.sync_local / rost_sync_assigned_skills_locally.
Tenant-admin command callers may propose assignments; seat-scoped agents escalate assignment requests. Humans approve publication, approved assignment, revocation, and Charter or manifest changes.
Attach an existing company Skill to a new Seat
Tenant-admin CLI:
rost skills list --json
rost skills get --slug invoice-review --json
rost skills file --slug invoice-review --path SKILL.md
rost skills check-dependencies --seat-id <seat-id> --slug invoice-review --json
rost skills assign --seat-id <seat-id> --slug invoice-review --rationale "Use for AP exception work." --jsonTenant-admin MCP:
1. Call rost_list_skills with {}. 2. Call rost_get_skill and rost_get_skill_file. 3. Call rost_check_skill_dependencies with {"seat_id":"<seat-id>","slug":"invoice-review"}. 4. If ready, call rost_assign_skill_to_seat with status:"proposed".
Seat-scoped MCP agents cannot call generated Skill assignment tools. They should read rost://seat/{id}/skills, read relevant assigned files through rost://skills/{slug}/files/{path}, and escalate when a new assignment or permission change is needed.
If required tools are blocked, call rost_configure_agent_tools only when the human wants to amend the permission manifest. Then wait for the normal Charter/tool approval path.
Enable a ROST catalog Skill and assign it
CLI:
rost skills catalog --json
rost skills enable rost/ap-exception-brief --json
rost skills check-dependencies --seat-id <seat-id> --slug ap-exception-brief --json
rost skills assign --seat-id <seat-id> --slug ap-exception-brief --rationale "Use the first-party AP exception procedure." --jsonskill.enable_catalog creates a company-owned immutable copy and may return a human confirmation. Do not re-run blindly after approval; read the approval output or list Skills again.
Tenant-admin MCP:
1. Call rost_list_rost_skill_catalog with {}. 2. Call rost_enable_rost_catalog_skill with {"slug":"rost/ap-exception-brief"}; if it returns a confirmation, stop for the human approval output. 3. Call rost_check_skill_dependencies with the enabled Skill slug and target Seat. 4. Call rost_assign_skill_to_seat with status:"proposed"; do not self-approve assignment.
Inspect, import, dependency-check, and propose a GitHub Skill
Tenant-admin MCP:
1. Call rost_import_github_skill with {"url":"https://github.com/acme/skills/tree/main/ap","status":"pending_review"}. 2. Read the returned descriptor and validation findings. 3. Call rost_get_skill_file for SKILL.md. 4. If it should be assignable, ask a human to publish with rost_publish_skill. 5. After publication, call rost_check_skill_dependencies. 6. Propose assignment with rost_assign_skill_to_seat.
Uploaded packages use rost_import_uploaded_skill with structured text files. MCP does not accept direct binary upload in this release.
Interpret dependency and entitlement output
required_tools: must be present at or abovemin_scope_tier; missing or under-scoped required tools block approved assignment.optional_tools: useful but not required; missing optional tools warn only.application: when to use the Skill and when not to.entitlement_status: not_entitled: the tenant cannot enable that ROST catalog tier. Do not ask for private source URLs.- Duplicate slug or existing company Skill: use the existing Skill or choose a distinct slug; catalog enablement does not overwrite tenant Skills.
- Local install result
installed,unchanged, orremoved: the local client wrote, skipped by hash, or removed a revoked copy.
Good assignment: the Seat's Charter already owns AP exception review, the Skill's application matches that work, and skill.check_dependencies is ready.
Bad assignment: the Skill requires a payment-write tool the Charter does not grant, or the operator wants the Skill to authorize an approval boundary. Configure the Charter/tool path or choose a narrower Skill instead.
Local sync
Prefer sync for local agents:
rost skills sync --seat-id <seat-id> --client codex --jsonSet ROST_SKILL_INSTALL_ROOT only for a sandbox or CI override. Local copies are derived from ROST command output and include .rost-skill.json metadata. A local copy is not authority; the server still loads assigned immutable Skill versions and still guards every tool call.