Agent skill

Platform Report Generate

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses when users create, generate, or validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular, summary, matrix, or joined reports with columns, groupings…

Apache-2.0Auto-check passedSales & Support

Install Platform Report Generate

skills CLI
$ npx skills add forcedotcom/sf-skills --skill platform-report-generate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/sf-skills platform-report-generate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/platform-report-generate .claude/skills/platform-report-generate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
platform-report-generate
GitHub stars
1.1k
Token cost
~2k tokens
SKILL.md length
675 words
Files
11 (incl. references)
Skills in repo
251
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when users create, generate, or validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular, summary, matrix, or joined reports with columns, groupings…

  • Works in 5 steps: Grouping fields in columns — Fields in… → Wrong column names — Column names are… → Wrong scope — LeadList uses org, not… → …
  • Validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular
  • SKILL.md covers Overview, Critical Rules (Read First), Top-Level Elements and Filter Syntax, plus 2 more sections
  • Reaches soap.sforce.com

What it does

Platform Report Generate is an agent skill from forcedotcom/sf-skills. Use when users create, generate, or validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular, summary, matrix, or joined reports with columns, groupings, filters, charts, cross-filters, buckets, formulas, or time-frame filters. Triggers on "create a report", "build a report", "add a chart", or .report-meta.xml deploy errors. Do NOT trigger for Custom Report Type metadata (use platform-custom-report-type-generate), dashboards, list views, running reports in the UI, or SOQL.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `references/chart-types.md`, `references/column-names.md` and `references/date-intervals.md`).

It sits in Sales & Support, covering CRM management. It works with Salesforce. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.

When your agent uses it

  • Validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular
  • Joined reports with columns
  • Time-frame filters
  • Create a report

Example prompts

  • “create a report”
  • “build a report”
  • “add a chart”
  • “/platform-report-generate”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Grouping fields in columns — Fields in or must NEVER also appear in
  2. Wrong column names — Column names are report-type-specific. ALWAYS call MCP tools to verify (see references/column-names.md)
  3. Wrong scope — LeadList uses org, not organization
  4. Filter column dot notation — Filter values use FLAT names (INDUSTRY, TYPE) NOT dot notation (ACCOUNT.INDUSTRY` is INVALID)
  5. Multi-value picklist filters — Use ONE with comma-separated (e.g., Technology,Financial Services). Do NOT split into multiple…

What it can do on your machine

Read from SKILL.md and the folder at commit e5164d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are xml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • soap.sforce.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Platform Report Generate loads about 2k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 675 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 675 words, ~1,991 tokens.

Download SKILL.mdSave it as .claude/skills/platform-report-generate/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
platform-report-generate
description
Use when users create, generate, or validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular, summary, matrix, or joined reports with columns, groupings, filters, charts, cross-filters, buckets, formulas, or time-frame filters. Triggers on "create a report", "build a report", "add a chart", or .report-meta.xml deploy errors. Do NOT trigger for Custom Report Type metadata (use platform-custom-report-type-generate), dashboards, list views, running reports in the UI, or SOQL.
metadata.version
1.0
metadata.domains
Platform
metadata.minApiVersion
60.0
metadata.relatedSkills
platform-custom-report-type-generate

Overview

Lightning Reports define how Salesforce data is queried, grouped, filtered, and displayed. Each report is a single .report-meta.xml file placed under reports/<FolderName>/ within the project's source directory (check sfdx-project.json → packageDirectories[].path for the source root).

Critical Rules (Read First)

TOP DEPLOYMENT KILLERS — check these BEFORE generating any report:

  1. Grouping fields in columns — Fields in <groupingsDown> or <groupingsAcross> must NEVER also appear in <columns>
  2. Wrong column names — Column names are report-type-specific. ALWAYS call MCP tools to verify (see references/column-names.md)
  3. Wrong scope — LeadList uses org, not organization
  4. Filter column dot notation — Filter <column> values use FLAT names (INDUSTRY, TYPE) NOT dot notation (ACCOUNT.INDUSTRY is INVALID)
  5. Multi-value picklist filters — Use ONE <criteriaItems> with comma-separated <value> (e.g., Technology,Financial Services). Do NOT split into multiple criteriaItems with booleanFilter
Rule 1: Format Determines Required Elements
Format<groupingsDown><groupingsAcross><block>
TabularNot allowedNot allowedNo
SummaryAt least 1 (max 3)Not allowedNo
MatrixAt least 1 (max 3)At least 1 (max 3)No
JoinedNot at top levelNot at top levelAt least 2 (max 5)
Rule 2: Use Platform Column Names

Report metadata uses platform report column names, NOT raw API field names. ALWAYS call get_metadata_type_sections or get_metadata_type_context to confirm valid column names. See references/column-names.md for common mappings per report type.

Rule 3: Valid Report Type Required

<reportType> must be a standard API name (e.g., Opportunity, AccountList, CaseList, LeadList, AccountContactRole) or a deployed custom report type developer name.

Rule 4–5: Chart & Aggregates Require Summary/Matrix

Charts and <aggregateTypes> (Sum, Average, etc.) only work in Summary and Matrix reports.

Rule 6–8: Limits
  • Max 3 cross-filters per report, each with up to 5 criteria items
  • <filterLogic> must reference all filters sequentially (e.g., 1 AND (2 OR 3))
  • Joined reports: 2–5 blocks, each block format must be Summary or Matrix (not Tabular)
Rule 9: Folder Structure

Reports must live inside a folder with a corresponding folder metadata file:

xml
<sourceDir>/reports/<FolderName>/<ReportName>.report-meta.xml
<sourceDir>/reports/<FolderName>-meta.xml

Determine <sourceDir> from sfdx-project.json (commonly force-app/main/default, but this is configurable).

Rule 10–11: Date Columns & Scope
  • Date columns use platform names (CLOSE_DATE, not CloseDate)
  • LeadList scope is org; Opportunity/AccountList/CaseList use organization
Rule 12–13: Description & Groupings
  • <description> max 255 characters
  • Grouping fields must NOT appear in <columns> — automatic deployment failure
Rule 14: Folder Metadata Requires <sharedTo>
xml
<?xml version="1.0" encoding="UTF-8"?>
<ReportFolder xmlns="http://soap.sforce.com/2006/04/metadata">
    <folderShares>
        <accessLevel>Manage</accessLevel>
        <sharedTo>AllInternalUsers</sharedTo>
        <sharedToType>Group</sharedToType>
    </folderShares>
    <name>My Report Folder</name>
</ReportFolder>
Rule 15: Valid Date Intervals Only

Use INTERVAL_CURRENT for "this quarter", INTERVAL_CURY for "this year", INTERVAL_LAST30 for last 30 days. Do NOT use INTERVAL_CURQ — it is not valid. See references/date-intervals.md for the full list.

Show full SKILL.md (269 more words)Show less

Top-Level Elements

ElementRequiredNotes
<name>YesReport name (max 40 chars)
<reportType>YesReport type API name
<format>YesTabular, Summary, Matrix, or Joined
<scope>Recommendedorganization (or org for LeadList)
<columns>YesField columns — each has <field> and optional <aggregateTypes>
<filter>NoContains <criteriaItems> with <column>, <operator>, <value>
<groupingsDown>ConditionalRow groupings: <field>, <dateGranularity>, <sortOrder>
<groupingsAcross>ConditionalColumn groupings (Matrix only)
<timeFrameFilter>Recommended<dateColumn>, <interval>, optional <startDate>/<endDate>
<chart>NoSee references/chart-types.md
<buckets>NoBucket field definitions
<crossFilters>NoCross-object filters (with/without)
<showDetails>Recommendedtrue/false
<showGrandTotal>Recommendedtrue/false
<showSubTotals>Recommendedtrue/false
<description>RecommendedBusiness purpose (max 255 chars)
<block>ConditionalJoined format blocks

Filter Syntax

xml
<filter>
    <criteriaItems>
        <column>STAGE_NAME</column>
        <operator>equals</operator>
        <value>Closed Won</value>
    </criteriaItems>
</filter>

Multi-value picklist: Use ONE criteriaItem with comma-separated values:

xml
<criteriaItems>
    <column>INDUSTRY</column>
    <operator>equals</operator>
    <value>Technology,Financial Services</value>
</criteriaItems>

Common operators: equals, notEqual, lessThan, greaterThan, contains, startsWith, includes, excludes, isBlank, notBlank. Full list in references/filter-operations.md.

Generation Workflow

  1. Gather Requirements — object, fields, groupings, filters, chart needs
  2. Determine Format — no groupings → Tabular; row groupings → Summary; row + column → Matrix; multiple objects → Joined
  3. Identify Column Names — call get_metadata_type_sections MCP tool to get valid platform column names for the report type
  4. Author Metadata — start from closest example in examples/ and adapt
  5. Create Folder — generate folder directory + <FolderName>-meta.xml with <folderShares>
  6. Validate — run through references/verification-checklist.md

Reference File Index

FileWhen to read
references/column-names.mdStep 3 — column name mappings per report type
references/date-intervals.mdWhen setting timeFrameFilter intervals
references/chart-types.mdWhen adding a chart — all 17 types + legendPosition rules
references/filter-operations.mdWhen building filters — complete operator reference
references/verification-checklist.mdStep 6 — pre-deploy validation
references/errors-and-troubleshooting.mdWhen fields are missing or deployment fails
examples/TabularOpportunitiesReport.report-meta.xmlTabular report template
examples/OpportunitiesByStageReport.report-meta.xmlSummary report with chart
examples/OpportunitiesByStageAndQuarter.report-meta.xmlMatrix report template
examples/AccountsCreatedThisYear.report-meta.xmlFiltered report with time frame

© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in skills/platform-report-generate of forcedotcom/sf-skills.

  • SKILL.md
  • examples/AccountsCreatedThisYear.report-meta.xml
  • examples/OpportunitiesByStageAndQuarter.report-meta.xml
  • examples/OpportunitiesByStageReport.report-meta.xml
  • examples/TabularOpportunitiesReport.report-meta.xml
  • references/chart-types.md
  • references/column-names.md
  • references/date-intervals.md
  • references/errors-and-troubleshooting.md
  • references/filter-operations.md
  • references/verification-checklist.md

Open the folder on GitHubat commit e5164d9

Compare with similar skills

Platform Report Generate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Platform Report Generate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Platform Report Generate this skillforcedotcom/sf-skills1.1k—~2kAutomated safety check: PassApache-2.0
Soql Lib Query Builderbeyond-the-cloud-dev/soql-lib154—~4.3kAutomated safety check: PassMIT
Sf DatacloudJaganpro/sf-skills424—~2.7kAutomated safety check: PassMIT
Soql Lib Selectorbeyond-the-cloud-dev/soql-lib154—~2kAutomated safety check: PassMIT
Dev SetupPortwood-Global-Solutions/Portwood125—~1.1kAutomated safety check: PassApache-2.0
Sf FlowJaganpro/sf-skills424—~1.8kAutomated safety check: PassMIT

Similar skills

  • Soql Lib Query Builder

    beyond-the-cloud-dev/soql-lib

    Builds Salesforce SOQL queries using the SOQL Lib fluent builder API (SOQL.cls).

    154 GitHub stars~4.3k tokensUpdated 4 days ago
    Sales & SupportAuto-check passed
  • Sf Datacloud

    Jaganpro/sf-skills

    Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows.

    424 GitHub stars~2.7k tokensUpdated 5 mo ago
    Sales & SupportAuto-check passed
  • Soql Lib Selector

    beyond-the-cloud-dev/soql-lib

    Creates Salesforce Apex selector classes using the SOQL Lib selector pattern.

    154 GitHub stars~2k tokensUpdated 4 days ago
    Sales & SupportAuto-check passed
  • Dev Setup

    Portwood-Global-Solutions/Portwood

    Get from a fresh clone of Portwood to a working, fully-tested Salesforce org.

    125 GitHub stars~1.1k tokensUpdated today
    Sales & SupportAuto-check passed
  • Sf Flow

    Jaganpro/sf-skills

    Creates and validates Salesforce Flows with 110-point scoring.

    424 GitHub stars~1.8k tokensUpdated 5 mo ago
    Sales & SupportAuto-check passed
  • Google Maps Export

    gmapsscraper/google-maps-agent-skills

    Export Google Maps business data to CSV, JSON, or CRM format (HubSpot, Pipedrive, Salesforce).

    132 GitHub stars~1.2k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed

More from forcedotcom/sf-skills

All 251 skills in this repo
  • Agentforce Architecture Analyze

    forcedotcom/sf-skills

    Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.

    1.1k GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Agentforce D360 Analyze

    forcedotcom/sf-skills

    Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.

    1.1k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.3k tokensUpdated today
    Auto-check: notes
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.4k tokensUpdated today
    Auto-check: notes
  • Design Systems Slds Apply

    forcedotcom/sf-skills

    Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.

    1.1k GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Experience Lwc Generate

    forcedotcom/sf-skills

    Lightning Web Components with PICKLES methodology and 165-point scoring.

    1.1k GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Platform Report Generate

What does Platform Report Generate do?

A skill your agent uses when users create, generate, or validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular, summary, matrix, or joined reports with columns, groupings…. Platform Report Generate is an agent skill from forcedotcom/sf-skills.xml) — tabular, summary, matrix, or joined reports with columns, groupings, filters, charts, cross-filters, buckets, formulas, or time-frame filters.

When should I use Platform Report Generate?

Platform Report Generate fits situations like: validate Salesforce Lightning Report metadata (.report-meta.xml) — tabular; joined reports with columns; time-frame filters; create a report.

How do I install Platform Report Generate in Claude Code?

Run `npx skills add forcedotcom/sf-skills --skill platform-report-generate -a claude-code`. Or copy the skill folder (skills/platform-report-generate in forcedotcom/sf-skills) into .claude/skills/platform-report-generate in your project. Claude Code loads it when a task matches its description.

How do I install Platform Report Generate in Codex?

Run `npx skills add forcedotcom/sf-skills --skill platform-report-generate -a codex`. Or copy the skill folder (skills/platform-report-generate in forcedotcom/sf-skills) into .agents/skills/platform-report-generate in your project. Codex loads it when a task matches its description.

Can I use Platform Report Generate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill platform-report-generate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/platform-report-generate, .gemini/skills/platform-report-generate, .github/skills/platform-report-generate and .opencode/skills/platform-report-generate in your project.

What does Platform Report Generate need to run?

SKILL.md names no scripts, command-line tools or credentials: Platform Report Generate is instructions for the agent only.

Does Platform Report Generate access the network?

SKILL.md names 1 domain. In commands or code: soap.sforce.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Platform Report Generate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Platform Report Generate use?

Platform Report Generate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Platform Report Generate use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.3k tokens, read only when the agent opens those files.

What are the alternatives to Platform Report Generate?

Skills that share tags, products or a category with Platform Report Generate: Soql Lib Query Builder (beyond-the-cloud-dev/soql-lib, 154 stars), Sf Datacloud (Jaganpro/sf-skills, 424 stars), Soql Lib Selector (beyond-the-cloud-dev/soql-lib, 154 stars) and Dev Setup (Portwood-Global-Solutions/Portwood, 125 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Platform Report Generate?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,060 GitHub stars. The repository holds 251 skills in this directory. The repository was last updated on October 7, 2026.

Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.