# Annual Dividend

> Extract annual Dividends Per Share for one or more public company tickers (comma-separated) by browsing Yahoo Finance in Chrome. Produces two markdown tables per ticker - (1) raw annual dividends for the past 10 years and (2) YoY growth rate. Use when the user wants annual dividend data, dividend history, payout trends, or dividend growth for a stock.

- **Type:** Skill
- **Install:** `agentstack add skill-kezsmeister-claude-finance-skills-annual-dividend`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [kezsmeister](https://agentstack.voostack.com/s/kezsmeister)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [kezsmeister](https://github.com/kezsmeister)
- **Source:** https://github.com/kezsmeister/claude-finance-skills/tree/main/skills/annual-dividend

## Install

```sh
agentstack add skill-kezsmeister-claude-finance-skills-annual-dividend
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Annual Dividend Table Builder

Extract and display annual Dividends Per Share for **$0** covering the past 10 fiscal years by browsing Yahoo Finance in Chrome.

## Multi-Ticker Support

The argument `$0` may contain multiple tickers separated by commas (e.g., `AAPL,MSFT,GOOG`).

1. Parse `$0` by splitting on commas and trimming whitespace to get a list of tickers.
2. **Always** use the **Task tool** to launch one subagent per ticker **in parallel** (all Task calls in a single message). Each subagent should:
   - Receive the full instructions from Step 1 onward, with `$0` replaced by its single ticker
   - Be of type `general-purpose`
   - Work independently to extract data and build the tables
3. **If there is only one ticker**, present the subagent's Table 2 (YoY growth rates) directly; skip Table 1 (raw data).
4. **If there are multiple tickers**, combine all results into a **single summary table** with fiscal years as rows and paired columns per ticker (value + YoY):

| FY | TICKER1 | YoY | TICKER2 | YoY |
|----|---------|-----|---------|-----|
| 2025 | $X.XX | +X.X% | $X.XX | +X.X% |
| 2024 | $X.XX | -X.X% | $X.XX | +X.X% |
| ... | ... | ... | ... | ... |
| 2016 | $X.XX | – | $X.XX | – |

Replace TICKER1, TICKER2, etc. with actual ticker symbols. Use `–` for the earliest year's YoY (no prior year data). Do not present separate tables per ticker.

## Step 1: Navigate to Yahoo Finance Dividends Page

1. List pages and select an existing Yahoo Finance page (or any available page).
2. Navigate to `https://finance.yahoo.com/quote/$0/financials/`
3. Wait for the page to load.
4. Click the **Dividends** tab in the financials sub-navigation.

## Step 2: Ensure Annual View is Selected

1. Take a snapshot of the page.
2. The default view should be "Annual". Verify by checking the snapshot. If the "Quarterly" tab is currently selected, save the snapshot to a file, use Grep to find the "Annual" tab element, and click it.

## Step 3: Extract Column Headers and Dividend Data

Use `evaluate_script` to extract the table headers and dividend rows in one call:

```javascript
() => {
  const rows = document.querySelectorAll('div.tableBody div.row');
  const result = { rows: {} };

  // Get column headers
  const headerRow = document.querySelector('div.tableHeader div.row');
  const headers = [];
  if (headerRow) {
    headerRow.querySelectorAll('div.column').forEach(col => {
      headers.push(col.textContent.trim());
    });
  }

  // Find all dividend-related rows
  rows.forEach(row => {
    const label = row.querySelector('div.column div.rowTitle');
    if (label) {
      const labelText = label.textContent.trim();
      const columns = row.querySelectorAll('div.column');
      const values = [];
      columns.forEach(col => {
        values.push(col.textContent.trim());
      });
      result.rows[labelText] = values;
    }
  });

  result.headers = headers;
  return result;
}
```

This returns:
- `headers`: Array starting with `["Breakdown", "TTM", "MM/DD/YYYY", ...]` — fiscal year-end dates
- `rows`: Object with row labels as keys (e.g., "Dividends Per Share", "Dividend Payout Ratio", etc.) and arrays of column values

## Step 4: Parse and Organize Data

1. **Skip** the first header ("Breakdown") and first value (the row label).
2. **Skip** the TTM column (second header / second value) if present.
3. Use the **"Dividends Per Share"** row as the primary data. If not available, look for a similarly named row (e.g., "Dividend Per Share").
4. Pair each remaining header (date string like `"12/31/2024"`) with its corresponding dividend value.
5. Parse each date to extract the **fiscal year-end date** and the **year**.
6. Filter to the **past 10 fiscal years** only. If the current year is incomplete or shows "--", still include it and mark as "N/A".
7. Dividend values of `"--"` should be treated as missing/N/A (the company may not have paid a dividend that year).
8. Dividend values are per-share amounts — display them as-is with appropriate decimal places. Use the currency symbol matching the stock's trading currency (e.g., $ for USD, ¥ for JPY, £ for GBP).

## Step 5: Build Table 1 — Annual Dividends Per Share

Present a markdown table with this format:

```
| Fiscal Year End | Dividend Per Share |
|-----------------|--------------------|
| 12/31/2024      | $X.XX              |
| 12/31/2023      | $X.XX              |
| ...             | ...                |
```

- Show the appropriate currency symbol on all values.
- Bold the year values.
- Order rows from most recent year at top to oldest at bottom.
- Show "N/A" for years with no dividend or missing data.

## Step 6: Build Table 2 — YoY Dividend Growth

Calculate YoY growth as: `(Current Year DPS - Prior Year DPS) / |Prior Year DPS| * 100`

Use the **absolute value** of Prior Year DPS in the denominator to handle edge cases.

Present a markdown table:

```
| Fiscal Year End | Dividend Per Share | YoY Growth |
|-----------------|--------------------|------------|
| 12/31/2024      | $X.XX              | +X.X%      |
| 12/31/2023      | $X.XX              | -X.X%      |
| ...             | ...                | ...        |
```

- Prefix positive values with `+`, negative values naturally show `-`.
- The earliest year in the table will have no prior year to compare, so show "N/A" for that growth cell.
- If either the current or prior year dividend is missing/zero, show "N/A" for that growth cell.

## Step 7: Add Notes

Below the tables, include a **Notes** section mentioning:
- That all dividend values are per-share amounts as reported per Yahoo Finance.
- The company's fiscal year-end date (e.g., "Fiscal year ends December 31" or "Fiscal year ends March 31").
- Whether the company has a consistent dividend history or if there are gaps (years with no dividend).
- Any notable spikes or drops and likely causes if obvious (e.g., special dividends, dividend initiation, dividend cuts, payout ratio changes).
- If Dividend Payout Ratio data is available in the extracted rows, mention the most recent payout ratio.
- The data source: Yahoo Finance $0 Financials (Dividends tab, Dividends Per Share).

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [kezsmeister](https://github.com/kezsmeister)
- **Source:** [kezsmeister/claude-finance-skills](https://github.com/kezsmeister/claude-finance-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-kezsmeister-claude-finance-skills-annual-dividend
- Seller: https://agentstack.voostack.com/s/kezsmeister
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
