Help us improve
Share bugs, ideas, or general feedback.
From pigment
Guides designing and restructuring Pigment applications: mental model, block types (dimensions, metrics, tables, TLs), core concepts, and decision order for sound architecture.
npx claudepluginhub gopigment/ai-plugins --plugin pigmentHow this skill is triggered — by the user, by Claude, or both
Slash command
/pigment:modeling-pigment-applicationsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Core concepts and architecture for designing Pigment applications. Read first for any modeling task. Jump to the linked deep dives only when the task requires the detail.
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.
Core concepts and architecture for designing Pigment applications. Read first for any modeling task. Jump to the linked deep dives only when the task requires the detail.
Read this skill before:
Pigment is an in-memory, sparse, multidimensional engine. An Application is a graph of typed blocks plus orthogonal cycle layers. Block types:
Plus two orthogonal layers that apply across blocks:
Invariants the agent must respect:
BY.skill:planning-cycles-pigment-applications.| Concept | What it is | When to pick it |
|---|---|---|
| Dimension list | Analysis axis with unique items and properties. Usable as a structural axis. | Country, Product, Employee, Account, anything you will slice metrics by |
| Property | Column on a dimension. Type Number / Date / Text / Boolean / Dimension. | Static attribute of an item |
| Metric | Multidimensional, sparse, typed grid. Sourced by input, import, or formula. | Anything you compute, plan, or report |
| Transaction List | High-volume row store (orders, journal entries). Items not unique. Not structural. | Granular facts to aggregate into metrics |
| Table | Group of metrics sharing dimensions, with calculated rows or columns. | P&L, Balance Sheet, Cash Flow, multi-metric reporting |
| Calendar | App-level time dimensions (Month, Quarter, Year) plus Date type. | Always reuse. Never re-create time dimensions |
| Version Dimension | Custom Dimension holding Budget / Actual / Forecast plus switchover and gating Boolean metrics. | Any planning cycle, Actual vs Plan layering, cross-version variance |
| List Subset | Constrained view of a parent list. Power tool with irreversible data loss on membership change. | Prefer filters or a separate list unless the subset use case is clear |
| Concept | What it is | When to pick it |
|---|---|---|
| View | Configured visual of a Metric or Table (filters, sort, breakdown, display mode). Reusable across Boards. | Whenever you want to show data the same way in multiple places |
| View display mode | How a View renders its data: Grid (pivot table), Chart (bar / line / pie / etc.), KPI (single big number). | Grid for tabular breakdown, Chart for trend or comparison, KPI for a headline metric |
| Board | Container page that lays out one or more Widgets. The unit of user-facing reporting, dashboards, and input screens. | Any user-facing dashboard, report, or input form |
| Widget | An element placed on a Board. Most commonly renders a View; also supports text, image, button, separator. | Anything embedded on a Board |
BY.Decide in this order. Reversing causes rework.
skill:planning-cycles-pigment-applications.BY.INPUT_ then CALC_ then OUTPUT_ or RES_. Reporting metrics stay thin. No cross-cutting calc inside them.Concrete shape of a well-formed micro-app. Generalize from this pattern.
Folders:
01. Dimensions
02. Library
03. Data Loads
04. Reporting
Dimensions:
Country items: FR, US, UK property: Region [Dim]
Product items: P1, P2 property: Category [Dim]
Calendar Month, Quarter, Year (existing)
Version items: Budget FY26, Reforecast Q2 FY26, ... (Actual is optional)
properties: Start_Month, End_Month, Switchover_Month,
Active_Version [Bool], Lock_Version [Bool],
Version_Type [Dim] (MP02-safe Actual ref)
Boolean metrics: Is_Version, Is_Actual, Is_Plan (layer Actual vs Plan)
Transaction List:
LOAD_Sales props: Country [Dim], Product [Dim], Date, Amount [Number]
Metrics:
DATA_Sales_Amount [Country x Product x Month x Version]
LOAD_Sales.Amount [BY SUM: LOAD_Sales.Country, LOAD_Sales.Product,
TIMEDIM(LOAD_Sales.Date, Month)]
INPUT_Budget [Country x Product x Month x Version] user input, scoped via Version_Type = "Budget" (MP02-safe)
CALC_Variance [Country x Product x Month x Version] DATA_Sales_Amount - INPUT_Budget
OUTPUT_Net_Revenue [Country x Product x Month x Version] thin reporting metric
Table:
P&L (rows = OUTPUT_ metrics, dims = Country x Month x Version)
BY.. or : in names. They break formula references.skill:planning-cycles-pigment-applications whenever a planning cycle is in scope.Open only when the task requires the detail.
| Need | Doc |
|---|---|
| Engine, sparsity, dimension list vs transaction list, BY pattern, IFDEFINED vs ISBLANK | ./modeling_fundamentals.md |
| Hierarchies, ragged hierarchies, mapped dimensions, dimension explosion | ./modeling_dimensions_and_hierarchies.md |
| Calendars, fiscal year, date range, time dimension mechanics | ./modeling_time_and_calendars.md |
| End-to-end architecture design (5 pillars, Hub pattern, UX, data flow, governance) | ./modeling_architecture_design.md |
| Naming conventions (prefixes, casing, character rules) | ./modeling_naming_conventions.md |
| Modeling principles, T&D safety, data loading strategy | ./modeling_principles.md |
| Folder placement decisions | ./modeling_working_with_folders.md |
| List Subsets: safe patterns and data-loss risks | ./modeling_subsets.md |
| Design-time performance (1G cells, masks, table consolidation) | ./modeling_performance_considerations.md |
| Centralized Reporting Metric (P&L, Balance Sheet aggregation) | ../solving-specific-use-cases/finance_nexus_financial_statements.md |
| FX / currency conversion (Hub pattern, AVG vs END, entity mapping) | ../solving-specific-use-cases/fx_currency_conversion.md |
| Modifier syntax (BY, ADD, REMOVE, SELECT, FILTER) | ../writing-pigment-formulas/formula_modifiers.md |