designing-boards
Always use when creating or editing a Board. This skill includes supporting files in this directory - explore as needed.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Always use when creating or editing a Board. This skill includes supporting files in this directory - explore as needed.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
How to build Pigment Frames, custom full-page JavaScript visualisations that read Pigment data through the PigmentSDK inside a sandboxed iframe. Use when creating or editing a Frame.
Always use this skill when creating or editing Views, or needing to pick a View.
Use this skill when integrating external data into Pigment - importing an attached CSV file, deciding whether to import into dimensions vs transaction lists, mapping source columns to properties, configuring cross-application (P2P) imports, or troubleshooting data imports. For the step-by-step CSV file import, read data_import_csv.md. Do NOT use this skill for formula updates or list creation unrelated to a data import. This skill includes supporting files in this directory - explore as needed.
Always use this skill when designing, applying, or debugging Access Rights and security in Pigment applications. Provides the AR mental model (User, Role, dimension axis, AR Metric, Apply rule), the canonical decision order, mandatory formula patterns (IFDEFINED guard, BLANK over FALSE), multi-app AR, debugging "why can this user see / not see this data?", and security governance. AR is part of model architecture, not an afterthought.
Always use this skill when writing, editing, or debugging Pigment formulas — including conditional logic, blank handling, date-range logic, aggregation, prior-period lookups, and dimensional transformations. Pigment uses a proprietary formula language — NEVER assume you know the syntax, and ALWAYS read the documentation before writing any formula. Covers data types, modifiers, functions, calculation patterns, and performance trade-offs (calibrated by formula complexity). This skill includes supporting files in this directory; explore as needed.
Best practices for metric default formatting. Covers: decimals, prefix, suffix, currency ($/€), percent (%), K/M/bp/thousand/million scaling, thousand separator, sign / zero / negative handling, text mode (Text / Rich Text / URL / Image / LocaleDateTime), boolean display (checkbox / button). Load when creating or updating a metric's default format. Use cases: format as, display as, show as percent, in millions, two decimals, no decimals, prefix with $, add currency, as K / M / bp, rich text, checkbox, ratio, url, multiplier.
| name | designing-boards |
| description | Always use when creating or editing a Board. This skill includes supporting files in this directory - explore as needed. |
| metadata | {"skill_path":"/designing-boards/SKILL.md","base_directory":"/designing-boards","includes":["*.md"]} |
Progressive Disclosure Pattern: This SKILL.md provides an overview. Most details live in supporting files.
This file alone is often not sufficient
Required workflow:
tool:read_file or tool:grep to access detailed documentationtool:ls, tool:grep, or tool:glob to discover additional resources in this directory (some might not be explicitly mentioned in this file)This skill provides comprehensive guidance for designing Boards in Pigment. It covers board structure, layout rules, widget sizing standards, content conventions, and proven board design patterns for common business use cases.
Board design in Pigment is the practice of translating business questions into clear, structured, and visually coherent dashboards. A well-designed Board improves readability, adoption, decision-making speed, and executive trust.
This skill focuses on what a Board should contain and how it should be laid out, not on modeling or formula logic.
Use this skill whenever you need to:
This skill should be used after modeling is done and before or during Board creation.
When doing the following tasks, you MUST read these documents:
When creating or editing a Board:
tool:board_view_reviewer subagent.
against.When you need a View:
tool:get_block_views to see what exists. Reusing is optional: generic names (e.g. View 1) often mean you should create with tool:create_view. Do not block on a long “search for similar” pass.board_design_rules.md - Board design principles Covers:
Use text widgets for:
Do NOT use text widgets for describing navigation intentions. Use actual ActionButton widgets instead.
Use View widgets for data visualizations (Grids, Charts, KPIs).
⚠️ CRITICAL: Every View widget requires a View ID. There is NO such thing as:
Even for a simple KPI showing a single Metric value, you must:
metricsLocation MUST NOT be Rows — use Columns (default) or Pages. KPIs have no row pivots, so Rows produces a broken layout.values (and metricsLocation: Columns) over multiple KPI Widgets — even if individual single-Metric Views already exist.Use spacer widgets for:
width=12, height=1Follow this 4-step workflow when creating a Board:
Define board purpose (1-2 sentences)
Use Search tool to check what Dimensions your Metrics have
Plan Board Page Selectors (not View Filters — defaults applied in Step 4):
Before treating Board Page Selectors as shared context for every widget, verify that each View you intend to place on the Board includes a compatible page for every dimension you will set at board level (e.g. if the board should narrow by Year, each View must have Year in Pages—or a grouping page that resolves to Year—see board_pages.md). If a View is missing that dimension in Pages, edit or create the View first; the board cannot force a dimension onto a View that does not expose it in Pages.
Create a board with (in board settings):
If not specified otherwise by the user, apply the following default settings:
Add sections and widgets:
Identify Blocks for the story.
For each Block, tool:get_block_views — pick a reusable View only if name + pivots fit this board; otherwise tool:create_view (see relevant_views.md). Ensure Pages align with board_pages.md.
tool:get_available_pivots and build pivots from the returned candidatesAfter each View, align Pages with sibling widgets (board_pages.md — Cross-View Page Alignment).
Add View widgets that reference those View IDs.
tool:update_board to set Board Page SelectorsKey Points:
Based on the list of relevant Blocks to display, focus on:
Focus on:
You MUST follow these height guidelines.
Text & ActionButton widgets — height depends on the variant and its content. Variant maps to the widget's layout value — Text: Open = Regular, Filled (Box) = Box; ActionButton: Button, Card. Filled = Open + 1: every Filled (Box) Text variant is exactly 1 taller than its Open equivalent.
| Widget type | Variant | Content | Height |
|---|---|---|---|
| Text | Open | Title only (H2) | 2 |
| Text | Open | Title only (H1) | 3 |
| Text | Open | Link / Normal only | 2 |
| Text | Open | Title + body | 3-4 |
| Text | Open | Title + body + takeaway | 4 |
| Text | Filled (Box) | Title only (H2) | 3 |
| Text | Filled (Box) | Title only (H1) | 4 |
| Text | Filled (Box) | Link / Normal only | 3 |
| Text | Filled (Box) | Title + body | 4 |
| Text | Filled (Box) | Title + body + takeaway | 5 |
| ActionButton | Button | Any label | 2 |
| ActionButton | Card | Any label | 10 |
View & Spacer widgets — when a View widget (KPI/Chart/Grid) has a title, add 1 to the minimum height.
| Widget type | Height |
|---|---|
| Spacer | 1 |
| KPI without title | 4-6 |
| KPI with title | 5-7 |
| Chart without title | 11-18 |
| Chart with title | 12-18 |
| Grid without title | 11-24 |
| Grid with title | 12-24 |
Chart/Grid height depends on data complexity (rows, columns, legends, axis labels).