sketch
Open a Fabric.js-based SVG editor in the browser for collaborative visual prototyping. Codex writes and reads SVG through MCP tools while the user e…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Sketch - Collaborative SVG Canvas
Description
Opens a Fabric.js-based SVG editor in the browser for collaborative visual prototyping. Codex can write and read SVG through MCP tools while the user edits interactively. Changes sync in real-time via WebSocket.
Preflight
If the editor shows "disconnected" or WebSocket errors occur, stale server processes may be blocking. Run this before retrying:
pkill -f 'sketch-mcp-server/dist/index.js'
Then reconnect the MCP server (the next tool call will restart it). The server now auto-kills stale instances on startup, but orphaned processes from before this fix may still linger.
Tools Available (via sketch-mcp-server)
sketch_open_canvas- Open a named canvas (creates if new), launches browser editorsketch_get_svg- Read current SVG from a canvassketch_set_svg- Replace entire canvas with new SVGsketch_add_element- Add SVG elements without clearing existing contentsketch_add_textbox- Add a fixed-width text area (Textbox) with word wrappingsketch_lock_objects- Lock all current objects (non-selectable, non-movable)sketch_unlock_objects- Unlock all objectssketch_save_template- Save canvas as reusable JSON template (preserves Textbox widths + lock state)sketch_load_template- Load a saved JSON template into a canvassketch_list_templates- List all saved templatessketch_set_zoom- Set zoom level (1.0 = 100%), optionally zoom toward a specific pointsketch_pan_to- Pan the viewport so (x, y) is at the top-leftsketch_zoom_to_fit- Fit all content in view with padding (call after drawing)sketch_capture_screenshot- Capture a PNG screenshot of the canvas (returns image for visual verification)sketch_clear_canvas- Clear canvas to blank state (use before streaming)sketch_focus_canvas- Bring canvas window to foregroundsketch_list_canvases- List all active canvasessketch_close_canvas- Close a canvas and its browser tab
Usage Patterns
Quick sketch
sketch_open_canvaswith a namesketch_set_svgorsketch_add_elementto draw- User edits in browser
sketch_get_svgto see changes
Streaming (real-time build-up)
sketch_open_canvaswith a namesketch_focus_canvasto bring window to frontsketch_clear_canvasto start fresh- Call
sketch_add_elementmultiple times -- each fragment appears instantly - User watches the UI build up in real-time
Multiple canvases
Each canvas opens in its own browser tab. Use different names for different drawings.
Default Visual Style
When generating prototypes, wireframes, diagrams, or schemes, use a minimalist style unless the user specifies otherwise:
- Colors: White/light gray background, black/dark gray for strokes and text. No fills on shapes unless semantically meaningful. Avoid decorative color.
- Strokes: Thin (1-2px), consistent weight. Use slightly heavier weight (2-3px) for emphasis only.
- Typography: Clean, sans-serif. Use size hierarchy for structure (e.g., 24px headings, 16px body, 12px labels). Black or
#333text. - Shapes: Simple rectangles, lines, circles. Rounded corners (rx=4-8) for UI elements. No drop shadows or gradients.
- Layout: Generous whitespace. Align elements to a grid. Clear visual hierarchy through size and spacing, not color.
- Annotations: Use thin arrows and small labels. Keep secondary to the content.
Only introduce color when it carries meaning (e.g., red for errors, green for success, blue for interactive elements) or when the user explicitly requests a colored/branded style.
SVG tips
- Use standard SVG elements:
<rect>,<circle>,<ellipse>,<line>,<path>,<text>,<polygon>,<polyline> - Include
xmlns="http://www.w3.org/2000/svg"on the root<svg>element - Set
widthandheighton the root SVG (default: 1200x800) - Colors: use hex colors (
#ff0000) -- avoidrgba()as Fabric.js SVG parser may not handle it - Text:
<text x="100" y="100" font-size="24">Hello</text> - Images:
<image href="data:image/png;base64,..." width="200" height="200"/> - Avoid
<defs>,<linearGradient>,<filter>-- Fabric.js has limited support for these
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。