ワンクリックで
super-pencil-path-debugging
Use when Pencil MCP path renders in wrong position or strokes appear detached
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when Pencil MCP path renders in wrong position or strokes appear detached
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when using Pencil MCP - loads core workflow and dispatches to specialized skills as needed
Use when you need to avoid common Pencil MCP mistakes or review design decisions
Use when using Pencil MCP to edit .pen files, prevent errors and rendering issues
Use when Pencil MCP returns errors, vague failures, or edits do not apply
| name | super-pencil-path-debugging |
| description | Use when Pencil MCP path renders in wrong position or strokes appear detached |
Diagnose and fix path rendering issues where strokes appear in wrong positions despite correct-looking JSON.
| Symptom | Cause | Fix |
|---|---|---|
| Stroke off-position | Geometry uses global coords | Rewrite with local M0 0 |
| Detached anchors | Nested frame offsets | Move to direct child |
| Split across canvas | Double offset | Use single top-card |
| Floating elements | Bounds mismatch | Match geometry to width/height |
Path geometry coordinates are interpreted relative to board/root-space, not local SVG group space. This causes double offsets when:
x/y says one thingwidth/height says anothergeometry describes different bounding area{
"filePath": "<path>",
"nodeId": "problematicFrameId"
}
{
"filePath": "<path>",
"nodeIds": ["pathNodeId"],
"includePathGeometry": true,
"resolveVariables": true
}
Verify:
x/y match expected position?width/height match geometry span?I("nestedFrame",{
type:"path",
x:45, y:35,
width:175, height:30,
geometry:"M100 115q88 60 175 0"
})
Why unstable:
x/y is localgeometry looks like global coordinatesI("topCard",{
type:"path",
x:96, y:110,
width:188, height:58,
geometry:"M0 8Q94 64 188 8",
stroke:{thickness:5,cap:"round",fill:"#000000"}
})
Why stable:
If patching doesn't work, rebuild structure:
clip:truegeometry span should match width/heightM0 0 or local origin// Container
U("pageFrame",{placeholder:true})
U("topCard",{
x:0, y:0,
width:390, height:500,
clip:true
})
// Background
U("faceBg",{
x:55, y:130,
width:280, height:280
})
// Direct-child strokes
I("topCard",{
type:"path",
name:"face-head-arc",
x:96, y:110,
width:188, height:58,
geometry:"M0 8Q94 64 188 8",
stroke:{thickness:5,cap:"round",fill:"#000000"}
})
After fixing:
super-pencil-core for standard editingsuper-pencil-antipatterns to avoid common mistakessuper-pencil-troubleshooting for MCP errors