Skip to main content
ClaudeWave
Install in Claude Code
Copy
git clone --depth 1 https://github.com/anthropics/claude-plugins-community /tmp/tres-onboarding && cp -r /tmp/tres-onboarding/tres-finance-plugin/skills/tres-onboarding ~/.claude/skills/tres-onboarding
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# TRES Finance — Full Entity Onboarding

Orchestrate the complete onboarding of a new entity/customer/account into TRES Finance.
This skill does not contain its own low-level logic — instead, it drives the user through
8 sequential steps, invoking the dedicated skill for each one. Think of it as a conductor
that keeps the onboarding moving forward while each sub-skill handles the details.

---

## Before You Start

**No visualizations for input gathering.** Do NOT use show_widget, HTML widgets, interactive
forms, AskUserQuestion widgets, or any visualization tool when collecting initial context from
the user or presenting the onboarding roadmap. Ask all questions and present the roadmap as
plain text in the chat. This keeps the flow fast and responsive — building a widget just to
ask for a name and wallet list adds unnecessary latency. Visualizations are fine later when
individual sub-skills need them (e.g., balance validation dashboards, recon gap tables), but
the onboarding kick-off and step transitions must be text-only.

1. **Confirm intent.** The user must have explicitly requested a full onboarding (new entity,
   new customer, new account). If the request is ambiguous, ask: "Are you looking to run the
   full onboarding flow for a new entity, or do you just need help with a specific step
   (like uploading wallets or validating balances)?"

2. **Collect context.** Ask the user in plain text (no widgets, no forms) for:
   - The entity/customer/account name
   - Any wallets or exchange accounts they already have ready (file, list, etc.)
   - Whether they have a target date in mind for the onboarding

3. **Present the roadmap.** Before diving in, show the user the roadmap as plain text
   in the chat (not as an HTML widget or visualization) so they know what to expect.
   Use something like:

   > Here's the onboarding roadmap for **[Entity Name]**:
   >
   > 1. **Upload Wallets** — Add on-chain wallets and/or exchange accounts
   > 2. **Data Collection (Commit)** — Pull on-chain data for the uploaded wallets
   > 3. **Validate Balances** — Cross-check TRES balances against on-chain sources
   > 4. **Reconciliation** — Review and resolve any balance gaps
   > 5. **Cost Basis** — Configure and run cost basis calculation
   > 6. **Export Unidentified Addresses** — Extract 3rd-party addresses from transactions
   > 7. **Import Contacts** — Label and import the identified addresses back into TRES
   > 8. **Rollup Rules** — Set up transaction aggregation for high-volume wallets
   >
   > We'll go through each step together. Ready to start?

---

## The Onboarding Pipeline

Work through each step in order. After completing each step, briefly summarize what was
accomplished and ask the user if they're ready to move on. If a step isn't relevant
(e.g., no high-volume wallets that need rollup rules), the user can skip it.

**Important:** For each step, invoke the corresponding skill by name. Read its SKILL.md
and follow its instructions. The sub-skill handles all the details — your job is to
transition smoothly between steps and keep the user oriented.

### Step 1: Upload Wallets
**Skill:** `tres-wallets-upload`

Invoke the tres-wallets-upload skill. This guides the user through adding their on-chain
wallets and/or exchange accounts into TRES. Once wallets are created, confirm the count
and proceed.

**Transition:** "Wallets are uploaded. Next, we'll collect on-chain data for them."

---

### Step 2: Data Collection (Commit)
**Skill:** `tres-data-collection-commit`

Invoke the tres-data-collection-commit skill. This triggers on-chain data collection for
the wallets that were just uploaded. The commit may take some time depending on the number
of wallets and their history.

**Transition:** "Data collection is in progress / complete. Next, let's validate that the
balances TRES pulled match what's actually on-chain."

---

### Step 3: Validate Balances
**Skill:** `tres-asset-balance-validation`

Invoke the tres-asset-balance-validation skill. This compares TRES balances against DeBank
(for EVM wallets) and generates a discrepancy report. Review any issues with the user.

**Transition:** "Balance validation is done. Let's move on to reconciliation to close any
remaining gaps."

---

### Step 4: Reconciliation
**Skill:** `tres-recon-gaps`

Invoke the tres-recon-gaps skill. This fetches reconciliation gap data, displays it, and
helps the user resolve any on-chain vs. book balance discrepancies. If there are no gaps,
celebrate and move on.

**Transition:** "Reconciliation is squared away. Now let's set up cost basis calculation."

---

### Step 5: Cost Basis
**Skill:** `tres-cost-basis`

Invoke the tres-cost-basis skill. This walks through strategy selection if needed, triggers
cost basis calculation, surfaces per-asset results and financial issues, and covers
reevaluations, spec-ID rules, and related cost basis operations as needed. Review any
financial issues (negative balances, missing fiat prices) that surface.

**Transition:** "Cost basis is configured and running. Next, let's identify the external
addresses your wallets have been interacting with."

---

### Step 6: Export Unidentified Addresses
**Skill:** `tres-export-3rd-party-contacts`

Invoke the tres-export-3rd-party-contacts skill. This extracts all unidentified external
addresses from the entity's transactions and exports them as an XLSX workbook. The user
will need to review and label these addresses (who each address belongs to).

**Transition:** "The unidentified addresses have been exported. Once you've labeled them,
we'll import them back as contacts. If you need time to fill in the names, we can pause
here and come back to the next step later — just say 'continue onboarding' when ready."

**Note:** This step produces output that the user needs to review and fill in offline.
Offer to pause the onboarding here and resume later. If the user wants to continue
immediately (maybe they'll label contacts later), that's fine — skip to Step
eli5Skill

Explain a topic like I'm a 5 year old. Use when the user types /eli5 <topic> or asks for a dead-simple picture explainer of how something works.

quickdesignSkill

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.

testdino-auditSkill

Use only when the user explicitly asks for a TestDino audit of Playwright automated test code. Routes through the audit tools the TestDino MCP server exposes (get_audit_report + submit_audit_report, or the legacy test_audit). For generic code review or non-Playwright targets, do a normal review instead.

testdino-healthSkill

Use when the user wants to check TestDino connection status, validate their PAT, discover available organizations and projects, or find the right projectId. Always call this first when the project context is ambiguous before any other TestDino tool.

testdino-manual-runsSkill

Use when the user wants to manage a manual execution run or update case-level results inside a run — listing runs, creating runs for a release, inspecting a run, assigning cases, or marking case results (passed/failed/blocked/skipped/retest/untested). Accepts counter-style IDs like RUN-12 and TC-156.

testdino-manual-testsSkill

Use when the user wants to create, update, or browse manual QA test cases and suites in TestDino — not execution runs. Covers list_manual_test_suites, list_manual_test_cases, get_manual_test_case, create_manual_test_case, update_manual_test_case, create_manual_test_suite.

testdino-releasesSkill

Use when the user wants to browse, inspect, create, or update releases/milestones in a TestDino project. Covers list_releases, get_release, create_release, and update_release. Accepts counter-style IDs like MS-12.

testdino-runsSkill

Use when the user wants to inspect automated test runs, list failed or flaky tests, debug a failing testcase with historical context, or filter runs by branch, commit, author, environment, browser, status, or tags. Includes list_testruns, get_run_details, list_testcase, get_testcase_details, and debug_testcase.