Install
$ agentstack add skill-kezsmeister-claude-finance-skills-annual-dividend ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →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).
- Parse
$0by splitting on commas and trimming whitespace to get a list of tickers. - 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
$0replaced by its single ticker - Be of type
general-purpose - Work independently to extract data and build the tables
- If there is only one ticker, present the subagent's Table 2 (YoY growth rates) directly; skip Table 1 (raw data).
- 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
- List pages and select an existing Yahoo Finance page (or any available page).
- Navigate to
https://finance.yahoo.com/quote/$0/financials/ - Wait for the page to load.
- Click the Dividends tab in the financials sub-navigation.
Step 2: Ensure Annual View is Selected
- Take a snapshot of the page.
- 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:
() => {
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 datesrows: 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
- Skip the first header ("Breakdown") and first value (the row label).
- Skip the TTM column (second header / second value) if present.
- Use the "Dividends Per Share" row as the primary data. If not available, look for a similarly named row (e.g., "Dividend Per Share").
- Pair each remaining header (date string like
"12/31/2024") with its corresponding dividend value. - Parse each date to extract the fiscal year-end date and the year.
- Filter to the past 10 fiscal years only. If the current year is incomplete or shows "--", still include it and mark as "N/A".
- Dividend values of
"--"should be treated as missing/N/A (the company may not have paid a dividend that year). - 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
- Source: kezsmeister/claude-finance-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.