mirror of
https://github.com/Comfy-Org/comfy-skills.git
synced 2026-11-04 23:37:45 +00:00
[PR #37] [MERGED] feat(commands): title every built node and hand back a saved canvas link #37
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/comfy-skills#37
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/comfy-skills/pull/37
Author: @mattmillerai
Created: 10/5/2026
Status: ✅ Merged
Merged: 10/22/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-18917-canvas-readable-builds📝 Commits (3)
1e6a7d5feat(commands): title every built node and hand back a saved canvas link9883424fix(commands): a workflow request skips the partner_generate shortcut4de818cfix(commands): route partner-node discovery at partner/, not the empty api node/📊 Changes
14 files changed (+58 additions, -24 deletions)
View changed files
📝
README.md(+2 -0)📝
claude-code/commands/generate-3d.md(+5 -3)📝
claude-code/commands/generate-audio.md(+4 -2)📝
claude-code/commands/generate-image.md(+4 -2)📝
claude-code/commands/generate-video.md(+4 -2)📝
claude-code/commands/remove-background.md(+3 -1)📝
claude-code/commands/upscale-image.md(+3 -1)📝
openclaw/comfy/SKILL.md(+11 -3)📝
skills/comfy-generate-3d.md(+4 -2)📝
skills/comfy-generate-audio.md(+4 -2)📝
skills/comfy-generate-image.md(+4 -2)📝
skills/comfy-generate-video.md(+4 -2)📝
skills/comfy-remove-background.md(+3 -1)📝
skills/comfy-upscale-image.md(+3 -1)📄 Description
Summary
The generate-video/image/3D/audio, upscale-image and remove-background commands tell the agent to "Build a ComfyUI API-format workflow JSON" and then
submit_workflow. No step leaves anything a user can read on the canvas, so someone who opens the result sees a grid of raw class names.claude-code/commands/, plus their 6 legacyskills/copies) now also says: give every node a_meta.titlethat names its role in plain words.save_workflowwith the same JSON after the run, thenget_workflow_canvas_urlwith the returned id, and gives the user that link. It also tells them the layout is auto-generated, and explains how to open the collapsed node if a subgraph template was run.partner_generatereturns only an output and never a workflow. In generate-image/audio/3D/video, Step 0's partner shortcut, and OpenClaw's "do not hand-build" rule, now send a build/create request on to the workflow steps, with the graph built around the partner node. Before this change, such a request stopped at Step 0 and never reached the save-and-link step.api node/, which matches no node. They now usepartner/, the prefix the skills already use, and generate-3d gains the skill's "does not serve type" fall-through to the template path. Step 0 in each command now matches its skill exactly.openclaw/comfy/SKILL.mdhas no numbered build step. The same two rules are added as prose in its "fully custom graphs" paragraph.Verification
grep -rn "API-format workflow JSON" skills claude-code openclaw: 12 hits, and all 12 lines contain the_meta.titlesentence (grep -vc "_meta.title"→ 0).get_workflow_canvas_urlnow appears in 13 files: the 12 commands/skills plus the OpenClaw skill.skills/,claude-code/oropenclaw/that mentionssubmit_workflownow carries the_meta.titleinstruction (0 files left out).claude plugin validate ./claude-code: passed.git diff --check: clean. This repo has no test suite. Its only CI workflow is the unreviewed-merge detector.save_workflowandget_workflow_canvas_urlboth exist.save_workflowaccepts API-format JSON and converts it to save format with synthesized positions; this is why the step says the layout "may need tidying". The API→save converter maps_meta.titleonto the nodetitle, so the titles do reach the canvas.get_workflow_canvas_urlwith aworkflow_idonly builds an editor URL and publishes nothing; passing a filename would publish a snapshot instead.Judgment calls
skills/is still edited. The README callsskills/frozen legacy, but the ticket names those files explicitly and its acceptance grep coversskills.AGENTS.mdchange. The open PR #34 that addsAGENTS.mdhas not merged, so the bullet went intoREADME.mdonly.Residual
AGENTS.md. Once PR #34 merges, that file should get the same authoring-rule bullet as the README ("Build steps must leave the user a canvas-readable artifact: titled nodes + a saved workflow link").skills/technique-combine-people.mdandclaude-code/commands/combine-people.mddescribe building a graph ("Submit 3 workflows with different seeds") but have no "API-format workflow JSON" step. They were outside the ticket's grep scope and were not changed: 2 files, the only build-shaped files left uncovered.Provenance
_meta.titlesentence, and all 13 targeted files carry the save/canvas stepapi node/left in the repo; the 3D/audio/image commands' Step 0 is byte-identical to itsskills/copy (generate-video's two copies already differed onmainand are unchanged here)claude plugin validate ./claude-codepassed;git diff --checkcleanAGENTS.mdnot edited (PR #34 unmerged)🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.