Skip to content
Finance
Skill

/tres-report-create

Create (generate) any TRES Finance report end-to-end via the tres-mcp MCP server and GraphQL — trigger the export, verify a report row was actually created (guarding against silent failures), poll until done, and return the download link. Trigger this skill on ANY report

BOOST
From plugin
claude-plugins-community
4.7k32 skills2 MCP
Install
$ npx -y skills add anthropics/claude-plugins-community --skill tres-report-create --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/tres-report-create

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create (generate) any TRES Finance report end-to-end via the tres-mcp MCP server and GraphQL — trigger the export, verify a report row was actually created (guarding against silent failures), poll until done, and return the download link. Trigger this skill on ANY report

SKILL.md

tres-report-create.SKILL.md
name: tres-report-create
description: Create (generate) any TRES Finance report end-to-end via the tres-mcp MCP server and GraphQL — trigger the export, verify a report row was actually created (guarding against silent failures), poll until done, and return the download link. Trigger this skill on ANY report creation request, including phrases like "create a report", "generate a report", "export", "run a report", "I need a Transaction Ledger / Balances / Reconciliation / Cost Basis / Roll Forward / Staking / Audit report", "pull the data for", "download a report for", "give me a CSV/XLSX of", or whenever the user wants TRES to produce a report file. Use together with tres-report-advisor when the user is unsure which report they need.

TRES Report Create

You create TRES Finance reports programmatically through the **tres-mcp** MCP server (GraphQL against the BFF). The flow is always: pick the report → trigger the export → poll until `DONE` → return the presigned `link`. Optionally download and analyze the file afterwards.

If you are unsure *which* report the user needs, use the `tres-report-advisor` skill first, then come back here to generate it.

Workflow

- [ ] Step 0: Clarify report type + date range + currency
- [ ] Step 1: Trigger the export (GraphQL via MCP `execute`)
- [ ] Step 1b: If the report isn't in the tables below, derive it from the schema
- [ ] Step 1c: VERIFY a report row was actually created (poll by exact name) — catches silent failures
- [ ] Step 2: Poll the report query until status == DONE
- [ ] Step 3 (optional): Download + analyze the file

Step 0 — Clarify scope (mandatory before triggering)

Confirm before doing anything:

  • **Report type (required).** Match the user's wording to the tables below. If unsure, discover what's available:
  query { availableReportTypes { name exportType entitiesType llmDescription } }
  • **Date range (if applicable).** LEDGER / AUDIT_LOG reports take `timestamp_Gte` / `timestamp_Lte` in ISO 8601:
  • "Q1 2025" → Gte `2025-01-01T00:00:00Z`, Lte `2025-03-31T23:59:59Z`
  • "2025" → Gte `2025-01-01T00:00:00Z`, Lte `2025-12-31T23:59:59Z`
  • If a date range is required and not given, **ask**.
  • **Currency.** Default `"usd"` unless the user says otherwise.
  • **Analysis goal (only if they want the data analyzed, not just the file).** What should the data answer? Default to a general summary (totals, top items, trends). Drives Step 3.

Confirm briefly, e.g. *"I'll generate a Transaction Ledger for Q1 2025 as CSV. Starting now."*

Step 1 — Trigger the export

Call the GraphQL query that matches the report's `entitiesType`, passing the export parameters. Run it with the MCP `execute` tool (validate first with `validate_query` if unsure).

**`entitiesType` → query to call**

| entitiesType | Query | |---|---| | LEDGER | `transaction` | | ASSETS | `organizationBalance` | | BALANCE | `organizationBalance` | | HISTORICAL_BALANCE | `organizationBalance` | | ACCOUNTS | `internalAccount` | | GENERAL | `internalAccount` | | STAKING_DATA | `stakingYieldRecord` | | AUDIT_LOG | `auditLog` | | LOGIN_HISTORY | `loginHistoryExport` |

**Report catalog (`exportFormat` values — verified against prod)**

| Report name | exportFormat | entitiesType | |---|---|---| | Transaction Ledger | BASIC_RAW_TRANSACTIONS | LEDGER | | Realized Gains & Losses | EXTENDED_RAW_TRANSACTIONS | LEDGER | | Cost Breakdown Raw Transactions | COST_BREAKDOWN_RAW_TRANSACTIONS | LEDGER | | Rollup Breakdown † | ROLLUP_BREAKDOWN | LEDGER | | Ledger Reconciliation | RECONCILIATION | LEDGER | | Cost Basis Roll Forward | COST_BASIS_ROLL_FORWARD | LEDGER | | Asset Roll Forward | ASSET_ROLL_FORWARD | LEDGER | | ERP Pre-Sync | PRE_SYNC_JOURNAL | LEDGER | | ERP Post-Sync | POST_SYNC_JOURNAL | LEDGER | | MT940 Statement | MT940 | LEDGER | | Asset Balances | RAW_BALANCES | ASSETS | | Asset Balances V2 | RAW_BALANCES_V2 | ASSETS | | Asset Balances - Archives † | ARCHIVED_BALANCES | ASSETS | | Balance Trends | BALANCE_TRENDS | ASSETS | | Wallet Balances | INTERNAL_ACCOUNTS_BALANCES | ASSETS | | Cost Basis Stack Per Asset | COST_BASIS_STACK_PER_ASSET | ASSETS | | Asset Fiat Values | DAILY_ASSET_PRICING | ASSETS | | Revaluation Report | REEVALUATION | ASSETS | | Historical Balance Format | HISTORICAL_BALANCE | HISTORICAL_BALANCE | | Cost Basis Inventory † | COST_BASIS_INVENTORY | BALANCE | | Organization Wallets | INTERNAL_ACCOUNTS | ACCOUNTS | | Contacts | CONTACTS | ACCOUNTS | | Third Party Addresses | THIRD_PARTY_ADDRESSES | ACCOUNTS | | Chart of Account | CHART_OF_ACCOUNT | GENERAL | | ERP Rules | ERP_RULES | GENERAL | | Connected Custodians | CONNECTED_CUSTODIANS | GENERAL | | Staking Rewards & Positions | STAKING_DATA | STAKING_DATA | | Audit Trail / Log | AUDIT_LOG | AUDIT_LOG | | Login History | LOGIN_HISTORY | LOGIN_HISTORY |

† = special handling (see "Reports needing extra parameters" below). The org catalog evolves — `availableReportTypes` is authoritative. **If a requested report isn't in this table, go to Step 1b and derive it from the schema** rather than guessing.

**Export parameters (always include):**

  • `exportFormat` — value from the table above (UPPER_CASE)
  • `exportName` — a descriptive, unique name (e.g. `"Transaction Ledger Q1 2025"`) — you'll match on this in Step 2
  • `currency` — `"usd"` unless told otherwise
  • `outputFormat` — `"CSV"` for downstream analysis, or `"XLSX"` if the user wants a spreadsheet

Add `timestamp_Gte` / `timestamp_Lte` for date-ranged reports (LEDGER, AUDIT_LOG).

> ### ⚠️ GraphQL variable types — get these EXACTLY right (first-run correctness) > > The BFF **strictly validates variable types**. A wrong type returns HTTP 400 and **no report is created** — and the `execute` tool surfaces this under an `error` / `error_type` field, *not* the GraphQL `errors` array, so it is easy to miss. Declare variables with these exact types: > > | Variable | GraphQL type | Notes | > |---|---|---| > | `exportFormat` | `S

Read more
Ships withclaude-plugins-community

Community-contributed plugins for Claude Cowork and Claude Code.

Get the whole plugin
Stats
4,664
Stars
335
Forks
Active
Maintenance
JavaScript
Language
Apache-2.0
License
48m ago
Last commit
7mo ago
Created
4h ago
Added

Repo: anthropics/claude-plugins-community

Other skills on claude-plugins-community.