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.

261 stars

Best use case

pencil-mcp-replace-all-matching-properties is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. 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.

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.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "pencil-mcp-replace-all-matching-properties" skill to help with this workflow task. Context: 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.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/pencil-mcp-replace-all-matching-properties/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/pencil-skills/pencil-mcp-replace-all-matching-properties/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/pencil-mcp-replace-all-matching-properties/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How pencil-mcp-replace-all-matching-properties Compares

Feature / Agentpencil-mcp-replace-all-matching-propertiesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## Tools

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**:
1.  Is the user explicitly asking to use "Pencil"?
2.  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

*   **`filePath`** (string, optional).
*   **`parents`** (array, required): IDs of parent nodes to search within.
*   **`properties`** (array, required): List of replacement rules.
    *   Each rule defines the `property`, `match` (value to find), and `replace` (new value).

## How to use this skill

1.  **Define Rules**: "Find `fills: #FF0000`, Replace with `fills: #0000FF`".
2.  **Call Tool**: `replace_all_matching_properties(...)`.
3.  **Verify**: Call `get_screenshot` to verify the global change.

## Examples

### 1. Simple: Global Color Swap
Replace all instances of Red (#FF0000) with Blue (#0000FF) across the entire document.

```json
{
  "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.

```json
{
  "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.

```json
{
  "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 (中文关键词):**
替换属性, 批量更新, 全局修改, 样式重构, 批量编辑, 主题切换

Related Skills

pencil

261
from partme-ai/full-stack-skills

用于通过 Pencil MCP 读取/修改 .pen 设计文件并校验布局。用户提到 pencil/.pen/设计稿编辑、需要列出工具或执行 batch_get/batch_design 时调用。

pencil-ui-designer

261
from partme-ai/full-stack-skills

Orchestrates Pencil design system initialization by routing framework requests to the correct pencil-ui-design-system-* skill. Use when the user explicitly mentions Pencil and wants to initialize a design system (antd, Bootstrap, Element Plus, Layui, uView, Vant, uCharts, ECharts), set up component libraries, or create design tokens in a .pen file.

pencil-ui-design-system-vant

261
from partme-ai/full-stack-skills

Initialize Vant 4 design tokens and component overview frames in a Pencil .pen file. Use when the user mentions Pencil with Vant or Vant 4, needs to set up Vant color palette and typography variables, or wants to create component library frames for Button, Cell, Form, Dialog, and other Vant components.

pencil-ui-design-system-uviewpro

261
from partme-ai/full-stack-skills

Initialize uView Pro design tokens and component overview frames in a Pencil .pen file. Use when the user mentions Pencil with uView Pro or uviewpro, needs to set up uView Pro color palette and typography variables, or wants to create component library frames for Button, Form, Tabs, Navbar, and other uView Pro components.

pencil-ui-design-system-uview

261
from partme-ai/full-stack-skills

Initialize uView 2.x design tokens and component overview frames in a Pencil .pen file. Use when the user mentions Pencil with uView 2.x (not uView Pro), needs to set up uView color palette and typography variables, or wants to create component library frames for Button, Form, Cell, Tabs, and other uView components.

pencil-ui-design-system-ucharts

261
from partme-ai/full-stack-skills

Initialize uCharts chart theme tokens and data visualization placeholder frames in a Pencil .pen file. Use when the user mentions Pencil with uCharts or qiun-data-charts, needs to set up chart series colors and axis tokens, or wants to create placeholder frames for Line, Bar, Pie, Radar, and other uCharts chart types.

pencil-ui-design-system-layui

261
from partme-ai/full-stack-skills

Initialize Layui design tokens and component overview frames in a Pencil .pen file. Use when the user mentions Pencil with Layui or layui-vue, needs to set up Layui color palette and typography variables, or wants to create component library frames for Button, Table, Form, Menu, and other Layui components.

pencil-ui-design-system-element

261
from partme-ai/full-stack-skills

Initialize Element Plus design tokens and component overview frames in a Pencil .pen file. Use when the user mentions Pencil with Element Plus or Element UI, needs to set up Element color palette and typography variables, or wants to create component library frames for Button, Table, Form, Dialog, and other Element components.

pencil-ui-design-system-echarts

261
from partme-ai/full-stack-skills

Initialize ECharts chart theme tokens and data visualization placeholder frames in a Pencil .pen file. Use when the user mentions Pencil with ECharts, needs to set up chart color palette and axis tokens, or wants to create placeholder frames for Line, Bar, Pie, Radar, and other ECharts chart types.

pencil-ui-design-system-bootstrap

261
from partme-ai/full-stack-skills

Initialize Bootstrap design tokens and component overview frames in a Pencil .pen file. Use when the user mentions Pencil with Bootstrap, needs to set up Bootstrap color palette and typography variables, or wants to create component library frames for Grid, Card, Modal, Navbar, and other Bootstrap components.

pencil-ui-design-system-antd

261
from partme-ai/full-stack-skills

Initialize Ant Design (antd) design tokens and component overview frames in a Pencil .pen file. Use when the user mentions Pencil with Ant Design or antd, needs to set up antd color palette and typography variables, or wants to create component library frames for Button, Form, Table, Modal, and other antd components.

pencil-ui-design-spec-generator

261
from partme-ai/full-stack-skills

Translates high-level user requirements into a PENCIL_PLAN: a strict sequence of Pencil MCP tool calls (open_document, set_variables, batch_design, get_screenshot). Use when the user explicitly mentions Pencil and wants to plan a design task, generate a step-by-step design spec, or create a login form, dashboard, or design system initialization plan.