Docs

Agent Skill setup guide

CLI and MCP recipes for discovering, reading, dependency-checking, assigning, and locally syncing Skills.

staffingoperating rhythm

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." --json

Tenant-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." --json

skill.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 above min_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, or removed: 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 --json

Set 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.