Cc-wf-studio cc-workflow-ai-editor
AI workflow editor for CC Workflow Studio. Create and edit visual AI agent workflows through interactive conversation using MCP tools (get_workflow_schema, get_current_workflow, apply_workflow, update_nodes). Use when the user wants to create a new workflow, modify an existing workflow, or edit the workflow canvas in CC Workflow Studio via the built-in MCP server.
install
source · Clone the upstream repo
git clone https://github.com/breaking-brake/cc-wf-studio
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/breaking-brake/cc-wf-studio "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.roo/skills/cc-workflow-ai-editor" ~/.claude/skills/breaking-brake-cc-wf-studio-cc-workflow-ai-editor-7b2748 && rm -rf "$T"
manifest:
.roo/skills/cc-workflow-ai-editor/SKILL.mdsource content
- Call
viaget_workflow_schema
MCP servercc-workflow-studio - Call
viaget_current_workflow
MCP servercc-workflow-studio - Ask the user what to create or modify
- Generate workflow JSON: use built-in sub-agents (builtInType: explore/plan/general-purpose) by default. Only call
when the user explicitly asks to use an existing custom sub-agent.list_available_agents - Apply changes via
MCP server:cc-workflow-studio- New workflow or structural changes (add/remove nodes/connections): use
apply_workflow - Partial updates to existing nodes (change name, position, or data): use
(more token-efficient)update_nodes - Fix errors if any
- New workflow or structural changes (add/remove nodes/connections): use
- Ask for feedback, repeat from step 4
Group Node
Group nodes are visual containers for organizing related nodes on the canvas. They do NOT affect workflow execution.
Rules
- Group nodes have
and requiretype: "group"
(display name)data.label - Group nodes must have
to define their visual areastyle: { width, height } - Group nodes CANNOT have connections (no edges to/from group nodes)
- To place a node inside a group, set the child node's
to the group'sparentIdid - Child node
is relative to the group's top-left corner (not the canvas origin)position - The
field on group nodes is not validated (can be empty or omitted)name
Example
{ "nodes": [ { "id": "group-1", "type": "group", "name": "", "position": { "x": 100, "y": 100 }, "style": { "width": 400, "height": 300 }, "data": { "label": "Data Processing" } }, { "id": "node-1", "type": "subAgent", "name": "fetch-data", "parentId": "group-1", "position": { "x": 50, "y": 50 }, "data": { "description": "Fetch data from API", "outputPorts": 1 } } ] }