Download for MacApple silicon, macOS 14+
Skill

building-pigment-frames

@gopigment Updated 2026-10-23

Use this skill whenever you're building, updating, or troubleshooting a Pigment Frame — a full-page, custom-coded visualisation (JavaScript, canvas, or inline SVG) that reads Pigment data through the PigmentSDK. Reach for it any time a native View (Grid, Chart, KPI) or Board can't produce what's being asked for - a bespoke chart, a custom canvas drawing, an interactive widget, or a standalone page in the left navigation that behaves like a small app. Also use it if a Frame you've already built shows up blank or broken and needs debugging.

Install

With your agent

Install OMGSkills skill "gopigment/ai-plugins:skills/building-pigment-frames" into this agent's normal skills directory: call the OMGSkills MCP get_install_plan tool for your agent and run the script it returns (it installs only the pinned commit and verifies SKILL.md), and stop if MCP or the pin is unavailable. Do not overwrite or change existing skills without asking me.

Manual command

git clone https://github.com/gopigment/ai-plugins /tmp/ai-plugins && ln -s /tmp/ai-plugins/skills/building-pigment-frames ~/.claude/skills/building-pigment-frames

From README

Building Pigment Frames A Frame is a standalone, full-page custom visualisation rendered from author-supplied JavaScript that reads Pigment data through the PigmentSDK. Use a Frame only when native Views, Boards, and chart types cannot express the required visual. When to Use Bespoke visual (canvas, inline SVG, custom DOM) that no native View mode (Grid / Chart / KPI) can produce. No CDN; inline all code. Full page in left navigation (like Boards). No Frame widget; a Frame is the page. Frames do not support scenarios. Do not attempt to build them, edit them, compare them, or provide workarounds regarding them, it won't work. If the user requests to work with scenarios, tell them early that it is not supported. Tools and Workflow The Frame JS lives in a file on your filesystem. tool:createframe and tool:updateframe take the path of that file, never the source itself. | Tool | Use | | --- | --- | | tool:writefile | Author the JS file.