본문으로 건너뛰기
cccskills
무료GitHub에 공개

tres-settings-management

View and update TRES Finance settings for an organization, blockchain or exchange, or individual wallet. Compare current and proposed values before approval, covering cost basis calculations, sync dates, and whether platform data collection is enabled.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

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".

설치 방법 보기

이럴 때 유용합니다

  • Review the current cost basis method
  • Enable or disable collection for a blockchain or exchange
  • Change a wallet’s sync start date
  • Check configured asset pricing sources

포함된 파일(1)

  • SKILL.md12.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

TRES MCP - Organization & Platform Settings

How This Skill Works

This skill lets users view and modify configuration for their TRES Finance organization and individual blockchain/exchange platforms. There are two levels:

  • Organization Settings — Apply to the entire org: how cost basis is calculated, which features are enabled, ERP behavior, pricing sources, commit scheduling, etc.
  • Platform Settings — Apply per-platform (e.g., Ethereum, Arbitrum) and optionally per-wallet: commit strategy, sync date boundaries, balance diff, asset filtering, etc.

Ground Rules

1. Always Start by Identifying the Org

Before doing anything, confirm which organization the user is connected to:

query { admin { orgName } }

Tell the user: "You're connected to {orgName}."

2. Read Before Write

Before any mutation, ALWAYS fetch the current value of the setting(s) being changed. Show a clear before/after comparison.

3. Mutations Require Explicit Approval

Before executing ANY mutation, you MUST:

  1. Show a clear summary table with Setting, Current Value, and New Value
  2. Explicitly ask: "Shall I apply these changes to {orgName}?"
  3. Only proceed after the user confirms
  4. After execution, show the confirmed result from the mutation response

4. Warn About High-Risk Changes

Flag these settings as potentially dangerous and add a warning:

  • costBasisStrategy — Changing mid-period can cause recalculations across the entire org
  • disableAutoCommit — Stops all automatic data processing
  • skipCostBasis — Disables cost basis entirely
  • commitStrategy: SKIP_ALL — Fully disables a platform's data pipeline
  • enableMultiEntity — Structural change, hard to reverse
  • allowShort — Enables short positions in cost basis

5. Use Schema Introspection for Field Discovery

Do NOT rely on hardcoded field lists. Use the MCP introspect tool to discover available fields and their types dynamically:

  • introspect("OrganizationSettingsObjectType") — all readable org settings
  • introspect("setOrganizationSettings") — all writable org settings with descriptions
  • introspect("PlatformSettingsObjectType") — all readable platform settings
  • introspect("setPlatformSettings") — all writable platform settings with descriptions

When a user asks "what can I configure?" or you need to verify a field name or enum values, introspect first.


Setting Categories (use when users ask vaguely)

If the user says "show me the settings" without specifics, offer these categories with plain-language explanations:

CategoryWhat It Controls
Cost BasisHow gains/losses are calculated (FIFO, LIFO, etc.), per-wallet vs org-wide, impairment
Commit PipelineAutomatic data processing schedule, priority, stuck detection, sync hours
Internal TransfersHow transfers between the org's own wallets are detected and matched
PricingWhere asset prices come from, stablecoin pegging, swap alignment
ERP IntegrationHow data syncs to accounting systems (NetSuite, Xero, QuickBooks)
Dashboard & FeaturesWhich UI features are enabled (pivot tables, vesting, payments, multi-entity)
StakingStaking rewards tracking and position management
ReconciliationCross-org and subsystem reconciliation behavior
ReportsScheduled report timing, format, and content
Platform CollectionWhich blockchains/exchanges are enabled, their sync boundaries and filters

Reading Organization Settings

Query Structure

query {
  admin {
    orgName
    organizationSettings {
      # include only the fields relevant to the user's question
    }
  }
}
  • Organization is resolved from the auth token — no org ID needed
  • Never request all fields at once — pick the category relevant to the question
  • Use introspect("OrganizationSettingsObjectType") to discover available fields if needed

Nested Fields (must expand sub-fields when querying)

These fields return objects/lists, not scalars. Always include their sub-fields:

FieldSub-fieldsWhat It Is
peggedStableCoinsToFiatassetName, currencyStablecoins treated as equivalent to fiat
pricingApiSourcePerAssetassetName, pricingApiSourceCustom pricing source per asset
netsuiteCurrencySymbolToInternalIdcurrency, internalIdNetSuite currency mapping
simpleMatchingStrategiesbeforeRange, afterRangeReconciliation time windows
proofOfFundsorganizationNameProof of funds client config

Additional Admin Fields

The admin query also provides:

  • orgName — the organization's display name
  • disabledPlatforms — quick list of platforms with collection fully disabled
  • auth0Connections — available SSO login methods

Writing Organization Settings

Mutation Structure

Uses patch semantics — only include the fields you want to change. Everything else stays as-is.

mutation {
  setOrganizationSettings(
    costBasisStrategy: FIFO
  ) {
    organizationSettings {
      costBasisStrategy
    }
  }
}

Use introspect("setOrganizationSettings") to discover all mutable fields, their types, and descriptions.

Workflow for Changing Org Settings

  1. Read the current values of the setting(s) being changed
  2. Show the user a before/after comparison table
  3. Warn if any high-risk settings are involved
  4. Ask for approval
  5. Execute the mutation
  6. Confirm by showing the returned values

Reading Platform Settings

Query Structure (top-level query)

Returns only platforms/accounts with explicit overrides. Platforms using all defaults won't appear.

query {
  platformSettings(platform: ETHEREUM) {
    results {
      settingsId
      platform
      internalAccountId
      platformSettings {
        commitStrategy
        calculateBalanceDiff
        minLastSyncedAt
        maxToDate
        # add fields as needed — use introspect("PlatformSettingsObjectType") for full list
      }
    }
  }
}

Filtering Options

All arguments are optional — combine as needed:

ArgumentTypeUse Case
platformPlatformShow settings for a specific chain/exchange
internalAccountIdIntShow settings for a specific wallet
settingsIdStringExact match on storage key
settingsId_IcontainsStringPartial match (e.g., "ethereum" matches "ethereum_714128")
  • No args → all stored platform settings
  • platform only → platform-wide + all per-wallet overrides for that platform
  • platform + internalAccountId → only the per-wallet override
  • internalAccountId only → all platforms for that wallet

Quick Check: Which Platforms Are Disabled?

query { admin { disabledPlatforms } }

Writing Platform Settings

Mutation Structure

Patch semantics — only included fields are merged. Existing values preserved.

mutation {
  setPlatformSettings(
    platform: ARBITRUM
    internalAccountId: 714128    # omit for platform-wide
    commitStrategy: FULL
    minLastSyncedAt: "2025-01-01T00:00:00+00:00"
  ) {
    settingsId
    platformSettings {
      commitStrategy
      minLastSyncedAt
    }
  }
}

Use introspect("setPlatformSettings") to discover all available arguments.

Key Arguments

  • platform (required) — target blockchain or exchange
  • internalAccountId (optional) — scope to a specific wallet. Omit for platform-wide
  • DateTime values must be ISO 8601 with timezone: "2025-01-01T00:00:00+00:00"

Balance Rollup (Balance Diff)

To enable balance-diff-based activity tracking for specific assets:

mutation {
  setPlatformSettings(
    platform: ARBITRUM
    internalAccountId: 714128
    balanceRollupSettings: {
      assetIdentifiers: ["native"]
      interval: DAILY
    }
  ) {
    settingsId
    platformSettings {
      balanceRollupSettings { assetIdentifiers interval }
    }
  }
}

assetIdentifiers can be "native" for the chain's native asset, or contract addresses for tokens.


Enabling / Disabling Platforms

Use setPlatformCollectionStatus (not setPlatformSettings) for simple enable/disable.

mutation {
  setPlatformCollectionStatus(
    platformCollectionStatuses: [
      { platform: ARBITRUM, enabled: true }
      { platform: POLYGON, enabled: false }
    ]
  ) {
    success
  }
}
  • enabled: true → platform will be collected in commits (FULL)
  • enabled: false → platform is fully skipped (SKIP_ALL)

Supports bulk operations — multiple platforms in one call.


Resolving Wallet Addresses to Internal Account IDs

When the user provides a wallet address, look up the internal account ID:

query {
  internalAccount(identifier: "0x1887fa9edadeab7562b01cc3f4fa246ace2c3cdd") {
    results {
      id
      name
      identifier
      parentPlatform
    }
  }
}

Use the returned id as internalAccountId in platform settings mutations.

Note: parentPlatform represents the top-level chain family (e.g., ethereum covers Ethereum, Arbitrum, Polygon, etc.). A single wallet address on ethereum parentPlatform can have platform-specific settings for each L2.


Common Workflows

"Change the cost basis method to LIFO"

  1. Query current: admin { organizationSettings { costBasisStrategy } }
  2. Show: "Current: FIFO → New: LIFO"
  3. Warn: "Changing the cost basis method will trigger recalculation. This affects all historical gain/loss calculations."
  4. Ask for approval
  5. Execute: setOrganizationSettings(costBasisStrategy: LIFO)

"Enable Arbitrum"

  1. Query disabled: admin { disabledPlatforms } — confirm ARBITRUM is in the list
  2. Show: "ARBITRUM: Disabled → Enabled"
  3. Ask for approval
  4. Execute: setPlatformCollectionStatus(platformCollectionStatuses: [{platform: ARBITRUM, enabled: true}])

"Set sync start date for wallet X on Polygon"

  1. Resolve wallet: internalAccount(identifier: "0x...") → get id
  2. Read current: platformSettings(platform: POLYGON, internalAccountId: {id}) → get minLastSyncedAt
  3. Show: "Wallet {name} on POLYGON: minLastSyncedAt: 1970-01-01 → 2025-01-01"
  4. Ask for approval
  5. Execute: setPlatformSettings(platform: POLYGON, internalAccountId: {id}, minLastSyncedAt: "2025-01-01T00:00:00+00:00")

"Add balance diff for native asset on a specific wallet"

  1. Resolve wallet: internalAccount(identifier: "0x...") → get id
  2. Read current: platformSettings(platform: ETHEREUM, internalAccountId: {id})
  3. Show: "Adding balance rollup for native asset (DAILY interval) on wallet {name} / ETHEREUM"
  4. Ask for approval
  5. Execute: setPlatformSettings(platform: ETHEREUM, internalAccountId: {id}, balanceRollupSettings: {assetIdentifiers: ["native"], interval: DAILY})

"Show me which platforms are disabled"

  1. Execute: admin { disabledPlatforms }
  2. Present as a clean list grouped by chain family if many results

"What pricing source is configured?"

  1. Execute: admin { organizationSettings { pricingApiSource peggedStableCoinsToFiat { assetName currency } pricingApiSourcePerAsset { assetName pricingApiSource } } }
  2. Present: default source + any per-asset overrides + pegged stablecoins

Error Handling

ErrorMeaningResolution
403 / Permission deniedUser lacks admin:* permissionContact org admin to grant access
Empty platformSettings resultsNo custom overrides — platform uses defaultsThis is normal; explain that defaults apply
"does not exist for organization"Internal account ID not found in this orgVerify the wallet address and re-resolve
Invalid enum valueWrong value for a settingUse introspect on the enum type to show valid options
DateTime parse errorWrong formatMust be ISO 8601 with timezone: "2025-01-01T00:00:00+00:00"

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

eli5

무료

Turn a topic into a simple HTML explainer with large pictures and few words. It is designed for readers with no prior knowledge who want a basic visual explanation of how something works.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Getting a visual introduction to an unfamiliar topic
  • Explaining how something works in simple terms
  • Requesting an explanation with fewer words
anthropics/claude-plugins-community4.7천2026년 10월 21일 업데이트

html-plan

무료

Create an interactive HTML implementation plan that connects proposed behavior to mockups, code, and data structures. Readers can explore details, choose options, edit schemas, and return comments before development starts.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing a feature plan before development
  • Collecting decisions on implementation options
  • Connecting proposed behavior to code locations
anthropics/claude-plugins-community4.7천2026년 10월 21일 업데이트

Create talking-avatar ads, product images, and promotional videos through the quickdesign CLI. Use reference images for edits and compositions, maintain a consistent voice across video segments, and finish videos with captions or higher resolution.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Create a product ad with a talking avatar
  • Build a multi-segment explainer with a consistent voice
  • Edit product images using multiple references
anthropics/claude-plugins-community4.7천2026년 10월 21일 업데이트

Audit Playwright automated test code using context from TestDino. The skill guides a review that produces a local Markdown report, submits findings with a score, and lets you retrieve previously submitted audits.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Requesting a TestDino audit of Playwright tests
  • Saving test audit findings in Markdown
  • Submitting a scored audit report
anthropics/claude-plugins-community4.7천2026년 10월 21일 업데이트

Check the TestDino connection and personal access token, then discover accessible organizations, projects, and available modules. Use the results to identify the correct projectId before starting project-specific work.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Check the TestDino connection
  • Validate a personal access token
  • Find accessible organizations and projects
anthropics/claude-plugins-community4.7천2026년 10월 21일 업데이트

Manage manual test runs in TestDino, from finding or creating a run for a release to inspecting its cases and summary statistics. Assign individual cases and update results or elapsed time using recognizable run and case IDs.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Finding manual test runs for a release
  • Creating a test run for a sprint
  • Inspecting cases and summary statistics
anthropics/claude-plugins-community4.7천2026년 10월 21일 업데이트

anthropics의 스킬 모두 보기

이 스킬의 문제 신고