dividend-tracking

2
0
Source

Sync dividend data from Fidelity CSV to Dividends sheet. Reads dividend.csv from notebooks/updates/, calculates actual dividends received (shares × amount per share), writes to input area (rows 2-46), then clicks Add Dividend button to process. Triggers on sync dividends, update dividends, dividend tracker, layer 2 income, or monthly dividend analysis.

Install

mkdir -p .claude/skills/dividend-tracking && curl -L -o skill.zip "https://mcp.directory/api/skills/download/9286" && unzip -o skill.zip -d .claude/skills/dividend-tracking && rm skill.zip

Installs to .claude/skills/dividend-tracking

About this skill

Dividend Tracking

Purpose

Import Fidelity dividend CSV data into the Dividends sheet input area, then trigger the Apps Script to process records into the historical log.

Workflow Routing

When executing this workflow, output this notification:

Running the **SyncDividends** workflow from the **dividend-tracking** skill...
WorkflowTriggerAction
SyncDividends"sync dividends", "update dividends", "dividend tracker"CSV → Input Area → Click Button

Dividends Sheet Architecture

The Dividends tab has TWO SECTIONS:

Left Side: INPUT AREA (Columns A-D, Rows 2-43)

This is where YOU write dividend records.

ColumnFieldSource
ATicketCSV Symbol
BDividends ReceivedCalculated: Quantity × Amount per share
CDateCSV Pay date (MM/DD/YYYY format)
DDRIPTRUE/FALSE

RULES:

  • ✅ Write to rows 2-43 ONLY (row 1 is header)
  • ✅ Maximum 42 records per batch
  • ❌ NEVER write past row 43
  • After writing, click "Add Dividend" button to process

Right Side: HISTORICAL LOG (Columns G-U, Rows 4+)

This is populated by the Apps Script - DO NOT WRITE HERE.

ColumnField
GFund Name
HTicker
I-TMonthly amounts (JAN-DEC)
UTotal

The Apps Script reads from the input area (A-D) and appends to the historical log (G onwards).

Core Workflow

1. Read Dividend CSV

File Location: notebooks/updates/dividend.csv

Key CSV Columns:

CSV ColumnUse
Symbol→ Column A (Ticket)
QuantityUsed to calculate dividend received
Amount per shareUsed to calculate dividend received
Pay date→ Column C (Date) - format as MM/DD/YYYY
TypeMargin/Cash (for aggregation)

2. Calculate Dividends Received

Dividends Received = Quantity × Amount per share

Aggregation Rules:

  • Sum quantities for same ticker (Margin + Cash accounts)
  • Use single row per ticker
  • Skip rows with -- in Amount per share (non-dividend payers)
  • Only include pay dates that have PASSED (already received)

3. Check Input Area Status

Read current input area:

mcp__gdrive__sheets(
    operation: "readSheet",
    params: {
        spreadsheetId: "{spreadsheet_id}",
        range: "Dividends!A2:D43"
    }
)

Determine:

  • First empty row (where to start writing)
  • Available slots (max 45 - current entries)
  • If full, STOP and alert user to click button first

4. Write to Input Area

Write starting at first empty row:

mcp__gdrive__sheets(
    operation: "updateCells",
    params: {
        spreadsheetId: "{spreadsheet_id}",
        range: "Dividends!A2:D13",  // Adjust range based on record count
        values: [
            ["JEPI", "$51.63", "01/05/2026", "TRUE"],
            ["JEPQ", "$78.62", "01/05/2026", "TRUE"],
            // ... more records
        ]
    }
)

5. Click "Add Dividend" Button (Browser Automation)

After writing records, use browser automation to process them:

// 1. Open Google Sheets
mcp__claude-in-chrome__tabs_create_mcp({
    url: "https://docs.google.com/spreadsheets/d/{spreadsheet_id}/edit#gid=2068577140"
})

// 2. Wait for sheet to load
// 3. Look for "Add Dividend" button or custom menu
// 4. Click to trigger Apps Script

Alternative: Use Apps Script Menu

  • Extensions → Apps Script macros
  • Or custom menu added by the script

6. Verify Processing

After clicking button:

  • Input area (A2:D43) should be cleared
  • Historical log should have new entries
  • Monthly totals should update

Data Flow Diagram

┌─────────────────────────────────┐
│  dividend.csv (Fidelity export) │
│  - Symbol, Quantity             │
│  - Amount per share, Pay date   │
└──────────────┬──────────────────┘
               │
               ▼
┌─────────────────────────────────┐
│  Calculate Dividends Received   │
│  Qty × Amount = Total Dividend  │
│  Aggregate by ticker            │
│  Filter: only PAST pay dates    │
└──────────────┬──────────────────┘
               │
               ▼
┌─────────────────────────────────┐
│  INPUT AREA (A2:D43)            │
│  Write calculated dividends     │
│  Max 42 records per batch       │
└──────────────┬──────────────────┘
               │
               ▼
┌─────────────────────────────────┐
│  CLICK "Add Dividend" BUTTON    │
│  (Browser automation or manual) │
└──────────────┬──────────────────┘
               │
               ▼
┌─────────────────────────────────┐
│  HISTORICAL LOG (G4+)           │
│  Apps Script processes input    │
│  Appends to monthly columns     │
└─────────────────────────────────┘

Apps Script Integration

The Dividends sheet has Apps Script automation that:

  • Reads records from input area (A2:D43)
  • Parses ticker, amount, date, DRIP status
  • Appends to historical log with proper date formatting
  • Updates monthly income columns (I-T)
  • Clears input area after processing

Script Location: scripts/google-sheets/portfolio-optimizer/Dividend.js

Custom Menu: "Portfolio Optimizer" → (dividend-related options)

Critical Rules

WRITABLE Area

  • ✅ Columns A-D, Rows 2-43 (input area)
  • ✅ Maximum 42 records per batch
  • ✅ Must click "Add Dividend" button after writing

DO NOT MODIFY

  • ❌ Row 1 (header)
  • ❌ Rows 44+ in columns A-D
  • ❌ Columns G-U (historical log - Apps Script managed)
  • ❌ Any formulas

Date Format

  • Use MM/DD/YYYY (e.g., "01/05/2026")
  • Match existing entries in the sheet

DRIP Status

  • TRUE = dividend was reinvested (shares increased)
  • FALSE = dividend paid as cash
  • Default TRUE for accumulation phase

Pre-Flight Checklist

Before syncing dividends:

  • dividend.csv exists in notebooks/updates/
  • CSV is recent (check "Date downloaded" at bottom)
  • Input area (A2:D43) has available slots
  • If input area has data, click button first to clear it
  • Browser automation available for button click

Example Scenario

User: "sync dividends"

Agent workflow:

  1. ✅ Read CSV - found 40 rows
  2. ✅ Filter - 12 tickers with dividend data for past pay dates
  3. ✅ Aggregate - combined Margin/Cash positions
  4. ✅ Calculate - total dividends: $786.86
  5. ✅ Check input area - rows 2-43 empty, 42 slots available
  6. ✅ Write records - added 12 rows to A2:D13
  7. ✅ Open browser - navigate to Dividends sheet
  8. ✅ Click button - trigger "Add Dividend" Apps Script
  9. ✅ Verify - input area cleared, historical log updated
  10. ✅ LOG: "Synced 12 dividend records totaling $786.86"

Google Sheets Integration

Spreadsheet ID: {spreadsheet_id} Dividends Sheet ID: 2068577140 Direct URL: https://docs.google.com/spreadsheets/d/{spreadsheet_id}/edit#gid=2068577140

Reference Files

  • Dividend CSV: notebooks/updates/dividend.csv
  • Apps Script: scripts/google-sheets/portfolio-optimizer/Dividend.js
  • Spreadsheet: Finance Guru Portfolio Tracker (Dividends tab)

Skill Type: Domain (workflow guidance) Enforcement: SUGGEST (high priority advisory) Priority: High

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.

363

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.

302

retirement-syncing

AojdevStudio

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.

51

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.

21

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.

61

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.

21

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

1,4071,302

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

1,2201,024

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

9001,013

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

958658

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

970608

pdf-to-markdown

aliceisjustplaying

Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.

1,033496

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.