This tool imports retirement account data from CSV files and aggregates ticker holdings into a central DataHub.

Install

mkdir -p .claude/skills/retirement-syncing && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4019" && unzip -o skill.zip -d .claude/skills/retirement-syncing && rm skill.zip

Installs to .claude/skills/retirement-syncing

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Sync retirement account data from Vanguard and Fidelity CSV exports to Google Sheets DataHub. Handles multiple accounts, aggregates holdings by ticker, and updates quantities in retirement section (rows 46-62). Triggers on sync retirement, update retirement, vanguard sync, 401k update, IRA sync, or working with notebooks/retirement-accounts/ files.
350 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Beginner

Key capabilities

  • Read Vanguard and Fidelity CSV exports
  • Aggregate holdings by ticker symbol
  • Update quantity values in Google Sheets
  • Validate data changes against thresholds

How it works

The skill parses specific CSV formats, sums share quantities for matching tickers across multiple accounts, and performs batch updates to the DataHub retirement section.

Inputs & outputs

You give it
CSV files from Vanguard or Fidelity
You get back
Updated quantity cells in Google Sheets

When to use retirement-syncing

  • Update retirement account balances
  • Sync Vanguard OFX downloads to sheets
  • Import Fidelity 401k positions

About this skill

Retirement Account Syncing

Data source: CSV-only (no live path yet)

Unlike the other syncing skills, retirement accounts do not use the sync-first + DB-read pattern. The Vanguard IRAs / brokerage and the Fidelity 401(k) are not authorized in SnapTrade (only the one taxable-margin Fidelity account is routed in config/snaptrade-accounts.yaml). So there is no live API snapshot to refresh into family_office.db for these accounts, and CSV exports remain the only source. This is a deliberate, documented exception to the shared Sync-First + DB-Read pattern.

Prerequisite for a live path (before this skill can become DB-backed):

  1. Authorize the Vanguard and Fidelity retirement institutions in SnapTrade.
  2. Add each resulting account to config/snaptrade-accounts.yaml with a role set and enabled: true.
  3. Extend the positions sync (or a retirement-specific sync) to write those accounts into the DB, then rewrite this skill to Step 0 refresh + DB-read.

Until all three are done, do not fabricate a live path: use the CSV workflow below.

Purpose

Parse Vanguard and Fidelity retirement account CSV exports and report current holdings and quantities.

⚠️ This skill currently has no persistent destination. The Google Sheets DataHub it used to write to was retired 2026-07-31, and family_office.db has no retirement table because these accounts are not in SnapTrade. Until the three prerequisites above are met, this skill parses and reports only. Do not claim holdings were "synced" anywhere.

When to Use

Use this skill when:

  • Syncing retirement account positions from notebooks/retirement-accounts/
  • User mentions: "sync retirement", "update retirement", "vanguard sync", "401k update", "IRA sync"
  • Working with files in notebooks/retirement-accounts/ directory

Source Files

Location: notebooks/retirement-accounts/

FileSourceContents
OfxDownload.csvVanguard IRAsAccount <ira-1> & <ira-2> holdings
OfxDownload (1).csvVanguard BrokerageAccount <brokerage-1> & <brokerage-2> holdings
Portfolio_Positions_*.csvFidelity 401(k){employer_name} 401(k) Plan holdings

CSV Formats

Vanguard OFX Format (OfxDownload.csv)

Account Number,Investment Name,Symbol,Shares,Share Price,Total Value,
<account-number>,VANGUARD S&P 500 INDEX ETF,VOO,18.1817,629.3,11441.74,

Key Fields:

  • Column 3: Symbol
  • Column 4: Shares (quantity)

Fidelity 401k Format (Portfolio_Positions_*.csv)

Account Number,Account Name,Symbol,Description,Quantity,Last Price,...
86689,{employer_name} 401(K) PLAN,FGCKX,FID GROWTH CO K,4.447,$50.04,...

Key Fields:

  • Column 3: Symbol
  • Column 5: Quantity

Known retirement tickers

Holdings seen across the Vanguard IRAs, Vanguard brokerage, and Fidelity 401(k): VOO, VUG, VTSAX, SCHG, PLTR, NVDA, TSLA, VB, ARKK, VMFXX, FGCKX, FXAIX.

Mary's Goucher 403(b) and Principal 401(k) allocations are tracked separately in fin-guru/data/user-profile.yaml and the strategy docs, not through this skill.

Core Workflow

1. Read All CSV Files

# Read Vanguard files
vanguard_1 = read_csv("notebooks/retirement-accounts/OfxDownload.csv")
vanguard_2 = read_csv("notebooks/retirement-accounts/OfxDownload (1).csv")

# Read latest Fidelity file (by date in filename)
fidelity = read_csv("notebooks/retirement-accounts/Portfolio_Positions_*.csv")

2. Aggregate Holdings by Ticker

Since the same ticker can appear in multiple accounts, SUM all quantities:

holdings = {}
for file in [vanguard_1, vanguard_2, fidelity]:
    for row in file:
        ticker = row['Symbol']
        shares = float(row['Shares'] or row['Quantity'])
        holdings[ticker] = holdings.get(ticker, 0) + shares

Expected Aggregations:

  • VOO: Sum across accounts (IRA + Brokerage)
  • VUG: Sum across accounts
  • PLTR: Sum across accounts (<brokerage-1> + <brokerage-2>)
  • SCHG: Sum across accounts
  • VMFXX: Sum across accounts (all money market)
  • VTSAX: Sum across accounts

3. Report the aggregated holdings

Present ticker and total quantity as a table in the response. There is no destination to write to, so the report IS the deliverable.

Safety Checks

Before reporting:

  • Verify all 3 CSV files exist in notebooks/retirement-accounts/
  • Note the export date of each CSV; flag anything older than 30 days
  • Call out any ticker not previously seen in the known-tickers list

Large Change Warning (>20%): if any quantity moved more than 20% since the last reported figures, show the diff and confirm with the user before treating the numbers as accurate.

Post-Update Validation

Verify:

  • All quantities updated correctly
  • Formulas in columns C+ still working
  • Total retirement value approximately matches sum of CSV totals
  • No formula errors introduced

Log Summary:

Updated 12 retirement positions:
- VOO: 214.7947 shares
- VUG: 13.0652 shares
- VTSAX: 228.462 shares
...
Total Retirement Value: ~$387,806

Critical Rules

WRITABLE Column

  • Column B: Quantity ONLY

DO NOT TOUCH

  • Column A: Tickers (pre-set)
  • Columns C-S: All formulas

Row Mapping

Retirement section starts at row 46 (after header at row 45). Rows 46-62 are reserved for retirement holdings.

Trigger Keywords

  • "sync retirement"
  • "update retirement"
  • "retirement accounts"
  • "vanguard sync"
  • "401k update"
  • "IRA sync"
  • "retirement quantities"

Educational purposes only. Not investment advice. Retirement holdings reported here are parsed from broker CSV exports and are only as current as the export; verify against your plan provider before acting. Consult licensed financial and tax professionals.

Skill Type: Domain (workflow guidance) Enforcement: SUGGEST Priority: Medium

When not to use it

  • Updating ticker symbols or descriptions
  • Modifying spreadsheet formulas

Prerequisites

CSV files in notebooks/retirement-accounts/Spreadsheet ID from user-profile.yaml

Limitations

  • Only updates Column B (Quantity)
  • Requires specific file naming and location
  • Triggers warning for changes > 20%

How it compares

It automates the aggregation and sync process, whereas manual entry is prone to calculation errors and requires repetitive updates.

Compared to similar skills

retirement-syncing side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
retirement-syncing (this skill)16moNo flagsBeginner
portfoliosyncing35moNo flagsIntermediate
transactionsyncing15moNo flagsIntermediate
xlsx876moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by AojdevStudio

View all by AojdevStudio

financereport

AojdevStudio

Generate institutional-quality PDF analysis reports for stocks and ETFs. USE WHEN user mentions generate report, create pdf, stock analysis, ticker report, watchlist analysis, OR regenerate reports. Includes VGT-style headers, embedded charts, portfolio sizing, and Perplexity sentiment integration.

636

portfoliosyncing

AojdevStudio

Import and sync broker CSV portfolio data to Google Sheets DataHub. Supports multiple brokers (Fidelity, Schwab, Vanguard, etc.). USE WHEN user mentions import broker data OR sync portfolio OR update positions OR CSV import OR portfolio-sync OR working with Portfolio_Positions CSVs. Handles position updates, SPAXX/margin validation, safety checks, and formula protection.

333

formula-protection

AojdevStudio

Prevent accidental modification of sacred spreadsheet formulas in Google Sheets Portfolio Tracker. Blocks edits to GOOGLEFINANCE formulas, calculated columns, and total rows. Allows only IFERROR wrappers, fixing broken references, and expanding ranges. Triggers on update formula, modify column, fix errors, or any attempt to edit formula-based cells.

14

margin-management

AojdevStudio

Update Margin Dashboard with Fidelity balance data and calculate margin-living strategy metrics. Monitors margin balance, interest costs, coverage ratios, and scaling thresholds. Triggers safety alerts for large draws and provides time-based scaling recommendations. Use when updating margin, balances, coverage ratio, or margin strategy analysis.

17

montecarlo

AojdevStudio

Run Monte Carlo simulations for Finance Guru portfolio strategy. USE WHEN user mentions monte carlo OR run simulation OR stress test portfolio OR probability analysis OR income projections OR margin safety analysis. Supports 4-layer portfolio (Growth, Income, Hedge, GOOGL) with auto-detection of current values from Fidelity CSV.

15

transactionsyncing

AojdevStudio

Import Fidelity transaction history CSV into Google Sheets with smart categorization. USE WHEN user mentions "sync transactions", "import transactions", "transaction history", OR wants to import Fidelity History CSV. Routes debit card purchases to Expense Tracker with auto-categorization.

110

You might also like

portfoliosyncing

AojdevStudio

Import and sync broker CSV portfolio data to Google Sheets DataHub. Supports multiple brokers (Fidelity, Schwab, Vanguard, etc.). USE WHEN user mentions import broker data OR sync portfolio OR update positions OR CSV import OR portfolio-sync OR working with Portfolio_Positions CSVs. Handles position updates, SPAXX/margin validation, safety checks, and formula protection.

333

transactionsyncing

AojdevStudio

Import Fidelity transaction history CSV into Google Sheets with smart categorization. USE WHEN user mentions "sync transactions", "import transactions", "transaction history", OR wants to import Fidelity History CSV. Routes debit card purchases to Expense Tracker with auto-categorization.

110

xlsx

anthropics

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

87191

analyzing-financial-statements

anthropics

This skill calculates key financial ratios and metrics from financial statement data for investment analysis

32134

financial-document-parser

OneWave-AI

Extract and analyze data from invoices, receipts, bank statements, and financial documents. Categorize expenses, track recurring charges, and generate expense reports. Use when user provides financial PDFs or images.

20139

csv-data-summarizer

coffeefuelbump

Analyzes CSV files, generates summary stats, and plots quick visualizations using Python and pandas.

15107

Search skills

Search the agent skills registry