tres-ledger-link
Build a TRES Finance dashboard ledger URL (Transactions tab) with a precise filter set — date range, wallets, assets, tags, status, amount, and more — so it can be shared with a customer or reused. Use whenever the user asks for a "ledger link", "dashboard link", "filter URL", or "send <customer> a link to <some filtered view>". Scoped to the Transactions tab only (not Accounting, Roll Forward, Pivot Tables, Cost Basis, or Trial Balances).
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-10
- Stars
- ★ 4.9k
- Forks
- 357
01 前言 Front Matter
- name
- tres-ledger-link
- description
- Build a TRES Finance dashboard ledger URL (Transactions tab) with a precise filter set — date range, wallets, assets, tags, status, amount, and more — so it can be shared with a customer or reused. Use whenever the user asks for a "ledger link", "dashboard link", "filter URL", or "send <customer> a link to <some filtered view>". Scoped to the Transactions tab only (not Accounting, Roll Forward, Pivot Tables, Cost Basis, or Trial Balances).
03 SKILL.md 正文
Generate Dashboard Ledger Link
Your job is to produce a working TRES Finance dashboard URL that opens the Transactions tab of the ledger with a precise filter set applied, so the user can share it with a customer (or use it themselves).
This skill is scoped to the Transactions tab only. If the user asks for a link to Accounting, Roll Forward, Pivot Tables, Cost Basis, or Trial Balances — stop and tell them this skill does not cover those tabs.
Step 1 — Resolve the org subdomain
The dashboard URL is https://<org-subdomain>.tres.finance/ledger.
Resolve <org-subdomain> from the MCP get_viewer query (use the returned orgName). Do not ask
the user.
query { viewer { orgName } }
State the subdomain you used in your final message so the user can correct it in one shot if it is wrong.
Step 2 — Collect the filters the user wants
Read the filters out of the user's request in plain English (date range, wallets, assets, tags, status, etc.). If a filter is ambiguous (e.g. "USDC" when the org has multiple USDC variants, or "Q1" without a year), ask before generating. A wrong value silently produces a broken / empty view.
Only include filters the user explicitly asked for. The dashboard fills in defaults for everything else — extra params just add noise.
Step 3 — Build the URL
Base path is always:
https://<org-subdomain>.tres.finance/ledger
No path segment after /ledger (that is the Transactions tab).
Append ? and the query string built from the rules below. URL-encode every value (spaces → %20).
Inside a single value, encode commas; between distinct array items, a comma is the literal delimiter.
3.1 Date & pagination
| Param | Format / values | Notes |
|---|---|---|
fromDate |
YYYY-MM-DD |
UTC date |
toDate |
YYYY-MM-DD |
UTC date |
dateType |
Month to date, Year to date, Last 30 days, Last month, Before this month, Custom date, All time, Year, Quarters |
URL-encode spaces. Omit if Last 30 days (default). For an arbitrary fromDate/toDate range, use Custom date. |
page |
integer | Omit if 1. |
pageSize |
integer | Omit if 20 (default). |
If dateType=All%20time, fromDate / toDate are ignored — do not include them.
3.2 Multi-select array filters (comma-joined IDs)
| Param | What goes in it |
|---|---|
internalAccounts |
numeric database ID of org-owned wallets |
tags |
wallet group IDs, or no-label for unlabeled |
thirdPartyAccounts |
raw address string of an external account (sender/receiver identifier on a sub-transaction — not necessarily a named contact in the system) |
customNameLabelTags |
contact group IDs |
addresses |
raw unidentified address strings |
assetClasses |
asset class enum IDs (e.g. CRYPTO, FIAT, NFT) |
assets |
asset IDs |
activities |
tag IDs uppercase (e.g. SPAM, STAKING), or no-label |
automations |
automation IDs |
platforms |
platform names lowercased (e.g. ethereum, bitcoin — NOT the uppercase enum) |
actions |
financial action enum names (e.g. SEND, RECEIVE) |
functions |
decoded function names |
applications |
application IDs |
protocols |
protocol IDs |
methodIds |
4-byte hex method IDs (0xa9059cbb) |
transactionHash |
tx hash(es) |
transactionView |
readyPending (default), onlyReady, onlyPending, onlyDeleted |
transactionType |
any of isManual, onlyPlug |
filterByBookmark |
bookmark types lowercased |
missingCounterMatchedTransfers |
all (default), false (has counter transfer), true (no counter transfer) |
balanceFactor |
1 (Inflow), -1 (Outflow). Typically a single value. |
amountAsset |
single asset ID (pair with amountBetween) |
If you do not know the exact ID for a multi-select value, query the BFF via the execute MCP tool
first to look it up. Do not guess.
3.3 Range filter
| Param | Format | Notes |
|---|---|---|
amountBetween |
<min>,<max> |
Either side may be empty: 100,500 (range), 100, (≥100), ,500 (≤500). The single comma is required. |
3.4 Boolean filters (include only when true)
showSpam, missingFiat, failedTransactions, nonTaxableType, missingCostBasis,
internalTransactions, ignoreFee
Example: ?showSpam=true&missingFiat=true. Never emit =false — false is the default.
3.5 Notes / radio-with-input
| Param | Values |
|---|---|
commentContains |
1 = has notes, -1 = no notes, 0 = show all (omit), or any text string to search note content |
3.6 Other singles
| Param | Format |
|---|---|
savedFilters |
saved-filter ID (single value) |
description |
single string |
globalSearch |
single string |
Step 4 — Validate before sending
Walk the URL through this checklist. If any rule fails, fix it before handing it over.
- Path is exactly
/ledger. No tab suffix, no?id=.... fromDate/toDatepaired withdateType=Custom%20date(ordateTypeomitted), never withLast%2030%20daysorAll%20time.- No
=falseon any boolean. - Multi-select values are comma-joined, never repeated keys (
?platforms=ethereum,bsc, never?platforms=ethereum&platforms=bsc). platformsvalues are lowercased (ethereum, notETHEREUM). All other enum IDs match the schema (SPAM, notSpam;CRYPTO, notcrypto).amountBetweenalways has exactly one comma, even when one side is open.- If
activitiesincludesSPAM, also setshowSpam=trueso the link is self-contained. - If
transactionHashis set, the dashboard ignores any date filter — warn the user when you also see a date in their request. - Spaces are URL-encoded (
Custom date→Custom%20date). - Only filters the user asked for are included.
Step 5 — Hand it over
Send the URL on its own line so it is easy to copy. Briefly state which filters are encoded (and which subdomain you used) so the user can sanity-check before forwarding to the customer.
Example handoff:
Built for org
<subdomain>: filters are platform=ethereum, activities=SPAM, fromDate/toDate Apr 2026 (Custom date), showSpam=true.https://<subdomain>.tres.finance/ledger?fromDate=2026-04-01&toDate=2026-04-30&dateType=Custom%20date&platforms=ethereum&activities=SPAM&showSpam=true
Worked examples
Last month's Ethereum SPAM transactions:
https://<subdomain>.tres.finance/ledger?fromDate=2026-04-01&toDate=2026-04-30&dateType=Custom%20date&platforms=ethereum&activities=SPAM&showSpam=true
All-time view of two specific wallets:
https://<subdomain>.tres.finance/ledger?dateType=All%20time&internalAccounts=12345,67890
USD-only large transfers ≥ 50k:
https://<subdomain>.tres.finance/ledger?assetClasses=FIAT&amountBetween=50000,&amountAsset=USD
Failed transactions missing fiat in Q1 2026:
https://<subdomain>.tres.finance/ledger?fromDate=2026-01-01&toDate=2026-03-31&dateType=Custom%20date&failedTransactions=true&missingFiat=true
A specific saved filter:
https://<subdomain>.tres.finance/ledger?savedFilters=12345
Rules
- This skill is for general, ad-hoc filtered views the user describes in plain English. To pin a
single just-created transaction so a pending/backdated row shows immediately, set
transactionHashwithdateType=All%20time. - Never hand-craft a ledger URL outside this skill — use it whenever the user asks for a ledger / dashboard / filter link.
- Never include
=falseon a boolean filter. - Never repeat a key (
?x=a&x=b) — comma-join into one value. - Never use display names where the dashboard expects enum IDs.
- Always validate against the Step 4 checklist before responding.
- Always state the subdomain and filters used in your handoff message.
04 同仓库更多 Skills
tres-wallets-upload
Upload and onboard multiple on-chain wallets or exchange accounts into Tres Finance. Use this skill whenever the user wants to add wallets, onboard wallets, import wallets, upload wallet addresses, ingest wallets, or connect exchanges into Tres — whether from a file (CSV/Excel) or by typing them manually. This skill guides Claude through the full flow: wallet type selection → input collection → validation → preview with editable HTML table → exchange credential collection (if exchange) → user confirmation → batch creation via the TRES MCP API. Always trigger this skill for wallet onboarding, wallet data ingestion, or any request to "add wallets to Tres".
tres-upload-tx-header-validation
The exact column header names required by the TRES Finance bulk transaction CSV upload. Use whenever building, fixing, or validating the header row of a TRES manual transaction or sub-transaction upload CSV — especially after an upload fails with "Missing required column(s): ...". Trigger phrases include: 'fix my CSV headers', 'bulk transaction upload failed', 'missing required columns', 'validate TRES upload CSV', 'transaction CSV template headers'. This skill is ONLY about the header naming convention; it does not cover row values or upload workflow. Do NOT trigger for contacts import CSV (use tres-import-contacts), wallet upload CSV (use tres-wallets-upload), or general CSV parsing unrelated to bulk TX upload headers.
tres-tx-story
Analyze a blockchain transaction by its hash using TRES Finance MCP and generate a visual flow diagram showing all asset movements, followed by a plain-language explanation of what happened. Use this skill whenever the user provides a transaction hash and asks to "analyze", "explain", "visualize", "diagram", "show me what happened in", or "tell the story of" a transaction. Also trigger when the user pastes a tx hash (long hex string starting with 0x) and asks anything about it. Always use this skill for transaction hash analysis — do not attempt to answer from memory alone.
tres-settings-management
Manage Organization Settings and Platform Settings via the TRES MCP GraphQL API. Use when users ask about org settings, platform settings, configuration, feature flags, enable/disable platforms, balance diff, commit strategy, cost basis, ERP, pricing, sync boundaries, or any setting read/write operation. Trigger phrases include "get settings", "show settings", "update settings", "change settings", "enable platform", "disable platform", "balance diff", "commit strategy", "cost basis strategy", "set min sync date", "configure", "turn on", "turn off".
tres-rollup-rules
Analyze an organization's sub-transaction patterns in TRES Finance, identify groups of repetitive transactions, and propose data-driven rollup rules that consolidate them into one aggregated entry per interval (daily or monthly) for cleaner ERP integration. Also lists and deletes rollup rules. Trigger this skill whenever the user asks about rollup rules, transaction aggregation, consolidating transactions, reducing transaction noise, rolling up gas fees, rolling up staking rewards, rolling up micro-transactions, or collapsing many small ledger entries into fewer summary entries. Also trigger on "create a rollup rule", "suggest rollup rules", "what should I roll up", "show my rollup rules", "delete a rollup rule", "aggregate transactions", "too many transactions", "reduce transaction count", "roll up fees", "daily rollup", "monthly rollup". If a wallet has too many transactions, high-frequency activity, or noisy ledger entries, proactively suggest rollup rules. For computing the EXACT impact of a single already-specified rule or reviewing submitted/pending rules, use the tres-rollup-review skill instead.
tres-rollup-review
Compute the EXACT sub-transaction impact of a rollup rule in TRES Finance — every filter applied — and flag genuine problems (zero matches, overlap, config mistakes) before the rule is created. Two modes. Mode A: a pre-create quality gate invoked by the tres-rollup-rules skill to vet proposed candidate rules. Mode B: standalone review of a rule someone submitted or of existing PENDING rules. Trigger this skill when the user says "review this rollup rule", "what would this rollup rule actually match", "preview the rollup impact", "how many transactions would this rule catch", "is this rollup rule valid", "validate my rollup rule", "check my pending rollup rules", or "review the rollup requests". Do NOT use this to design or propose new rollups — that is tres-rollup-rules. This skill only measures impact and flags issues; it never executes mutations.