mirror of
https://github.com/Comfy-Org/comfy-skills.git
synced 2026-11-04 23:37:45 +00:00
[PR #43] fix(commands): save build hand-offs with overwrite: false and open the canvas by workflow_id #41
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#41
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/43
Author: @mattmillerai
Created: 10/23/2026
Status: 🔄 Open
Base:
main← Head:mattmiller/be-22705-handoff-align📝 Commits (1)
ad7b7cdfix(commands): save build hand-offs safely and route by workflow id📊 Changes
14 files changed (+26 additions, -23 deletions)
View changed files
📝
README.md(+1 -1)📝
claude-code/commands/generate-3d.md(+2 -2)📝
claude-code/commands/generate-audio.md(+2 -2)📝
claude-code/commands/generate-image.md(+2 -2)📝
claude-code/commands/generate-video.md(+1 -1)📝
claude-code/commands/remove-background.md(+1 -1)📝
claude-code/commands/upscale-image.md(+1 -1)📝
openclaw/comfy/SKILL.md(+6 -3)📝
skills/comfy-generate-3d.md(+2 -2)📝
skills/comfy-generate-audio.md(+2 -2)📝
skills/comfy-generate-image.md(+2 -2)📝
skills/comfy-generate-video.md(+2 -2)📝
skills/comfy-remove-background.md(+1 -1)📝
skills/comfy-upscale-image.md(+1 -1)📄 Description
ELI5
When an agent builds a workflow for a user and saves it, it could quietly overwrite a workflow the user already had with the same name, or hand back a link that publishes the workflow publicly. This change has the agent save under a new name instead and open the private canvas link. It also makes the agent check "does the user want a workflow?" before it spends credits on a shortcut that only returns a picture.
What
Aligns the BUILD/CREATE hand-off in every mirror (
claude-code/commands/*, legacyskills/*,openclaw/comfy/SKILL.md) with the hosted MCP server's own hand-off guidance:save_workflowwithoverwrite: false(the server defaults totrue), picking a new name on collision;get_workflow_canvas_urlwith theworkflow_idfrom the save result, falling back tolist_saved_workflows. Never the filename, becausesaved_workflow_filenamemode publishes a public?share=snapshot. After arun_templaterun,get_templateand save that body, and tell the user whichinput_overrideswere used. The "auto-generated layout" and subgraph sentences after it are unchanged.skills/comfy-generate-video.md): the build branch now continues to Step 1, wiring the partner node (or the family'sapi_*template) into the built workflow, so the_meta.titlerule and the hand-off step apply.partner_generatereturns only the output…" sentence moves word-for-word from the end of the Step 0 paragraph to right after thesearch_nodeslookup, before "trypartner_generatefirst". The check now comes before the call that spends credits. The text is byte-identical, so any exact-match key on that sentence still matches.overwrite: falseand theworkflow_idlookup, so a new command written from the rule doesn't bring the old behaviour back.Judgment calls
claude-code/commands/generate-video.mdvideo bullet left unchanged. Item 2 assumed the command bullet matched the legacy skill's. It doesn't: the command bullet already reads "skippartner_generateand continue to Step 1, wiring the matching partner node into the workflow you build", which is the target behaviour, and it never mentionsapi_*templates. Rewording it would also change a sentence that exactly matches the one in the image/audio/3d commands. So the only video change in the commands copy is the hand-off step.qfor the provider name)." That is the end of thesearch_nodeslookup sentence in that file, since 3d words its lookup differently from image/audio.Testing
grep -rn 'overwrite: false' skills claude-code/commands openclaw→ 13 hits (6 + 6 + 1), as the ticket expects.grep -rn 'with the returned workflow id' skills claude-code/commands→ 0 hits.skills/comfy-<x>.mdandclaude-code/commands/<x>.mdpair (diffed all 6 pairs).claude plugin validate ./claude-code→ ✔ Validation passed. The repo has no other test or lint CI (the only workflow is the post-merge review-compliance check).Provenance
overwrite: falsehits, 0 stalereturned workflow idhitsclaude-code/commands/generate-video.mdbullet, which already has the target behaviour (see Judgment calls)Residual
overwritedefaulting to true,workflow_idbeing best-effort in the save result, filename mode publishing a public share snapshot) come from the upstream investigation. I did not re-verify them against a running server, since that would have meant making real saves and shares.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.