pencil-mcp-search-all-unique-properties

Search and list all unique values for specific properties (fills, fonts, spacing) across nodes in a Pencil .pen file via the search_all_unique_properties MCP tool. Use when the user explicitly mentions Pencil and needs to audit design consistency, find all colors or font sizes used, or identify inconsistent styles.

261 stars

Best use case

pencil-mcp-search-all-unique-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. Search and list all unique values for specific properties (fills, fonts, spacing) across nodes in a Pencil .pen file via the search_all_unique_properties MCP tool. Use when the user explicitly mentions Pencil and needs to audit design consistency, find all colors or font sizes used, or identify inconsistent styles.

Search and list all unique values for specific properties (fills, fonts, spacing) across nodes in a Pencil .pen file via the search_all_unique_properties MCP tool. Use when the user explicitly mentions Pencil and needs to audit design consistency, find all colors or font sizes used, or identify inconsistent styles.

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-search-all-unique-properties" skill to help with this workflow task. Context: Search and list all unique values for specific properties (fills, fonts, spacing) across nodes in a Pencil .pen file via the search_all_unique_properties MCP tool. Use when the user explicitly mentions Pencil and needs to audit design consistency, find all colors or font sizes used, or identify inconsistent styles.

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-search-all-unique-properties/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/pencil-skills/pencil-mcp-search-all-unique-properties/SKILL.md"

Manual Installation

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

How pencil-mcp-search-all-unique-properties Compares

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

Frequently Asked Questions

What does this skill do?

Search and list all unique values for specific properties (fills, fonts, spacing) across nodes in a Pencil .pen file via the search_all_unique_properties MCP tool. Use when the user explicitly mentions Pencil and needs to audit design consistency, find all colors or font sizes used, or identify inconsistent styles.

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:

*   `search_all_unique_properties`

If your client namespaces MCP tools, it may appear as `mcp__pencil__search_all_unique_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.**

**CRITICAL PREREQUISITE:**
**You must ONLY use this skill when the user EXPLICITLY mentions "Pencil".**

**ALWAYS use this skill when:**
- You are performing a **Design Audit** **in Pencil**.
- You need to find inconsistent usage (e.g., "Where did we use the wrong font?").
- You want to list all unique values for a specific property (e.g., "List all font sizes used").

**Trigger phrases include:**
- "Search Pencil properties" (搜索 Pencil 属性)
- "Find usage of color X in Pencil" (查找 Pencil 中颜色 X 的使用)
- "Audit Pencil fonts" (审计 Pencil 字体)
- "List unique values in Pencil" (列出 Pencil 唯一值)

## Input Parameters

*   **`filePath`** (string, optional).
*   **`parents`** (array, required): IDs of parent nodes to search within.
*   **`properties`** (array, required): List of property names to search (e.g., `["fills", "typography"]`).

## How to use this skill

1.  **Identify Scope**: Determine which parent nodes (e.g., Root Frame) to audit.
2.  **Call Tool**: `search_all_unique_properties(parents=[...], properties=["fills"])`.
3.  **Analyze**: The output groups nodes by property value.

## Examples

### 1. Simple: Find All Colors
Audit all fill colors used in the document to identify inconsistencies.

```json
{
  "properties": ["fills"]
}
```

### 2. Medium: Local Font Audit
Find all font families used within a specific frame (e.g., a card or section).

```json
{
  "parents": ["frame:card-123"],
  "properties": ["fontFamily"]
}
```

### 3. Complex: Comprehensive Style Audit
Search for fills, strokes, and font sizes across multiple key sections to generate a style report.

```json
{
  "parents": ["section:header", "section:footer"],
  "properties": ["fills", "strokes", "fontSize", "fontFamily"]
}
```

## Keywords

**English keywords:**
search properties, design audit, find usage, unique values, property check, style consistency

**Chinese keywords (中文关键词):**
搜索属性, 设计审计, 查找使用, 唯一值, 属性检查, 样式一致性

Related Skills

tui-search

261
from partme-ai/full-stack-skills

Generate and render a pixel-precise ASCII TUI Search component with complete output blocks (TUI_RENDER, COMPONENT_SPEC, PENCIL_SPEC, PENCIL_BATCH_DESIGN) for Pencil MCP drawing workflows. Use when the user asks to create a search in a terminal UI, text-based interface, or Pencil MCP project.

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.