workflow
Use when the user asks to create, build, inspect, validate, or run computational workflows, DAG pipelines, relaxation→static chains, NEB/IRC workflows, or HPC job submission flows.
SKILL.mdcatbot-plugin/skills/workflow/SKILL.md
GitHubCatGO Workflow Skill
All MCP workflow operations use the single catgo_workflow tool with an action parameter.
Current Reality
Do not assume old workflow docs are still correct.
Important current behavior:
createcreates a workflow that already contains onestructure_inputnode.runstarts execution immediately. It does not open a confirmation dialog.connectdefaults both handles tostructureif omitted.node_typesis only a discovery list. It does not give full node schema.
Quick Reference
| Action | Purpose | Required Params |
|---|---|---|
list |
List all workflows | — |
templates |
List available templates | — |
node_types |
List node types by category | category? |
create |
Create workflow | name, template_id? |
get |
Read workflow graph | workflow_id |
add_node |
Add node | workflow_id, node_type, params? |
remove_node |
Remove node | workflow_id, node_id |
connect |
Connect nodes | workflow_id, from_id, to_id, from_handle?, to_handle? |
set_params |
Update params | workflow_id, node_id, params |
validate |
Validate graph | workflow_id |
run |
Start execution immediately | workflow_id, run_config? |
pause |
Pause workflow | workflow_id |
resume |
Resume workflow | workflow_id, run_config? |
status |
Get run status | workflow_id |
step_error |
Get failure detail | workflow_id, step_id |
Safe Build Sequence
1. Discover
- Call
node_typesfirst for coarse discovery. - Call
templatesif the user wants a preset.
2. Create
{"action": "create", "name": "TiO2 slab workflow"}
Immediately after create:
- Call
get - Check the graph
- Reuse the auto-created
structure_inputunless the workflow truly needs multiple independent inputs
3. Add Nodes
{"action": "add_node", "workflow_id": "...", "node_type": "geo_opt"}
{"action": "add_node", "workflow_id": "...", "node_type": "single_point"}
4. Set Parameters
{"action": "set_params", "workflow_id": "...", "node_id": "...", "params": {"software": "vasp", "ENCUT": 520}}
5. Connect Carefully
Only omit handles when both sides are obviously single-structure nodes.
Safer form:
{
"action": "connect",
"workflow_id": "...",
"from_id": "n1",
"to_id": "n2",
"from_handle": "structure",
"to_handle": "structure"
}
Do Not Do These
- Do not assume
createreturns an empty graph. - Do not blindly add another
structure_inputaftercreate. - Do not assume
connectcan guess the right handle for multi-port nodes. - Do not treat
validatewarnings as harmless. - Do not call
runbefore the user has provided a valid run configuration when HPC settings matter.
Minimal Reliable Pattern
node_typescreategetadd_nodeset_paramsconnectwith explicit handles when neededvalidategetrun