Help us improve
Share bugs, ideas, or general feedback.
From pigment
Guides creation and editing of Pigment Views (Metric, Table, List, KPI) with rules for pivot fields, metricsLocation, pivotFieldId, listPropertyPath, and field UUIDs.
npx claudepluginhub gopigment/ai-plugins --plugin pigmentHow this skill is triggered — by the user, by Claude, or both
Slash command
/pigment:creating-and-editing-pigment-viewsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Progressive Disclosure Pattern**: This `SKILL.md` provides an overview. Most details live in supporting files.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
Share bugs, ideas, or general feedback.
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)These notes align the Pigment UI with view creation and edition tools
values (value fields)Each entry describes what appears in the cells :
Value labels in Pivot panel in the UI are different:
metricsLocation (Metric & Table views)API enum (C# MetricsLocation): Columns (1), Rows (2), Pages (3) — which axis carries the metrics in the pivot. Dimensions go under rows, columns, or pages. Metrics are chosen in values; they are not duplicated into the arrays for dimensions. Their axis is set only via metricsLocation.
KPI rule: metricsLocation for a KPI View MUST NOT be Rows. KPIs have no row pivots, so Rows yields a broken layout. Use Columns (default) or Pages.
pivotFieldIdEvery pivot field you add in pages, rows, or columns gets a stable id (GUID) in the View. pivotFieldId in other structures (filters, sorts, etc.) points to that pivot.
listPropertyPath on pivots (grouping / hierarchy)ListPropertyPath is the technical name of properties (e.g. in the UI: Month > Year, Country > Region).
display_type (KPI / Grid / Chart) is not stored on the View; configure it on the Board widget.id — Must always be a freshly generated UUID, never the metric ID. Each value entry needs its own unique identifier distinct from the metric/property it references.tool:create_view then iterate with updates using the other tools.tool:update_view (or the field-specific variants) directly on the View id. If a Draft was auto-created, the agent should:
tool:update_view_widget_overrides so only this user sees ittool:save_draft_views is available — after creating or editing one or more Draft Views:
tool:save_draft_views once with all draft view IDs.create_view with a real name and pivots aligned to this widget and other widgets on the same board unless the existing View already fits.A View is how a Block (Metric, List, Table) is shown: pivots, filters, sort, display. One Block, many Views.
A private working copy to preview edits before they hit an existing view. On boards, use a Draft + widget overrides when changing the live View behind a widget—see view_widgets.md. Not a substitute for create_view when you need a new View. Save via bulk-save protocol — list the draft names, wait for user confirmation, then call tool:save_draft_views once with all draft view IDs
tool:get_block_views helps spot candidates; there is no hard rule to “find similar views” before you create. Creating is normal when names are generic or pivots do not match the board. Details: relevant_views.md, view_design_process.md.
Grid — no widget suffix. Chart — add chart type, e.g. … - Waterfall. KPI — suffix - KPI.
Must read: view_design_process.md.