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.md
source content
  1. Call
    get_workflow_schema
    via
    cc-workflow-studio
    MCP server
  2. Call
    get_current_workflow
    via
    cc-workflow-studio
    MCP server
  3. Ask the user what to create or modify
  4. Generate workflow JSON: use built-in sub-agents (builtInType: explore/plan/general-purpose) by default. Only call
    list_available_agents
    when the user explicitly asks to use an existing custom sub-agent.
  5. Apply changes via
    cc-workflow-studio
    MCP server:
    • New workflow or structural changes (add/remove nodes/connections): use
      apply_workflow
    • Partial updates to existing nodes (change name, position, or data): use
      update_nodes
      (more token-efficient)
    • Fix errors if any
  6. 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
    type: "group"
    and require
    data.label
    (display name)
  • Group nodes must have
    style: { width, height }
    to define their visual area
  • Group nodes CANNOT have connections (no edges to/from group nodes)
  • To place a node inside a group, set the child node's
    parentId
    to the group's
    id
  • Child node
    position
    is relative to the group's top-left corner (not the canvas origin)
  • The
    name
    field on group nodes is not validated (can be empty or omitted)

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 }
    }
  ]
}