haops_transition_skill
Execute lifecycle actions (propose, publish, deprecate) on skills. Admin-only, enforces state machine with 409 on disallowed transitions.
Instructions
Transition a skill through its lifecycle (propose / publish / deprecate). Hits POST /api/skills/[name]/[action]. The server enforces the allowed-from-here state machine — on a disallowed transition you get a 409 with from, to, and the allowed set listed in the response. Admin-only, requires ENABLE_COMPOSED_PROTOCOLS=true on the server. For project-scope skills pass scope="project" + projectSlug.
WARNING: The parameter is named action (values: propose/publish/deprecate) — NOT status or targetStatus. The underlying model field is called status, but the transition route uses action as the URL segment and the tool param name.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"scope": "<scope>",
"action": "<action>"
},
"name": "haops_transition_skill"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Kebab-case skill name to transition. | |
| scope | Yes | Scope of the target skill. "system" omits projectSlug; "project" requires it. | |
| action | Yes | Lifecycle action to perform. Must be one of: "propose" (draft → proposed), "publish" (proposed → published), "deprecate" (published → deprecated). NOTE: this param is named `action`, NOT `status` or `targetStatus`. | |
| verbose | No | If true, return the full API response instead of the compact summary (default: false) | |
| projectSlug | No | Project slug — REQUIRED when scope="project"; MUST be omitted when scope="system". |