Claude-skill-registry import

CSV and OFX transaction import parsing. Use when working on files in src/lib/import/.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/import" ~/.claude/skills/majiayu000-claude-skill-registry-import && rm -rf "$T"
manifest: skills/data/import/SKILL.md
source content

Import Guidelines

Flow

File Drop → Parse (CSV/OFX) → Column Mapping → Formatting → Preview → Import

Money Handling

All amounts stored as integers in minor units:

import { toMinorUnitsForCurrency } from "@/lib/domain/currency";

toMinorUnitsForCurrency(12.34, "USD"); // 1234 (cents)
toMinorUnitsForCurrency(1234, "JPY");  // 1234 (0 decimals)
toMinorUnitsForCurrency(1.234, "KWD"); // 1234 (3 decimals)

Currency resolution order: OFX CURDEF → Account → User default → Vault default → USD

CSV Parser

Auto-detects: separator, headers, date/number formats.

Duplicate Detection

Uses Levenshtein distance: date window ±3 days, amount tolerance 1 cent, description 80% similarity.

Critical Rules

  • Never trust user input - validate all parsed data
  • Handle encoding: UTF-8, Latin-1, Windows-1252
  • Preserve
    originalRow
    for debugging
  • Handle negative formats like
    (123.45)
  • Return structured errors, don't throw

Testing

Test with real bank exports covering different date formats (US/EU/ISO), number formats, edge cases, large files.