tres-upload-tx-header-validation
About tres-upload-tx-header-validation
A skill for validating TRES CSV upload headers, intended for users preparing transaction data files. It specifies the required display names and order to prevent programmatic field names from being used as headers.
Key features
- 01Specify exact required header names and order
- 02Explain the optional Fiat Value column
- 03Distinguish display names from snake_case keys
Use cases
- 01Check a CSV header row before upload
- 02Fix upload failures caused by incorrect header names
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ anthropics/ claude-plugins-community --skill tres-upload-tx-header-validationAfter installing, type/tres-upload-tx-header-validationin Claude Code to confirm it loaded.
Details
From the project READMETRES CSV header naming convention
TRES validates the CSV header row against human-readable display names (with spaces and title case), NOT snake_case keys. Using the wrong names fails the upload with:
Missing required column(s): Year, Month, Day, Time, Organizational Wallet, Participating Wallet, Network, Direction, Financial Action, Asset Identifier, Amount, Fiat Currency, Transaction Hash, Transfer ID, Function Name, Method ID
The required header row (exact, in order)
Year,Month,Day,Time,Organizational Wallet,Participating Wallet,Network,Direction,Financial Action,Asset Identifier,Amount,Fiat Value,Fiat Currency,Transaction Hash,Transfer ID,Function Name,Method ID
Rules
- Use these names verbatim — exact spelling, spacing, and title case. They are the display names, not field keys.
- Keep the order above (columns A→Q).
Fiat Value(column L) is the one optional column — it does not appear in the "missing required column(s)" error, but include it in the header so the template stays aligned; its cells may be left blank.- All other 16 columns are required in the header row even if a given cell is empty.
Common mistake this prevents
Writing programmatic/snake_case headers like year,month,day,time,wallet_address,third_party,network,direction,type,asset_identifier,amount,fiat_value,fiat_currency,hash,transfer_id,function_name,method_id. These are rejected — TRES wants the display names above (e.g. Organizational Wallet not wallet_address, Participating Wallet not third_party, Financial Action not type, Transaction Hash not hash).