Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add BanibrataChatterjee/AwesomeSalesforceSkills --skill analytics-dashboard-jsongit clone --depth 1 https://github.com/BanibrataChatterjee/AwesomeSalesforceSkillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/banibratachatterjee/awesomesalesforceskills/analytics-dashboard-json)<a href="https://agentmods.dev/skills/banibratachatterjee/awesomesalesforceskills/analytics-dashboard-json"><img src="https://agentmods.dev/badge/skills/banibratachatterjee/awesomesalesforceskills/analytics-dashboard-json/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/banibratachatterjee/awesomesalesforceskills/analytics-dashboard-json"><img src="https://agentmods.dev/badge/skills/banibratachatterjee/awesomesalesforceskills/analytics-dashboard-json.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00089 | $0.02997 |
| Opus 5 | $0.00044 | $0.01499 |
| Sonnet 5 | $0.00018 | $0.00599 |
| Haiku 4.5 | $0.00009 | $0.00300 |
Grade A, and why
analytics-dashboard-json scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 205 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CRM Analytics Dashboard JSON
This skill activates when a practitioner needs to edit a CRM Analytics dashboard's JSON body directly — covering SAQL/SOQL step construction, binding syntax, layout manipulation, step parameters, and the REST API workflow for GET/PUT operations. It does not cover the standard dashboard builder UI or dataset design.
Before Starting
Gather this context before working on anything in this domain:
- Retrieve the current dashboard JSON via
GET /services/data/vXX.X/wave/dashboards/{dashboardId}and inspect thestate,steps, andwidgetstop-level keys before making any edits. - Identify dataset references: practitioners commonly assume dataset name is sufficient — it is not. You need
datasetIdanddatasetVersionIdfromGET /services/data/vXX.X/wave/datasetsto construct portable SAQL steps. - Know the row limit in play: SAQL steps default to 2,000 rows. If a downstream binding or widget depends on a full population, the default will silently truncate results without any error.
Core Concepts
Dashboard JSON Structure
Every CRM Analytics dashboard body is a JSON document with three top-level sections:
steps — A map of named query definitions. Each step runs a SAQL or SOQL query against a dataset and holds its results in memory for widget binding. Steps declare their query (SAQL string or SOQL string), type (saql or soql), datasets array, and optional limit property. The limit defaults to 2,000 rows and can be raised to a maximum of 10,000 per step.
widgets — A map of named visual components. Each widget specifies its type (chart, table, filter, text, etc.), its pixel-based layout (top, left, width, height in pixels), and its parameters object which maps widget inputs (e.g., measures, dimensions, filters) to step results via binding expressions.
state — A map of global selections, active filters, and interaction state. State carries the current user selection from one widget so that other widgets can read it via bindings. State is modified at runtime by user interaction and can be pre-seeded with default values.
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 205 lines · 89 tokens per session scan A 1ef959060cf4
analytics-dashboard-json is a skill published in the GitHub repository BanibrataChatterjee/AwesomeSalesforceSkills (3 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 89 tokens to every session and 2,997 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
analytics-dashboard-json
Use this skill when editing CRM Analytics dashboard JSON directly to implement advanced bindings, custom SAQL/SOQL step queries, layout changes, step parameters, or cross-widget interactions. Trigger keywords: dashboard JSON, SAQL step, binding syntax, mustache binding, dashboard REST API, widget layout, step limit…
analytics-dashboard-design
Use when designing or troubleshooting CRM Analytics dashboards — chart types, bindings, faceting, dashboard interactions, mobile layout, and filters. NOT for standard Salesforce reports and dashboards — use admin/reports-and-dashboards-fundamentals. NOT for hand-editing dashboard JSON or a SAQL step — use…
dashboard
A standard administration and analytics dashboard layout with a fixed sidebar, top bar, key-metric cards, charts, and a recent-activity list.
analytics-adoption-strategy
Use this skill when driving adoption of CRM Analytics (Einstein Analytics) across an org — the Analytics Adoption App for measuring who uses which dashboards, embedding analytics into Lightning pages, pinning dashboards to the Analytics home page, self-service personas, and analytics success metrics. Triggers…
analytics-permission-and-sharing
Configure CRM Analytics (formerly Einstein Analytics) app sharing, dataset-level permissions, row-level security predicates, sharing inheritance, and license assignment. Trigger keywords: CRM Analytics security, row-level security predicate, dataset permissions, analytics sharing inheritance, Analytics Plus license.…
analytics-data-manager
Use this skill when configuring Data Manager in CRM Analytics: enabling objects for sync, scheduling data sync runs, setting up remote connections to external databases, monitoring sync status and error logs, or troubleshooting connected object issues. Trigger keywords: data sync, connected objects, Data Manager, sync…