tres-ledger-link

작성자: anthropic

TRES Finance 대시보드 원장 URL(Transactions 탭)을 정확한 필터 세트 — 날짜 범위, 지갑, 자산, 태그, 상태, 금액 등 — 과 함께 구축하여…

npx skills add https://github.com/anthropics/claude-plugins-community --skill tres-ledger-link

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

ParamFormat / valuesNotes
fromDateYYYY-MM-DDUTC date
toDateYYYY-MM-DDUTC date
dateTypeMonth to date, Year to date, Last 30 days, Last month, Before this month, Custom date, All time, Year, QuartersURL-encode spaces. Omit if Last 30 days (default). For an arbitrary fromDate/toDate range, use Custom date.
pageintegerOmit if 1.
pageSizeintegerOmit if 20 (default).

If dateType=All%20time, fromDate / toDate are ignored — do not include them.

3.2 Multi-select array filters (comma-joined IDs)

ParamWhat goes in it
internalAccountsnumeric database ID of org-owned wallets
tagswallet group IDs, or no-label for unlabeled
thirdPartyAccountsraw address string of an external account (sender/receiver identifier on a sub-transaction — not necessarily a named contact in the system)
customNameLabelTagscontact group IDs
addressesraw unidentified address strings
assetClassesasset class enum IDs (e.g. CRYPTO, FIAT, NFT)
assetsasset IDs
activitiestag IDs uppercase (e.g. SPAM, STAKING), or no-label
automationsautomation IDs
platformsplatform names lowercased (e.g. ethereum, bitcoin — NOT the uppercase enum)
actionsfinancial action enum names (e.g. SEND, RECEIVE)
functionsdecoded function names
applicationsapplication IDs
protocolsprotocol IDs
methodIds4-byte hex method IDs (0xa9059cbb)
transactionHashtx hash(es)
transactionViewreadyPending (default), onlyReady, onlyPending, onlyDeleted
transactionTypeany of isManual, onlyPlug
filterByBookmarkbookmark types lowercased
missingCounterMatchedTransfersall (default), false (has counter transfer), true (no counter transfer)
balanceFactor1 (Inflow), -1 (Outflow). Typically a single value.
amountAssetsingle 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

ParamFormatNotes
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 =falsefalse is the default.

3.5 Notes / radio-with-input

ParamValues
commentContains1 = has notes, -1 = no notes, 0 = show all (omit), or any text string to search note content

3.6 Other singles

ParamFormat
savedFilterssaved-filter ID (single value)
descriptionsingle string
globalSearchsingle string

Step 4 — Validate before sending

Walk the URL through this checklist. If any rule fails, fix it before handing it over.

  1. Path is exactly /ledger. No tab suffix, no ?id=....
  2. fromDate / toDate paired with dateType=Custom%20date (or dateType omitted), never with Last%2030%20days or All%20time.
  3. No =false on any boolean.
  4. Multi-select values are comma-joined, never repeated keys (?platforms=ethereum,bsc, never ?platforms=ethereum&platforms=bsc).
  5. platforms values are lowercased (ethereum, not ETHEREUM). All other enum IDs match the schema (SPAM, not Spam; CRYPTO, not crypto).
  6. amountBetween always has exactly one comma, even when one side is open.
  7. If activities includes SPAM, also set showSpam=true so the link is self-contained.
  8. If transactionHash is set, the dashboard ignores any date filter — warn the user when you also see a date in their request.
  9. Spaces are URL-encoded (Custom dateCustom%20date).
  10. 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://.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 transactionHash with dateType=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 =false on 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.

anthropic의 다른 스킬

analyzing-financial-statements
anthropic
이 스킬은 재무제표 데이터로부터 투자 분석을 위한 주요 재무 비율과 지표를 계산합니다.
applying-brand-guidelines
anthropic
이 스킬은 생성된 모든 문서에 일관된 기업 브랜딩과 스타일(색상, 글꼴, 레이아웃, 메시징 포함)을 적용합니다.
creating-financial-models
anthropic
이 스킬은 DCF 분석, 민감도 테스트, 몬테카를로 시뮬레이션, 시나리오 플래닝을 포함한 고급 재무 모델링 제품군을 투자…에 제공합니다.
board-minutes
anthropic
이사회 또는 위원회 회의록을 사내 형식으로 작성합니다. 캘린더에서 예정된 이사회 및 위원회 회의를 자동으로 감지하고, 안건을 요청한 후…
crm-cleanup
anthropic
HubSpot에서 오래된 거래, 중복 연락처, 누락된 필드를 스캔한 후 소유자가 승인한 항목을 수정합니다. 선택적 범위 인수를 받아 거래, 연락처 등을 지정할 수 있습니다.
redshift-api
anthropic
Amazon Redshift에 대해 SQL 실행 — 명령문 제출, 상태 폴링, 결과 페이지 탐색, 데이터베이스/스키마/테이블 탐색. 사용자가 원할 때마다 이 기능을 사용하세요…
ticket-deflector
anthropic
고객이 전달한 이메일이나 티켓을 읽고, PayPal에서 주문/환불 상태를 가져오며, HubSpot에서 계정 내역을 조회한 후, 소유자의 어조에 맞춰 답변을 작성합니다.
reg-feed-watcher
anthropic
규제 피드를 지금 확인하고, 마지막 확인 이후 새로 추가된 내용을 사용자의 중요도 기준에 따라 필터링하여 보고합니다. 사용자가 "피드 확인해 줘"라고 말할 때 사용하세요.