eli5
Explain a topic like I'm a 5 year old. Use when the user types /eli5 <topic> or asks for a…
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
$ npx -y skills add anthropics/claude-plugins-community --skill tres-report-create --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tres-report-createContext 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
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.
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.
- [ ] 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
Confirm before doing anything:
query { availableReportTypes { name exportType entitiesType llmDescription } }Confirm briefly, e.g. *"I'll generate a Transaction Ledger for Q1 2025 as CSV. Starting now."*
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):**
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
Community-contributed plugins for Claude Cowork and Claude Code.
Repo: anthropics/claude-plugins-community
Explain a topic like I'm a 5 year old. Use when the user types /eli5 <topic> or asks for a…
Write an implementation plan as one interactive HTML page - a tree of claims (why › what ›…
Use the `quickdesign` CLI to generate AI media — UGC promo videos, image edits, product…
Use only when the user explicitly asks for a TestDino audit of Playwright automated test…
Use when the user wants to check TestDino connection status, validate their PAT, discover…
Use when the user wants to manage a manual execution run or update case-level results inside…