Skill
skillInvoke skills for inline execution or publish and update skill markdown with frontmatter, scope, and supporting files.
Instructions
Skill
Invoke or publish Vruum skills — the consolidated skill tool.
Actions:
invoke: fetch a skill's executable body for inline execution (id = skill UUID or name; no payload). Follow the returned instructions in your current context.
publish: publish or update a skill (no id;
payload= {body, scope?, metadata?, supporting_files?} —bodyis the full skill markdown with frontmatter).
To browse skills use search type='skills'; to read one without executing it use fetch type='skill'.
Responses:
200: Successful Response (Success Response) Content-Type: application/json
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Target entity id, or an ARRAY of ids to apply the same action+payload to each (max 100; see the tool description for which entity the id names per action). | |
| items | No | For create-like actions only: an array of per-item payloads processed in order with per-item results (max 100). Mutually exclusive with `id` and `payload`. | |
| action | Yes | The operation to perform — see the tool description for the action vocabulary and each action's id/payload semantics. | |
| payload | No | Action-specific fields, validated by the underlying route's own schema (a bad field 422s with that route's precise errors). See the tool description per action. | |
| for_company | No | Optional company ID or name (UUID, or case-insensitive EXACT name match — partial / substring matches are NOT supported; ambiguous names raise 400) to execute this tool as. Use get_operator_overview with view='companies' to list available companies. Only needed if you manage multiple companies. Access is enforced server-side: the tool resolves the value to a user_company_id and verifies the caller's membership in `company_users` — a 403 'Company not found or access denied' means EITHER the value did not match a known company OR the caller is not a member of it. The MCP operator role itself is NOT auto-granted — operators get this access by being members of each client company via `company_users` (the same row that grants any normal user access). |