| name | pencil-skill-creator |
| description | Factory skill for creating new pencil-ui-design-system-* skills. Use when you need to add support for a new design system layui antd bootstrap element uview uviewpro vant ucharts echarts etc. to the Pencil ecosystem. |
| license | Complete terms in LICENSE.txt |
Pencil Skill Creator
This skill guides the creation of new pencil-ui-design-system- skills*. Each skill initializes a design system in Pencil (variables + component overview frames) via PENCIL_PLAN.
Core Philosophy
All design-system skills created by this creator MUST adhere to:
- Trigger: The skill triggers when the user explicitly mentions Pencil and the target design system (e.g. "init layui design system with Pencil").
- Action-level plan: Output a PENCIL_PLAN (Step 1: set_variables; Step 2: batch_design component overview). Do not execute; output the plan for the Agent to call Pencil MCP tools.
- Self-contained: The skill encapsulates design tokens (colors, typography, radius) and component categories from the official design system docs.
Workflow (Progressive Disclosure)
Keep this file concise. Use bundled references when you need full details:
- Workflow:
references/workflows.md
- Output patterns:
references/output-patterns.md
Quick start (Automated Creation)
Option A: Automated Creation (Recommended)
Use the bundled script to automatically generate the skill structure, SKILL.md (with Golden Template), and references/ placeholders.
./scripts/init_pencil_design_system_skill.py layui --path skills/
This will:
- Create
skills/pencil-ui-design-system-layui.
- Populate
SKILL.md with the required structure (When to use, Step 1 Variables, Step 2 Component overview).
- Create
references/contract.md, references/official.md, references/examples.md placeholders.
- Copy
LICENSE.txt from an existing skill.
Option B: Manual Creation
Follow: references/workflows.md -> Manual creation.
Step 1: Define the design system
Identify the framework and name the skill: pencil-ui-design-system-<name> (kebab-case).
- Example: "layui" ->
pencil-ui-design-system-layui
- Example: "uview pro" ->
pencil-ui-design-system-uviewpro
Step 2: Create directory structure
mkdir -p skills/pencil-ui-design-system-<name>/references
Step 3: Write SKILL.md (Golden Template)
You MUST use the following template structure for the new skill:
- Frontmatter:
name: pencil-ui-design-system-{{name}}, description containing "初始化 {{design_system}}: design system components".
- Constraint: Only use when user explicitly mentions Pencil or design system initialization.
- When to use: Trigger keywords (e.g. layui, antd).
- Step 1: Variables: Table of variables for
set_variables (colors, fonts, radius). Follow .pen schema.
- Step 2: Component overview: List of frames/categories to create via
batch_design (component categories and component names per category).
- Best practices: Verify tokens against official docs; use
replace: false unless full reset; use Auto Layout for frames.
- Keywords: pencil, design system, init, .
Step 4: Fill references
references/contract.md: Design tokens and component contracts (prefix, naming).
references/official.md: Link to official documentation.
references/examples.md: Example PENCIL_PLAN or usage.
Integration with Pencil path
This skill is part of the Pencil specification flow:
- PRD -> pencil-ui-design-spec-generator outputs PENCIL_PLAN.
- pencil-ui-design-system-* skills output the concrete variables + component structure for a given design system.
- Agent calls Pencil MCP tools (
open_document, set_variables, batch_design, get_screenshot) in order.
Naming validation
Script enforces: pencil-ui-design-system-[a-z0-9]+(-[a-z0-9]+)*.
能力边界
✅ 适用场景
- 当你需要使用此技能对应的技术栈时
- 当项目需要遵循最佳实践时
- 当需要快速上手或深入理解核心概念时
⚠️ 需要注意
- 复杂业务逻辑需要结合具体场景调整
- 性能优化需要根据实际数据量评估
❌ 不适用场景
常见陷阱 (Gotchas)
- 版本兼容性:注意框架版本与依赖库的兼容性,不同版本 API 可能有差异
- 配置文件格式:配置文件格式错误是最常见的问题,建议使用编辑器的语法检查
- 环境变量:确保所有必要的环境变量已正确设置,敏感信息不要硬编码
- 依赖冲突:多版本共存时注意依赖冲突,使用 lock 文件锁定版本
- 性能陷阱:大数据量场景下注意性能优化,避免 N+1 查询等常见问题