Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add aragaobruno/toolbelt --skill openpencil-designgit clone --depth 1 https://github.com/aragaobruno/toolbeltWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aragaobruno/toolbelt/openpencil-design)<a href="https://agentmods.dev/skills/aragaobruno/toolbelt/openpencil-design"><img src="https://agentmods.dev/badge/skills/aragaobruno/toolbelt/openpencil-design/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aragaobruno/toolbelt/openpencil-design"><img src="https://agentmods.dev/badge/skills/aragaobruno/toolbelt/openpencil-design.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00047 | $0.08811 |
| Opus 5 | $0.00023 | $0.04405 |
| Sonnet 5 | $0.00009 | $0.01762 |
| Haiku 4.5 | $0.00005 | $0.00881 |
Grade A, and why
openpencil-design scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 577 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenPencil Design
Generate production-quality vector designs by writing PenNode JSON trees. Use the op CLI or MCP tools to create, read, update, and delete nodes on the OpenPencil canvas.
When to Use
- Creating or modifying UI designs in
.opfiles - Using the
opCLI to script design operations - Designing via MCP tools (
batch_design,insert_node,design_skeleton) - Need reference for PenNode schema, roles, or layout rules
Quick Reference — op CLI
# App control
op start [--desktop|--web] # Launch app
op stop # Stop running instance
op status # Check if running
# Document
op open [file.op] # Open file or connect to live canvas
op save <file.op> # Save current document
op get [--depth N] [--pretty] # Get document tree
op selection [--depth N] # Get current canvas selection
op read-nodes [id...] [--depth N] [--vars] # Read node subtree(s) with optional variable resolution
op layout [--parent P] [--depth N] # Snapshot layout tree with computed positions
op find-space [--direction D] [--width N] [--height N] # Find empty space on canvas
# Node operations
op insert '<json>' [--parent P] # Insert node (--index N, --post-process)
op update <id> '<json>' # Update node
op delete <id> # Delete node
op move <id> <parent> [index] # Move node
op copy <id> <parent> # Deep-copy node
op replace <id> '<json>' # Replace node
# Batch design
op design '<dsl>' # Batch design DSL (inline, @file, or stdin) [--canvas-width N]
# Layered workflow
op design:skeleton '<json>' # Create section structure
op design:content <id> '<json>' # Populate section content
op design:refine --root-id <id> # Validate + auto-fix (resolves icons) [--canvas-width N]
# Import
op import:svg <file.svg> [--parent P] # Import SVG as editable nodes
op import:figma <file.fig> [--out out.op] # Convert Figma .fig to .op document
# Pages
op page list # List all pages
op page add [--name N] # Add a new page
op page remove <id> # Remove a page
op page rename <id> '<name>' # Rename a page
op page reorder <id> <index> # Move page to position
op page duplicate <id> # Clone page with new IDs
# Variables & Themes
op vars / op vars:set '<json>' # Variables (--replace to replace all)
op themes / op themes:set '<json>' # Themes (--replace to replace all)
op theme:save <file.optheme> # Save current theme as preset file
op theme:load <file.optheme> # Load a theme preset file
op theme:list <directory> # List .optheme presets in directory
# Codegen pipeline
op codegen:plan '<json>' # Submit codegen plan (framework, rootIds, options)
op codegen:submit '<json>' # Submit a code chunk for a node
op codegen:assemble [--framework F] # Assemble all submitted chunks into final output
op codegen:clean # Clear codegen state
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 577 lines · 47 tokens per session scan A 98ad2b2af900
openpencil-design is a skill published in the GitHub repository aragaobruno/toolbelt (2 stars, last pushed 1mo ago), licensed MIT. It adds 47 tokens to every session and 8,811 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
form-list-layout
Configure what a form and a list look like — sysuiform, sysuisection and sysuielement for forms; sysuilist, sysuilistelement and sysuirelatedlist for lists; sysfilter for saved filters. Views, why a field must exist in the dictionary first, and what snowcreatemenu really writes.
mermaid
Create, validate, and repair Mermaid.js diagrams. Use when generating flowcharts, sequence, class, ER, state, or Gantt diagrams, or any visualization.
one-design-language
Constrains UI work to the shared design token vocabulary. Use when creating or modifying any component — new CSS values local to one screen are forbidden; every visual decision comes from the existing tokens (spacing, radii, colors, type scale) in globals.css.
design-taste-frontend
Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check.
image-to-code
Elite website image-to-code skill for Codex. For visually important web tasks, it must first generate the design image(s) itself, deeply analyze them, then implement the website to match them as closely as possible. In Codex, it must prefer large, readable, section-specific images instead of tiny compressed boards…
imagegen-frontend-mobile
Elite mobile app image-generation skill for creating premium, app-native screen concepts and flows. Designed for iOS, Android, and cross-platform mobile products. Prioritizes clean hierarchy, comfortably readable text, strong multi-screen consistency, controlled color palettes, non-generic creative direction, textured…