
tres-data-collection-commit
Trigger on-chain data collection (a "Commit") in Tres Finance for wallets that have already been onboarded. Use this skill whenever the user wants to collect data, pull balances, sync wallets, refresh on-chain data, run a commit, trigger a commit, or "collect" anything in Tres. This is the second step of the Tres onboarding flow — it sits between wallet upload (tres-wallets-upload) and balance validation (tres-asset-balance-validation). Always trigger this skill for any request that mentions "commit", "collect", "data collection", "pull data", "fetch on-chain data", "sync wallets", "refresh balances", or anytime the user just finished uploading wallets and is ready to bring in their on-chain data.
- Installs
- 49
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/anthropics/claude-plugins-community --skill tres-data-collection-commit- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads tres-data-collection-commit automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Tres Finance — Data Collection (Commit)
Overview
Commit is the step that pulls on-chain data into Tres Finance for the wallets already onboarded to the org. It runs the platform's data-collection pipeline for each wallet and either:
- Full data collection — collects the full transaction history and current balances. Used for a complete onboarding or historical backfill.
- Balances only — collects only the current asset balances (no transactions). Much faster; useful when the user just wants an up-to-date snapshot or is preparing for a quick balance validation.
This skill is the second step of the customer onboarding flow:
- Upload wallets (
tres-wallets-upload) — register the wallets in Tres. - Collect data (this skill) — run the commit so Tres actually fetches the on-chain state.
- Validate balances (
tres-asset-balance-validation) — cross-check the collected balances against DeBank.
When to Use
Trigger this skill whenever the user wants to:
- Run a commit / trigger a commit / kick off data collection
- Collect on-chain data into Tres
- Pull balances or transactions for their wallets
- Sync wallets that were just added
- Refresh Tres data after adding new wallets
Example phrases that must trigger this skill:
- "Run the commit" / "Trigger the commit"
- "Collect the data for my wallets"
- "Pull balances for everything"
- "I just added wallets — now collect the data"
- "Sync my wallets"
- "Start the data collection"
Prerequisites
| Requirement | Details |
|---|---|
| TRES Finance MCP connected | The TRES MCP tools (get_viewer, execute, build_query, introspect) must be available |
| Authenticated org | get_viewer must succeed and return an orgName |
| At least one wallet onboarded | If there are no wallets, commit has nothing to collect — point the user to tres-wallets-upload first |
Process Overview
Follow these steps in order. Do not skip the user-selection steps — the whole point of this skill is to capture the user's collection intent before firing the mutation.
Step 1 — Confirm authentication
Call get_viewer to verify the user is authenticated to Tres and note the
orgName. Mention it in the confirmation summary later so the user knows which
org the commit will run against.
If get_viewer fails: tell the user the TRES MCP is not connected and ask them
to connect it before continuing.
Step 2 — Ask: full data or balances only?
This is the core choice of the skill. Ask the user exactly this (using the
AskUserQuestion tool if available, otherwise plain text):
What do you want to collect?
- Full data collection — collects all transactions and current balances. Slower, but produces a complete ledger. Use this for first-time onboarding or historical backfill.
- Balances only — collects only current balances, no transactions. Fast. Use this when you just want an up-to-date balance snapshot (for example, before running balance validation).
Map the answer to the GraphQL parameter balancesOnly:
| User choice | balancesOnly |
|---|---|
| Full data collection | false |
| Balances only | true |
If the user is unsure, recommend Full data collection as the default for first-time onboarding (because skipping transactions means the ledger will be empty even after commit succeeds).
Step 3 — Ask: all wallets, or specific wallets?
Ask the user whether the commit should run on every wallet or a subset:
Which wallets should I collect data for?
- All wallets — run the commit across every wallet in the org.
- Specific wallets — only collect data for wallets I pick.
If the user chooses All wallets: set internalAccountIds = null (omit the
field in the mutation variables, or pass null).
If the user chooses Specific wallets:
- Fetch the list of wallets from Tres so the user can pick from real options:
query ListWalletsForCommit { internalAccount { totalCount results { id name identifier parentPlatform } } } - Present the wallets as a numbered plain-text list (name + short address + platform). If there are more than ~25 wallets, show the first 25 and tell the user they can reply with wallet names, addresses, or IDs to narrow down.
- Let the user respond conversationally ("the three Ethereum ones", "Treasury
Hot and Cold Storage", "IDs 123, 456, 789", etc.). Resolve their response to
a list of internal account
idvalues. Never call the mutation with an unresolved name — always resolve to IDs first. - If you cannot confidently resolve a wallet the user named, ask them to clarify instead of guessing.
Step 4 — Confirm before firing the mutation
Show a short plain-text summary of exactly what is about to happen and ask for explicit confirmation. Example:
About to trigger a Commit in Tres Finance:
Org: Acme Labs
Mode: Full data collection (transactions + balances)
Wallets: All wallets in the org
Shall I run it now?
Or, for a scoped run:
About to trigger a Commit in Tres Finance:
Org: Acme Labs
Mode: Balances only
Wallets: 3 selected
- Treasury Hot (0x1887...3Cdd, ETHEREUM)
- Cold Storage (bc1q...xyz, BITCOIN)
- Ops Main (0x89Ba...92a8, POLYGON)
Shall I run it now?
Wait for an affirmative reply (yes, confirm, go ahead). Anything else:
treat as "not yet" and ask what to change.
Step 5 — Trigger the commit
Run the triggerCommit mutation via the TRES MCP execute tool:
mutation TriggerCommit(
$balancesOnly: Boolean
$internalAccountIds: [ID]
) {
triggerCommit(
balancesOnly: $balancesOnly
internalAccountIds: $internalAccountIds
) {
status
message
commitId
}
}
Variable mapping:
| Variable | Value |
|---|---|
balancesOnly | true (balances only) or false (full data) from Step 2 |
internalAccountIds | null for all wallets, or an array of wallet IDs from Step 3 |
Do not pass fromDate, toDate, or commitId unless the user specifically
asked for a date range or a retry of a specific commit — the onboarding flow
should just let Tres pick the defaults.
All variable keys must be camelCase (e.g.
balancesOnly,internalAccountIds). The TRES GraphQL API rejects snake_case.
Step 6 — Report the result
The mutation returns three fields:
status— a Boolean.true= the commit was accepted and enqueued;false= the trigger itself failed.message— a short human-readable string (e.g.,"Commit triggered"). Show it verbatim.commitId— a UUID for this run; show it so the user can reference the job later (and so you can pass it to a future status-check tool).
Example response to the user when status == true:
✅ Commit triggered successfully.
Status: true
Message: Commit triggered
Commit ID: c93a6d31-2f98-4eae-859f-80b010048fbd
Data collection is now running in the background. You will typically see
balances appear within a few minutes; full data collection can take longer
depending on history length and the number of wallets.
If status == false, treat it as a failure: show the message verbatim and
offer the user next steps: re-run the commit, check wallet configuration, or
contact support if the error is opaque.
Step 7 — Point to the next onboarding step
As the final part of the response (after the success/error report), remind the user that Commit is step 2 of the onboarding flow and the next step is balance validation. Word it so it is clearly a suggestion, not an automatic action:
Next step in onboarding: once the commit has finished collecting your current balances, the next thing to do is validate them against DeBank. Just say "validate my balances" and I'll run the Balance Validation skill for you.
Do not auto-trigger the validation skill — the user must opt in, because the commit runs asynchronously and the data may not be ready immediately.
Important Notes
- Async execution.
triggerCommitenqueues the job; it does not block on completion. The returnedcommitIdlets the user (or another skill) check status later. - Balances only ≠ no writes. Even in balances-only mode, Tres updates the per-wallet balance snapshots. It only skips transaction ingestion.
- No wallets uploaded yet? If the user triggers this skill before onboarding
any wallets,
internalAccountwill returntotalCount: 0. Tell the user they need to add wallets first (point totres-wallets-upload) and stop. - Partial failures. It is possible for the commit to succeed for some
wallets and fail for others. The top-level
statusandmessagegive the summary; deeper diagnostics live in the TRES UI under Data Collection logs. - Idempotency. Re-running a commit on the same wallet is safe — Tres deduplicates transactions by on-chain identifier.
Error Handling
| Situation | Response |
|---|---|
get_viewer fails | Tell the user the TRES MCP is not connected; stop. |
internalAccount.totalCount == 0 | Tell the user there are no wallets to commit; point to the tres-wallets-upload skill; stop. |
Mutation returns non-success status | Show the raw status and message; offer to retry or investigate. |
| User provides wallet names that can't be resolved | Ask for clarification instead of guessing; never send unresolved names to the mutation. |
| User asks for a date range | Accept fromDate / toDate as ISO 8601 UTC and pass them through; confirm the range in the summary before firing. |
| User asks to cancel a running commit | Out of scope for this skill. Mention that killCommits exists and offer to hand off to another skill or the TRES UI. |
Examples
Example 1 — First-time onboarding, all wallets, full data:
User: I just uploaded my wallets. Collect the data.
Claude: [runs get_viewer → "Acme Labs"]
What do you want to collect?
1. Full data collection (transactions + balances)
2. Balances only
User: Full.
Claude: Which wallets?
1. All wallets
2. Specific wallets
User: All.
Claude: About to trigger a Commit in Tres Finance:
Org: Acme Labs
Mode: Full data collection
Wallets: All wallets in the org
Shall I run it now?
User: Yes.
Claude: [runs triggerCommit(balancesOnly: false)]
✅ Commit triggered successfully.
Status: SUCCESS
Message: Commit enqueued for 12 wallets.
Commit ID: 9f2e5c4a-...
Next step: once collection finishes, run balance validation.
Future enhancement (not implemented in v1):
A natural follow-up is to optionally wait inside this skill until the
commit completes (poll internalAccount.status until every targeted wallet is
back to READY and lastSyncedAt is newer than the trigger time), then notify
the user that they can safely run the balance validation skill. The current
v1 design intentionally exits after triggering — full-data commits can take a
long time, and polling synchronously inside chat is painful at the long end.
A companion guard inside tres-asset-balance-validation (refusing to run, or
warning, while a commit is in progress) is the other half of that story.
Example 2 — Quick balance refresh for two wallets:
User: Can you just pull balances for my Ethereum treasury wallets?
Claude: [runs get_viewer]
What do you want to collect?
1. Full data collection
2. Balances only ← fits "just pull balances"
User: Balances only.
Claude: Which wallets?
1. All wallets
2. Specific wallets
User: Specific — Treasury Hot and Treasury Cold.
Claude: [queries internalAccount, resolves the two wallets by name]
About to trigger a Commit in Tres Finance:
Mode: Balances only
Wallets: 2 selected
- Treasury Hot (0x1887...3Cdd, ETHEREUM)
- Treasury Cold (0x89Ba...92a8, ETHEREUM)
Shall I run it now?
User: Go.
Claude: [runs triggerCommit(balancesOnly: true, internalAccountIds: [...])]
✅ Commit triggered. Commit ID: ...
FAQ
What does the tres-data-collection-commit skill do?
Trigger on-chain data collection (a "Commit") in Tres Finance for wallets that have already been onboarded. Use this skill whenever the user wants to collect data, pull balances, sync wallets, refresh on-chain data, run a commit, trigger a commit, or "collect" anything in Tres. This is the second step of the Tres onboarding flow — it sits between wallet upload (tres-wallets-upload) and balance validation (tres-asset-balance-validation). Always trigger this skill for any request that mentions "commit", "collect", "data collection", "pull data", "fetch on-chain data", "sync wallets", "refresh balances", or anytime the user just finished uploading wallets and is ready to bring in their on-chain data.
How do I install tres-data-collection-commit?
Run npx skills add https://github.com/anthropics/claude-plugins-community --skill tres-data-collection-commit in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tres-data-collection-commit/ (personal) or .claude/skills/tres-data-collection-commit/ (project).
Which AI agents can use tres-data-collection-commit?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is tres-data-collection-commit safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains tres-data-collection-commit?
It is published by anthropics in anthropics/claude-plugins-community. It has 49 recorded installs.
More from anthropics/claude-plugins-community
eli5
anthropics/claude-plugins-community
Explain a topic like I'm a 5 year old. Use when the user types /eli5 or asks for a dead-simple picture explainer of how something works.
html-plan
anthropics/claude-plugins-community
Open the skill to read its SKILL.md instructions.
quickdesign
anthropics/claude-plugins-community
Use the quickdesign CLI to generate AI media — UGC promo videos, image edits, product creatives, video upscales — through Seedance, Kling, Sora2, Nano Banana, and GPT Image. Invoke this skill whenever the user asks for a talking-avatar video, multi-segment ad / promo / explainer, image edit (object swap, angle change, state change), product photoshoot, or video upscale via QuickDesign.
tres-cost-basis
anthropics/claude-plugins-community
Manage cost basis calculation in TRES Finance: check status, view/change strategy (FIFO, LIFO, AVG, MAXGAINS, MAXLOSSES, FIFOIMPAIRMENT), trigger recalculation, review financial issues, manage reevaluations/impairments, set bulk fiat prices, configure spec-ID lot disposal rules, view per-asset cost basis results, and export cost basis reports. Trigger this skill whenever the user asks about cost basis, gains/losses, realized gains, unrealized gains, COGS, inventory lots, tax lots, cost basis strategy, reevaluation, impairment, fiat value override, spec-ID rules, financial issues (negative balance, missing fiat), or anything related to how their crypto assets are costed. Also trigger when the user says "calculate cost basis", "what is my cost basis strategy", "show me financial issues", "create a reevaluation", "run cost basis", "change strategy to LIFO", or similar.
tres-asset-balance-validation
anthropics/claude-plugins-community
Validate wallet balances in TRES Finance against DeBank and generate a discrepancy report. Use this skill whenever the user asks to validate, verify, cross-check, or audit their TRES balances against on-chain data or DeBank. Also trigger when the user asks if their balances are correct or wants to see discrepancies. Only EVM-compatible wallets are supported.
tres-report-advisor
anthropics/claude-plugins-community
Recommend the right TRES Finance report for any user question. Trigger this skill whenever a user asks which report to use, what report contains certain data, how to get specific information out of TRES, or compares two reports. Also trigger when the user describes a goal (e.g. "month-end close", "auditor needs proof", "tax filing", "reconciliation") without naming a specific report. Trigger phrases include "which report", "what report", "how do I export", "where can I find", "I need a report for", "what's the difference between", "best report for", "auditor asked for", or any question about getting data out of TRES Finance.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.