Skip to content
Finance
Skill

/etf-analysis

ETF / index-fund due diligence — expense ratio vs. category, tracking difference, liquidity, holdings concentration and tilt, overlap with your other positions, distribution and capital-gains history, structure warnings, and an ETF-vs-top-holdings comparison, scored as an ETF

BOOST
From plugin
investskill
25034 skills
Install
$ npx -y skills add yennanliu/investskill --skill etf-analysis --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/etf-analysis

Context preview

The summary Claude sees to decide when to auto-load this skill.

ETF / index-fund due diligence — expense ratio vs. category, tracking difference, liquidity, holdings concentration and tilt, overlap with your other positions, distribution and capital-gains history, structure warnings, and an ETF-vs-top-holdings comparison, scored as an ETF

SKILL.md

etf-analysis.SKILL.md
description: ETF / index-fund due diligence — expense ratio vs. category, tracking difference, liquidity, holdings concentration and tilt, overlap with your other positions, distribution and capital-gains history, structure warnings, and an ETF-vs-top-holdings comparison, scored as an ETF Fitness Score 0–10

ETF Analysis — What You Actually Own, and What It Costs You

⚠️ Data Verification — Do This Before Any Analysis

Before running any analysis, always retrieve the latest fund data for the ticker:

1. **Fetch current price and NAV** — use web search or ask the user for the live price, the fund's net asset value, and the premium/discount to NAV. Never assume a price from training data. 2. **Confirm the fund facts from the issuer** — expense ratio, index tracked, AUM, inception date, holdings count, top-10 weights, and distribution history come from the issuer's factsheet and prospectus, not from memory. Fund facts change: expense ratios get cut, indexes get swapped, funds get merged or closed. 3. **State your data source** — fill in the `Data & Sources` header (next section) so the origin, as-of date, retrieval path, and confidence of every figure are explicit at the top of the output. 4. **Flag stale data explicitly** — if live data is unavailable, display this warning before proceeding:

> ⚠️ **Live data unavailable.** The following analysis uses training-data estimates which may be significantly out of date. Verify all prices and metrics before making any decisions.

Never silently substitute training-data estimates for current fund facts. When in doubt, ask the user to paste the factsheet.

---

📋 Data & Sources Header — Open Every Output With It

The first thing in the output is this provenance block, filled in — never left as placeholders. It is the standard documented on the [Data & Accuracy](https://yennanliu.github.io/InvestSkill/data-and-accuracy.html) page and the first thing `result-validator` looks for:

Data & Sources
  As of:      <date the figures represent, e.g. 2026-06-30>
  Source:     <primary docs — SEC EDGAR 10-K/10-Q, company IR, FRED, exchange data …>
  Retrieval:  <pasted by user | web/tool retrieval | model memory>
  Confidence: <HIGH | MEDIUM | LOW>
  • `Retrieval: model memory` must be paired with `Confidence: LOW` — memory is a placeholder until confirmed against a primary source.
  • Mixed sources: list each with its own as-of date rather than blending them.
  • Sources disagree on the same figure (a closing price, a deal term): prefer the primary source (SEC filing, company release, exchange data) over an aggregator, then the most recent dated one. Show both values with their sources and dates, say which you used and why, and never average them.
  • Data the user pasted is reported as `pasted by user`; do not upgrade its confidence beyond what the user's own source supports.

---

Overview

Most portfolios are built on an ETF core, yet every other framework in this catalog evaluates a single company. Nobody asks the questions that decide whether an ETF is a good *vehicle*: what does it cost to hold, does it deliver the index it promises, can you get out of it, what is actually inside it, and how much of it do you already own through other positions?

**This skill is due diligence on the wrapper, not a market call.** It does not predict whether US large caps will outperform; `sector-analysis` and `economics-analysis` do that. It answers: *given that you want this exposure, is this fund a fit way to get it — and is it a fit for the portfolio you already have?* The output is an **ETF Fitness Score (0–10)** built from cost, tracking, liquidity, what-you-own, overlap, distributions, and structure, plus a direct comparison against two or three peers and against simply buying the top five holdings.

**Where it sits.** `stock-screener` ranks stocks; `portfolio-review` judges the whole portfolio; `sector-analysis` picks where to be. This skill sits between them: it vets the fund that would carry the exposure, then hands the result to `portfolio-review` (does it fit the allocation?), `risk-stress-test` (what does it do in a drawdown?), and `tax-lens` (what does the wrapper cost after tax?).

---

1. Inputs

| Input | Required | Default if unstated | |-------|----------|---------------------| | ETF ticker(s) — one fund, or several to compare | ✅ | — | | The exposure the user *thinks* they are buying ("US large cap", "global ex-US", "dividend growth") | recommended | infer from the fund name and index, and say so | | Current holdings with weights (tickers, other funds) | optional — required for the overlap section | overlap reported as "not assessed" and its 15% weight redistributed (Phase 9) | | Intended purchase size (as % of the post-purchase portfolio) | optional — required for post-purchase exposure | 10% of the portfolio, stated | | Account type (taxable / IRA / non-US) | optional | taxable US assumed; state it | | Holding horizon | optional | 5+ years |

**Overlap and tilt need holdings data.** Top-10 weights are on every factsheet; the full holdings file (issuer CSV) is needed for an exact overlap or factor tilt. If the user has not pasted it, compute from the top 10 only, label the result as a lower bound, and say what file would sharpen it.

---

2. Framework

Phase 1 — Fund card

Establish the facts before any judgment:

| Field | Why it matters | |-------|----------------| | Issuer, ticker, inception date | Funds under 3 years old have no full-cycle record; funds under $100M AUM have closure risk | | Index tracked (or "active") | The index *is* the strategy — read its methodology: cap-weighted? screened? rebalanced when? | | Expense ratio (net, after waivers) and waiver expiry | A fee waiver that expires is a fee increase with a date | | Structure: physical replication / sampling / synthetic (swap) / ETN / grantor trust / commodity pool | Determines counterparty risk, tax form, and whether "holdings" means anything | | Legal

Read more
Ships withinvestskill

Professional investment analysis frameworks for US stocks — works on every AI platform

Get the whole plugin

Other skills on investskill.