Full-stack-skills pencil-mcp-replace-all-matching-properties
Batch replace matching style properties (colors, fonts, sizes) across nodes in a Pencil .pen file via the replace_all_matching_properties MCP tool. Use when the user explicitly mentions Pencil and needs to globally swap colors, update font families, migrate to a new brand style, or batch-adjust spacing across frames.
git clone https://github.com/partme-ai/full-stack-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/partme-ai/full-stack-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pencil-skills/pencil-mcp-replace-all-matching-properties" ~/.claude/skills/partme-ai-full-stack-skills-pencil-mcp-replace-all-matching-properties && rm -rf "$T"
skills/pencil-skills/pencil-mcp-replace-all-matching-properties/SKILL.mdTools
This skill is designed to call the Pencil MCP tool:
replace_all_matching_properties
If your client namespaces MCP tools, it may appear as
mcp__pencil__replace_all_matching_properties.
When to use this skill
Intent Recognition (CRITICAL)
Even if a trigger phrase matches, you must verify the user's intent:
- Is the user explicitly asking to use "Pencil"?
- Is the current conversation context clearly about "Pencil" design tasks?
If the answer is NO, do NOT use this skill. (e.g., "Replace properties" might refer to refactoring code).
CRITICAL PREREQUISITE: You must ONLY use this skill when the user EXPLICITLY mentions "Pencil".
ALWAYS use this skill when:
- You need to make Global Changes or Batch Updates in Pencil.
- The user asks to "Change all X to Y".
- You are refactoring styles (e.g., "Replace hex codes with variables").
Trigger phrases include:
- "Replace Pencil properties" (替换 Pencil 属性)
- "Change all colors in Pencil" (修改 Pencil 所有颜色)
- "Batch update Pencil fonts" (批量更新 Pencil 字体)
- "Pencil global style replace" (Pencil 全局样式替换)
Input Parameters
(string, optional).filePath
(array, required): IDs of parent nodes to search within.parents
(array, required): List of replacement rules.properties- Each rule defines the
,property
(value to find), andmatch
(new value).replace
- Each rule defines the
How to use this skill
- Define Rules: "Find
, Replace withfills: #FF0000
".fills: #0000FF - Call Tool:
.replace_all_matching_properties(...) - Verify: Call
to verify the global change.get_screenshot
Examples
1. Simple: Global Color Swap
Replace all instances of Red (#FF0000) with Blue (#0000FF) across the entire document.
{ "properties": [ { "property": "fills", "from": { "color": "#FF0000" }, "to": { "color": "#0000FF" } } ] }
2. Medium: Local Font Update
Change the font family from "Arial" to "Roboto" only within the Footer section.
{ "parents": ["frame:footer"], "properties": [ { "property": "fontFamily", "from": "Arial", "to": "Roboto" } ] }
3. Complex: Batch Style Migration
Update multiple properties (color and font) simultaneously across several frames to migrate to a new brand style.
{ "parents": ["frame:home", "frame:profile"], "properties": [ { "property": "fills", "from": { "color": "#OLD_COLOR" }, "to": { "color": "#NEW_COLOR" } }, { "property": "fontSize", "from": 12, "to": 14 } ] }
Keywords
English keywords: replace properties, batch update, global change, style refactor, bulk edit, theme switch
Chinese keywords (中文关键词): 替换属性, 批量更新, 全局修改, 样式重构, 批量编辑, 主题切换