Help us improve
Share bugs, ideas, or general feedback.
From pigment
Analyzes data in Pigment workspaces: query metrics, explore dimensions, filter and break down results for read-only analysis.
npx claudepluginhub gopigment/ai-plugins --plugin pigmentHow this skill is triggered — by the user, by Claude, or both
Slash command
/pigment:analyzing-pigment-dataThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This `SKILL.md` is self-contained. Read it fully before performing any data analysis.
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.
This SKILL.md is self-contained. Read it fully before performing any data analysis.
This skill teaches you how to answer analytical questions using data that already exists in a Pigment workspace. It covers how to discover what data is available, how to formulate effective queries, how to interpret results, and how to structure multi-step analyses.
This skill is for read-only exploration and analysis. If the user wants to create, modify, or configure application objects (metrics, dimensions, formulas, boards), use the relevant modeling skills instead.
Pigment organizes data in a multidimensional model:
Country and Month stores one value per country per month.France, Germany, US are items of the Country dimension.Country dimension may have a Region property grouping countries into EMEA, AMER, APAC. Property dimensions (e.g. Country > Region) can be used as regular dimensions for breakdowns and filters.When analyzing data, you query a metric and optionally:
Country = France, Germany)Follow this sequence for every analytical question:
Use get_applications to list available applications and obtain application IDs.
Never fabricate IDs — always retrieve them from tool responses.
Use get_ai_metrics to list AI-enabled metrics in the application. Only metrics with AI Search enabled can be queried via natural language.
If a metric the user mentions is not in the list, possible reasons:
In these cases, inform the user and suggest they check their Pigment workspace settings.
Use get_metric_description to inspect a metric before querying it. This reveals:
Always call this before your first query on a metric. It prevents invalid queries and helps you formulate precise requests.
Use query_data to retrieve data using natural language. Formulate your query by specifying:
After receiving data:
If the user asks about multiple metrics (e.g. "Compare Sales and Costs"), query each metric separately and combine the results yourself. Never request derived expressions like "Sales / Costs" in a single query.
The query tool cannot filter by metric values (e.g. "top 10", "greater than 1M", "largest change"). Instead:
Item-based filtering is supported (e.g. filter to Country = France).
Queries have limits on the number of values returned. If a query exceeds the limit:
Text data does not support numeric aggregation:
Use get_metric_description to check which dimensions are required.
Find the main contributors to a metric value.
Example: "Find the top 5 countries contributing to Sales"
Sales broken down by CountryCompare two items of the same dimension within a metric.
Example: "Compare Sales in FY24 vs FY25 by Product"
Sales broken down by Product, filtered to Year = FY24Sales broken down by Product, filtered to Year = FY25Always specify: the metric, the dimension to compare on, the two items, and any breakdown dimensions.
Compare two different metrics along shared dimensions.
Example: "Compare Sales and Costs by Department"
Sales broken down by DepartmentCosts broken down by DepartmentBreakdowns must only use dimensions shared by both metrics.
Analyze how a metric evolves over time.
Example: "Show Revenue trend by Month for the last year"
Revenue broken down by Month (with appropriate time filters)Always specify: the metric, the time dimension, and the time range.
Complex questions often require a discovery phase followed by deeper analysis. Break these into explicit steps.
Example: "Analyze Sales performance — find the top regions and drill into their best products"
Sales broken down by Region → identify top 3 regionsSales broken down by Product, filtered to that region → identify top productsEach step should be self-contained: specify the metric, breakdowns, and filters explicitly. Do not rely on implicit context from previous steps when formulating queries.
User requests are often imprecise. Follow these rules in priority order:
get_ai_metrics or get_metric_description to identify likely matches| Ambiguity | Example | How to resolve |
|---|---|---|
| Metric name | "Show me revenue" (multiple revenue metrics exist) | List the candidates and ask which one |
| Time range | "Last quarter" (fiscal vs calendar? which year?) | Ask for clarification or check available time dimension items |
| Comparison target | "Compare against plan" (Budget? Forecast? Target?) | List available scenario/version items |
| Breakdown level | "By region" (geographic region? business region?) | Check available dimensions and ask if ambiguous |
| Scope | "Sales performance" (all products? all countries?) | Ask if they want the full scope or a specific subset |
Querying tools is expensive. Do not call them until you are confident the user's intent is clear.