issue-212: Add the image-to-design workflow to skills/penpot/SKILL.md #245
No reviewers
Labels
No labels
bug
chore
documentation
enhancement
feature
ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
david/pi-extensions-and-skills!245
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/issue-212/add-the-image-to-design-workflow-to-skills-penpot"
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?
212: Add the image-to-design workflow to skills/penpot/SKILL.md
Closes #212 — 212.
Generated in 7m 43s.
Review findings
I'll start by examining the relevant files and project configuration.Let me verify the findings against the extension source.All findings verified. Now let me apply the fixes.Now the CHANGELOG entry. Let me insert a bullet at the top of the
### Addedsection.Now let me validate the frontmatter and run the project test gate.All 8 findings addressed, tests match the pre-existing baseline (1 unrelated failure). Let me confirm the working-tree diff scope.# Review Findings — 212Summary
Fixed all eight findings (4 Medium, 4 Low) as documentation-accuracy corrections against the extension source: the SVG self-critique step now detects
rsvg-convert/resvgand states the renderer is optional in Prerequisites; the reference-layer section records that locking is a manual Penpot-UI step and that a staged raster must be dropped withpenpot_discard; the colour-by-role section explains staged assets are invisible to name resolution until committed and names the realflip7-*assets; the loop, spacing and description clauses were corrected to match observable behaviour; and a CHANGELOG### Addedbullet was added. Changes touchskills/penpot/SKILL.mdandCHANGELOG.mdonly. Gates:npm test→ 823 tests, 821 pass / 1 fail / 1 skipped, the same pre-existing, unrelatedlocal-install.test.mjs:1860mongodb-manifest failure recorded in the review (no build/lint scripts exist). No regressions introduced.Critical
High
Medium
skills/penpot/SKILL.md:195— the self-critique step hard-codesrsvg-convert, but that binary is not onPATHin this environment (command -v rsvg-convert→ not found; the only copies live inside flatpak runtime sandboxes), whileresvg0.47 (/usr/bin/resvg),inkscapeand ImageMagick are. An agent following the skill verbatim gets "command not found" with no fallback, andPrerequisites(SKILL.md:29-33) lists onlyPENPOT_URL/PENPOT_TOKEN. Suggested fix: make the step conditional — e.g. "ifrsvg-convertis installed (or use the equivalentresvg input.svg -o /tmp/preview.png)", and add a one-line note to Prerequisites thatrsvg-convert/resvgis optional and only needed for this step.skills/penpot/SKILL.md:180— the reference-layer advice is not achievable with the extension's tools: nopenpot_*tool exposes Penpot's lock/blockedfield (nolocked/blockedanywhere inextensions/penpot/src/shapes.tsorsrc/tools/image.ts— the only "lock" is theproportionLockaspect-ratio flag atsrc/tools/image.ts:219), and dropping the raster withpenpot_add_imagestages anadd-objthat the nextpenpot_commitwrites. So "lock it in Penpot" (a manual UI action the API cannot do) plus "keep it out of the committed screen" contradicts the only tool available for adding it. Suggested fix: state that locking is a manual Penpot-UI step (the extension cannot set it), and that if the raster is staged withpenpot_add_imageit must be dropped withpenpot_discardbefore the final commit — or simply say the layer is not usable with the current tools.skills/penpot/SKILL.md:151— "stage a new colour withpenpot_create_colorand state the addition" does not work in the same pass: asset-name → id resolution reads the committed library from the liveget-filebody (extensions/penpot/src/libraryRefs.ts:52, fed byensureChangesetFromFileinextensions/penpot/src/staging.ts:100-120), and stagedadd-colorchanges are never merged into that body, so a laterfill: "new-colour"fails as an unknown name. Suggested fix: add "…and commit it (the changeset is not visible to name resolution) before referencing it by name; until then use the literal hex".Low
skills/penpot/SKILL.md:111— the loop "penpot_commit→ look at the result → refine" implies visual feedback on the committed screen, but Penpot output cannot be rendered back (there is no frame/preview-to-PNG tool;penpot_export_libraryproduces a.penpotZIP, not an image, andpenpot_get_filereturns structure only). Suggested fix: reword to "penpot_commit→ re-read withpenpot_get_fileand compare the committed structure against your description → refine", matching the clarification already at line 171.skills/penpot/SKILL.md:158— "express it withpenpot_add_framelayout … rather than dumping absolute coordinates. Fall back tox/yonly where no layout frame can express the intent" reads as ifx/ycan be omitted, but both are required arguments onpenpot_add_frame(extensions/penpot/src/tools/frame.ts:113-114). Suggested fix: add "every frame still needs its ownx/yfor its position — the layout props govern the spacing inside it".skills/penpot/SKILL.md:149— the role list "(surface, primary, muted, accent, border)" reads like library asset names, but the committed library exportsflip7-*names only (extensions/penpot/src/librarySpec.ts:242-259:flip7-surface,flip7-card,flip7-ink,flip7-gold, …). An agent may pass a literal role word and hit an unknown-name error. Suggested fix: say the role is a concept resolved to the library's assets, and name the real ones (e.g. "surface →flip7-surface, ink →flip7-ink").skills/penpot/SKILL.md:3— the rewritten description drops the previous read/inspect trigger ("checking what a file or library contains"), even though When to use still lists "Inspect a file or its linked libraries before composing" (line 24). This can stop the skill from triggering on "what's in this Penpot file?" requests. Suggested fix: re-add a clause such as "or inspecting a file's and its linked libraries' assets before composing".CHANGELOG.md:9— every penpot feature lands an## [Unreleased] / ### Addedbullet (issue #211 immediately above, #210, #209, #208 …), but this branch adds none for the image → design workflow. Suggested fix: add an### Addedbullet summarising the new image → design path and thersvg-convertself-critique step (mirroring how theforgejo-plumber/victorialogs-debuggingskill additions were logged atCHANGELOG.md:43-44).Documentation
Updated files: