manage_skill
Manage reusable ChatCut workflow skills.
This account tool needs no project. It manages saved Workflow Skills, including catalog skills and user skills shared by ID. ChatCut's built-in capability playbooks (talking-head-guide, motion-graphic-gen, video-gen, ...) are a separate system and will never show up here; their absence from this list does not mean they don't exist.
A workflow skill is a user-visible reusable Claude-style skill package for the agent: goals, context, workflow steps, preferences, rules, quality checks, optional references, examples, and lightweight scripts. It is NOT a brittle tool-parameter template. Do not write low-level tool arguments into a user skill unless the user explicitly owns that stable product concept.
One durable path:
DB is the canonical shared store.
Sandbox files are temporary drafts or per-turn mounted packages. manage_skill does not install saved Skills into a CLI's user-level Skill directory.
To create or update a skill from the ChatCut sandbox, write a Claude-style package there and pass sourceDirectory.
From the ChatCut plugin (Codex / Claude Code — no ChatCut sandbox), pass the contents inline as packageFiles instead, and get returns the full package inline for the current turn.
Package shape:
Minimum: SKILL.md at the draft root.
Optional lightweight files: references/, examples/, scripts/*.
Do not include project media asset ids, heavyweight assets, private chat dumps, credentials, or generated media.
Total package size must stay under 1 MB.
Actions:
list: search skills with source: "mine", "preset", or "all" (default "mine"). Use query for a named Skill. Returns up to limit entries (default 25, max 100), totalMatches, and nextOffset; continue with the same source/query until nextOffset is null.
fork: copy a skill by agentSkillId into your account, including its full package and display media. Returns a new independent ID; optional name overrides its name.
get: load a skill for use. Your own and catalog skills are returned as they are; another user's shared skill is saved to your account as an independent copy, or your existing copy is reused. Returns the package, materialized to .claude/skills// or inlined on connectors. Use the returned ID for later edits.
create_from_directory: create a user skill from a sandbox package directory (sourceDirectory) or from inline contents (packageFiles).
update_from_directory: update an owned user skill; pass sourceDirectory (defaults to the location written by get) or inline packageFiles.
rename: update user-facing name and optional description/summary only.
delete: delete an owned user skill.
Typical create flow:
With a ChatCut workspace, use Write/Edit to prepare a package such as .chatcut/skill-drafts//SKILL.md. Without a ChatCut sandbox (hosted Codex / Claude plugin), prepare packageFiles as a relative-path-to-text object, e.g. { "SKILL.md": "", "references/checklist.md": "" }. Add references/, examples/, or scripts/ only when useful.
Call manage_skill with action: "create_from_directory" and either sourceDirectory or packageFiles, never both. Include name if SKILL.md does not have a clear H1.
After a successful save, recap what was saved and how to reuse it.
Typical update flow:
Call get for the existing skill. Use the returned skill ID for later edits; it may identify your independent copy of another user's shared skill.
With a workspace, edit the materialized package in place. Without a ChatCut sandbox, edit the full returned packageFiles object, retaining unchanged references, examples, and scripts: an update replaces the package.
Call update_from_directory with the returned skill ID and either sourceDirectory (inferred when editing the location written by get) or the complete packageFiles object, never both.
Using skills:
When the user provides a shared skill ID, call get directly; unlisted shared skills do not appear in list.
Catalog skills are read-only and stay current with catalog updates. When the user wants to change one, fork it and edit the copy. Otherwise use fork only when they explicitly want an additional copy.
If the user attached a workflow skill in the composer UI, the backend mounts it as a normal Claude skill package for this turn and tells the agent to load it with the Skill tool before editing.
If the user asks in natural language to use a saved or preset skill, call list with the right source and query, then get the matching skill and follow its SKILL.md for the current turn. Do not persist it to the project.
Sharing: user skills are unlisted, but anyone with their full UUID can read and copy them. Share the full UUID returned by this tool; legacy 8-character IDs only resolve within your own skills and the catalog. Only the owner may update, rename, or delete the original. Do not include private transcripts or credentials in reusable packages.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "manage_skill"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | User-facing skill name. | |
| limit | No | Maximum list entries returned (default 25, max 100). | |
| query | No | Filter list by words in the Skill name, description, summary, or ID (case-insensitive). | |
| action | No | One of list, get, fork, create_from_directory, update_from_directory, rename, delete. | |
| offset | No | Zero-based list offset. Continue with the returned nextOffset and the same source/query. | |
| source | No | Skill list source. Default mine. | |
| status | No | Skill status; default active. | |
| summary | No | Short user-facing summary of the workflow. | |
| coverUrl | No | Cover art for the marketplace card. Must be a ChatCut-hosted URL — upload or generate the image first, then pass the URL it returned. | |
| description | No | Short trigger description / when-to-use summary. | |
| previewUrls | No | Clips or stills for the detail page, in display order; the first is what the page opens on. Replaces the existing list. ChatCut-hosted URLs only. | |
| agentSkillId | No | Full workflow skill UUID for get/fork/update/rename/delete. Legacy 8-character IDs resolve only within your own skills and the catalog. | |
| packageFiles | No | Inline package contents for create/update, as { "SKILL.md": "...", "references/x.md": "..." }. Use this instead of sourceDirectory when your files are not in the ChatCut sandbox (e.g. calling from the ChatCut plugin in Codex or Claude Code). | |
| sourceDirectory | No | Sandbox directory containing a Claude-style skill package to create/update from. | |
| sourceProjectId | No | Project this skill was distilled from; defaults current. |