@v587d/capital-generation 2.7.12 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +3 -2
  3. package/chart-ui/package.json +1 -1
  4. package/config/package.json +1 -1
  5. package/lib/agents/bash-guard.d.ts +22 -17
  6. package/lib/agents/bash-guard.js +32 -28
  7. package/lib/agents/root-tool-policy.d.ts +29 -3
  8. package/lib/agents/root-tool-policy.js +100 -14
  9. package/lib/index.js +14 -8
  10. package/lib/web-retriever/local-fetch.d.ts +1 -1
  11. package/lib/web-retriever/local-fetch.js +1 -1
  12. package/lib/web-retriever/wind-client.d.ts +1 -1
  13. package/lib/web-retriever/wind-client.js +1 -1
  14. package/package.json +1 -1
  15. package/preset/capital-generation/README.md +22 -15
  16. package/preset/capital-generation/agent.patch.yml +14 -1
  17. package/selected-skills/InvestSkill/UPSTREAM.md +17 -0
  18. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/SKILL.md +10 -296
  19. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/references/10-retrieving-the-filing.md +130 -0
  20. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/references/11-key-metrics-table.md +129 -0
  21. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/10k-digest/references/12-language-mode.md +60 -0
  22. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/bear-case/SKILL.md +5 -3
  23. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/SKILL.md +10 -284
  24. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/references/10-persona.md +113 -0
  25. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/references/11-section-c-company-specific.md +108 -0
  26. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/catalyst-calendar/references/12-section-f-90-day.md +85 -0
  27. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/SKILL.md +11 -433
  28. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/10-overview.md +82 -0
  29. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/11-porter-s-five-forces.md +137 -0
  30. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/12-innovation-disruption-assessment.md +112 -0
  31. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/competitor-analysis/references/13-input-formats.md +130 -0
  32. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/SKILL.md +12 -639
  33. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/10-analysis-framework.md +138 -0
  34. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/11-dividend-history-and-reliability.md +131 -0
  35. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/12-share-buyback-analysis.md +125 -0
  36. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/13-fcf-deployment-scorecard.md +133 -0
  37. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/dividend-analysis/references/14-output.md +149 -0
  38. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/SKILL.md +10 -411
  39. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/references/10-analysis-framework.md +194 -0
  40. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/references/11-data-sources.md +196 -0
  41. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-call-analysis/references/12-thesis-invalidation.md +43 -0
  42. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/SKILL.md +11 -234
  43. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/10-overview.md +86 -0
  44. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/11-phase-4-the-implied.md +60 -0
  45. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/12-output-format.md +83 -0
  46. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/earnings-preview/references/13-standard-signal-output.md +34 -0
  47. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/SKILL.md +10 -304
  48. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/references/10-key-economic-indicators.md +98 -0
  49. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/references/11-credit-market-indicators.md +114 -0
  50. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/economics-analysis/references/12-recession-probability-scoring.md +114 -0
  51. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/SKILL.md +11 -236
  52. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/10-overview.md +83 -0
  53. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/11-phase-5-overlap-with.md +69 -0
  54. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/12-output-format.md +79 -0
  55. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/etf-analysis/references/13-standard-signal-output.md +34 -0
  56. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/SKILL.md +11 -243
  57. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/10-overview.md +61 -0
  58. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/11-phase-2-source-hierarchy.md +54 -0
  59. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/12-phase-5-consistency.md +90 -0
  60. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/fact-check/references/13-notes.md +68 -0
  61. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/SKILL.md +11 -499
  62. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/10-overview.md +143 -0
  63. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/11-phase-3-financial-statement.md +167 -0
  64. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/12-phase-6-management-tone.md +176 -0
  65. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/financial-report-analyst/references/13-thesis-invalidation.md +43 -0
  66. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/SKILL.md +10 -291
  67. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/references/10-overview.md +117 -0
  68. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/references/11-step-3-position-locator.md +112 -0
  69. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/industry-map/references/12-visualization-support.md +84 -0
  70. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/SKILL.md +10 -457
  71. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/references/10-analysis-framework.md +185 -0
  72. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/references/11-pattern-recognition.md +175 -0
  73. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/insider-trading/references/12-interpretation-guidelines.md +120 -0
  74. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/SKILL.md +11 -503
  75. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/10-analysis-framework.md +132 -0
  76. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/11-ownership-concentration-analysis.md +166 -0
  77. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/12-red-flags-warning-signs.md +192 -0
  78. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/institutional-ownership/references/13-thesis-invalidation.md +43 -0
  79. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/SKILL.md +11 -264
  80. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/10-overview.md +63 -0
  81. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/11-phase-2-explanation-card.md +108 -0
  82. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/12-output-format.md +88 -0
  83. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/learning-coach/references/13-standard-signal-output.md +34 -0
  84. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/SKILL.md +11 -448
  85. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/10-analysis-framework.md +109 -0
  86. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/11-implied-volatility-iv-analysis.md +102 -0
  87. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/12-earnings-play-analysis.md +109 -0
  88. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/options-analysis/references/13-data-sources.md +159 -0
  89. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/SKILL.md +11 -435
  90. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/10-phase-1-portfolio-snapshot.md +124 -0
  91. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/11-phase-6-correlation-diversification.md +124 -0
  92. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/12-phase-9-rebalancing-decision.md +153 -0
  93. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/portfolio-review/references/13-data-verification.md +62 -0
  94. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/SKILL.md +11 -372
  95. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/10-overview.md +102 -0
  96. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/11-phase-3-the-trim.md +88 -0
  97. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/12-phase-6-the-thesis.md +105 -0
  98. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/position-ladder/references/13-input-formats.md +105 -0
  99. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/SKILL.md +10 -250
  100. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/references/10-overview.md +92 -0
  101. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/references/11-phase-4-correlation-spike.md +116 -0
  102. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/risk-stress-test/references/12-notes.md +65 -0
  103. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/SKILL.md +11 -381
  104. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/10-sector-overview.md +123 -0
  105. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/11-sector-correlation-matrix.md +90 -0
  106. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/12-peer-benchmarking-within-sector.md +92 -0
  107. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/sector-analysis/references/13-consumer-staples.md +105 -0
  108. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/SKILL.md +10 -352
  109. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/references/10-analysis-framework.md +110 -0
  110. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/references/11-bearish-thesis-evaluation.md +118 -0
  111. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/short-interest/references/12-data-sources.md +148 -0
  112. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/SKILL.md +16 -603
  113. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/10-analysis-components.md +122 -0
  114. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/11-dupont-decomposition.md +121 -0
  115. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/12-quality-scoring-framework.md +115 -0
  116. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/13-dcf-framework.md +113 -0
  117. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/14-analyst-consensus-tracking.md +127 -0
  118. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-eval/references/15-thesis-invalidation.md +43 -0
  119. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-screener/SKILL.md +5 -3
  120. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/SKILL.md +12 -595
  121. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/10-overview.md +133 -0
  122. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/11-method-2-comparable-company.md +127 -0
  123. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/12-football-field-summary-valuation.md +140 -0
  124. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/13-terminal-value-two-methods.md +121 -0
  125. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/stock-valuation/references/14-when-dcf-is.md +110 -0
  126. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/SKILL.md +12 -304
  127. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/10-overview.md +73 -0
  128. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/11-phase-3-dividends-qualified.md +67 -0
  129. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/12-framework-non-us-module.md +61 -0
  130. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/13-scoring-tax-efficiency-score.md +83 -0
  131. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/tax-lens/references/14-thesis-invalidation.md +55 -0
  132. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/SKILL.md +16 -612
  133. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/10-chart-pattern-analysis.md +172 -0
  134. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/11-chart-visualization-support.md +181 -0
  135. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/12-multi-timeframe-analysis-mtf.md +95 -0
  136. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/13-advanced-indicators-ichimoku-cloud.md +61 -0
  137. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/14-options-flow-integration.md +95 -0
  138. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/technical-analysis/references/15-thesis-invalidation.md +45 -0
  139. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/SKILL.md +10 -274
  140. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/references/10-overview.md +94 -0
  141. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/references/11-phase-5-the-pre.md +113 -0
  142. package/selected-skills/InvestSkill/plugins/us-stock-analysis/skills/thesis-tracker/references/12-example.md +90 -0
  143. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-catalyst-calendar/SKILL.md +5 -3
  144. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-idea-generation/SKILL.md +5 -3
  145. package/selected-skills/claude-for-financial-services-cn/vertical-plugins/china-finance/skills/china-sector-overview/SKILL.md +5 -3
  146. package/selected-skills/investment-skills/skills/buffett-investment-framework/SKILL.md +1 -1
  147. package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/SKILL.md +5 -3
  148. package/watchlist/package.json +1 -1
@@ -0,0 +1,114 @@
1
+ # Recession Probability Scoring
2
+
3
+ Part 3 of 3 for `economics-analysis` — Recession Probability Scoring; Output; Standard Signal Output; Thesis Invalidation
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Recession Probability Scoring
7
+
8
+ ### New York Fed Recession Model
9
+
10
+ Based on the 3M10Y yield curve spread, the NY Fed publishes a monthly recession probability for the next 12 months.
11
+
12
+ | Probability Range | Interpretation |
13
+ |-------------------|-----------------------------------------------|
14
+ | 0–10% | Expansion — very low recession risk |
15
+ | 10–25% | Low risk — monitor indicators |
16
+ | 25–50% | Elevated — caution warranted |
17
+ | 50–75% | High risk — recession likely within 12 months |
18
+ | > 75% | Near-certain — defensive positioning required |
19
+
20
+ **Current NY Fed reading**: ____%
21
+
22
+ ### Conference Board Leading Economic Index (LEI)
23
+
24
+ The LEI composite combines 10 leading indicators across financial markets, labor, manufacturing, and consumer expectations.
25
+
26
+ - **Consecutive monthly declines (3+)**: Strong recession warning
27
+ - **Year-over-year decline > 4%**: Historically aligned with recessions
28
+ - **LEI component breakdown**: Manufacturing hours, building permits, consumer expectations, credit spread, yield curve, stock prices, initial jobless claims
29
+
30
+ **Current LEI trend**: Rising / Flat / Declining
31
+
32
+ ### Sahm Rule
33
+
34
+ **Sahm Rule Indicator** = Current 3-month average unemployment rate minus the minimum of the 3-month average unemployment rate over the prior 12 months.
35
+
36
+ - **Threshold: ≥ 0.5 percentage points** = Real-time recession signal with high historical accuracy
37
+ - Triggered in every US recession since 1970
38
+ - Works in real-time without revision lag that affects other indicators
39
+
40
+ **Current Sahm Indicator reading**: ____
41
+
42
+ ### Custom Composite Recession Probability
43
+
44
+ Scoring model combining: Yield curve signal + LEI trend + Sahm Rule + Credit spreads + PMI momentum
45
+
46
+ | Zone | Score Range | Interpretation |
47
+ |----------------|--------------|-------------------------------------------------------|
48
+ | Expansion | 0–25% | Risk-on appropriate; cyclicals, growth outperform |
49
+ | Caution | 25–50% | Balanced positioning; reduce cyclical overweights |
50
+ | High Risk | 50–75% | Defensive rotation; increase quality, reduce leverage |
51
+ | Near-Certain | 75–100% | Full defensive posture; cash, defensives, short vol |
52
+
53
+ **Historical recession episodes and leading indicators:**
54
+
55
+ | Recession | Yield Curve Inversion | LEI Decline | Sahm Trigger | S&P 500 Peak-to-Trough |
56
+ |---------------|-----------------------|-------------|--------------|------------------------|
57
+ | 2001 (Dot-com) | 2000 | Yes | Yes | −49% |
58
+ | 2008 (GFC) | 2006–2007 | Yes | Yes | −57% |
59
+ | 2020 (COVID) | 2019 | Yes | Yes | −34% |
60
+ | 2022–2023 | 2022–2023 | Yes | No (so far) | −25% (bear market) |
61
+
62
+ ---
63
+
64
+ ## Output
65
+
66
+ Deliver concise economic assessment with:
67
+ - Current economic state summary
68
+ - Key risks and opportunities
69
+ - Sector and asset class implications
70
+ - Investment positioning recommendations
71
+
72
+ ## Standard Signal Output
73
+
74
+ All analysis concludes with this standardized block:
75
+
76
+ ```
77
+ ## Thesis Invalidation
78
+
79
+ After delivering the analysis signal, specify what would reverse it:
80
+
81
+ **If signal is BULLISH — thesis breaks if:**
82
+ - yield curve inverts >50bps AND leading indicators fall for 3 consecutive months
83
+ - [One or two more triggers drawn from this analysis's own drivers, each with a threshold]
84
+
85
+ **If signal is BEARISH — thesis breaks if:**
86
+ - yield curve normalizes AND PMI recovers above 52 for 2+ months
87
+ - [One or two more triggers drawn from this analysis's own drivers, each with a threshold]
88
+
89
+ **Re-run this analysis when:**
90
+ - [ ] Next earnings release
91
+ - [ ] Price moves ±15% from current level
92
+ - [ ] 60 days have elapsed
93
+ - [ ] Material news event (acquisition, leadership change, regulatory decision)
94
+
95
+ ╔══════════════════════════════════════════════╗
96
+ ║ INVESTMENT SIGNAL ║
97
+ ╠══════════════════════════════════════════════╣
98
+ ║ Signal: BULLISH / NEUTRAL / BEARISH ║
99
+ ║ Confidence: HIGH / MEDIUM / LOW ║
100
+ ║ Horizon: SHORT / MEDIUM / LONG-TERM ║
101
+ ║ Score: X.X / 10 ║
102
+ ╠══════════════════════════════════════════════╣
103
+ ║ Action: BUY / HOLD / SELL ║
104
+ ║ Conviction: STRONG / MODERATE / WEAK ║
105
+ ╚══════════════════════════════════════════════╝
106
+ ```
107
+
108
+ Score Guide: 8.0–10.0 Strongly Bullish | 6.0–7.9 Moderately Bullish | 4.0–5.9 Neutral | 2.0–3.9 Moderately Bearish | 0.0–1.9 Strongly Bearish
109
+ Confidence: HIGH (strong data, clear signals) | MEDIUM (mixed signals) | LOW (limited data, conflicting signals)
110
+ Horizon: SHORT-TERM (1 week–3 months) | MEDIUM-TERM (3 months–1 year) | LONG-TERM (1+ years)
111
+
112
+ **Disclaimer:** Educational analysis only. Not financial advice.
113
+
114
+
@@ -38,242 +38,17 @@ Data & Sources
38
38
 
39
39
  ---
40
40
 
41
- ## Overview
41
+ ## Read the Parts
42
42
 
43
- 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?
43
+ Everything below the surface of this file lives in `references/`. **whole, with no line window** — quoting a rule or a template out of a slice of one is how a
44
+ file gets reported as read when it was only skimmed. The file names below are the only
45
+ addressing this entry has.
44
46
 
45
- **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.
47
+ - `references/10-overview.md` — Overview; 1. Inputs; 2. Framework
48
+ - `references/11-phase-5-overlap-with.md` — (continued) 2. Framework
49
+ - `references/12-output-format.md` — 3. Output Format; Example; Notes; Thesis Invalidation
50
+ - `references/13-standard-signal-output.md` — Standard Signal Output
46
51
 
47
- **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?).
48
-
49
- ---
50
-
51
- ## 1. Inputs
52
-
53
- | Input | Required | Default if unstated |
54
- |-------|----------|---------------------|
55
- | ETF ticker(s) — one fund, or several to compare | ✅ | — |
56
- | 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 |
57
- | 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) |
58
- | Intended purchase size (as % of the post-purchase portfolio) | optional — required for post-purchase exposure | 10% of the portfolio, stated |
59
- | Account type (taxable / IRA / non-US) | optional | taxable US assumed; state it |
60
- | Holding horizon | optional | 5+ years |
61
-
62
- **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.
63
-
64
- ---
65
-
66
- ## 2. Framework
67
-
68
- ### Phase 1 — Fund card
69
-
70
- Establish the facts before any judgment:
71
-
72
- | Field | Why it matters |
73
- |-------|----------------|
74
- | Issuer, ticker, inception date | Funds under 3 years old have no full-cycle record; funds under $100M AUM have closure risk |
75
- | Index tracked (or "active") | The index *is* the strategy — read its methodology: cap-weighted? screened? rebalanced when? |
76
- | Expense ratio (net, after waivers) and waiver expiry | A fee waiver that expires is a fee increase with a date |
77
- | Structure: physical replication / sampling / synthetic (swap) / ETN / grantor trust / commodity pool | Determines counterparty risk, tax form, and whether "holdings" means anything |
78
- | Legal domicile (US 1940-Act ETF, Irish UCITS, …) | Drives withholding tax and estate-tax exposure for non-US holders |
79
- | Distribution policy (accumulating / distributing, frequency) | Matters for taxable accounts and for income users |
80
-
81
- ### Phase 2 — Cost and tracking
82
-
83
- **Expense ratio vs. category.** Compare to the median for funds tracking the *same kind* of index, not to "all ETFs":
84
-
85
- | Category | Cheap | Expensive | Needs a reason |
86
- |----------|-------|-----------|----------------|
87
- | Broad US large-cap index | ≤ 0.05% | > 0.20% | > 0.75% |
88
- | Broad international developed / EM index | ≤ 0.10% | > 0.35% | > 0.75% |
89
- | Sector, factor, dividend, thematic | ≤ 0.15% | > 0.50% | > 0.95% |
90
- | Active, leveraged, inverse, alternatives | ≤ 0.50% | > 1.00% | — (the whole product needs a reason) |
91
-
92
- **Tracking difference vs. tracking error — keep them apart.**
93
- - **Tracking difference** = fund total return − index total return over a period. This is the *cost you actually paid*. For a well-run physical fund it should be close to −(expense ratio); a fund that trails its index by more than the expense ratio every year is leaking money (sampling, cash drag, poor securities lending, withholding tax at the fund level).
94
- - **Tracking error** = the standard deviation of that difference. It measures *consistency*, not cost. Low tracking error with a large negative tracking difference is a fund that reliably underperforms.
95
-
96
- Report the 1-, 3-, and 5-year tracking difference from the issuer's own performance table (NAV return vs. index return). Flag a **tracking gap** whenever |tracking difference| exceeds the expense ratio by more than 0.10% per year — and say which direction (a *positive* gap usually means securities-lending revenue, which is fine but not guaranteed).
97
-
98
- ### Phase 3 — Liquidity and closure risk
99
-
100
- | Metric | Comfortable | Caution | Warning |
101
- |--------|-------------|---------|---------|
102
- | AUM | > $1B | $100M – $1B | < $100M (closure risk; issuers cull small funds) |
103
- | Average daily $ volume | > $10M | $1M – $10M | < $1M (use limit orders, avoid the open/close) |
104
- | Bid-ask spread (median, %) | ≤ 0.05% | 0.05% – 0.25% | > 0.25% (a round trip costs more than a year of fees) |
105
- | Premium/discount to NAV (typical range) | ±0.10% | ±0.50% | wider, or persistently one-sided |
106
-
107
- Note the caveat that matters: ETF liquidity comes from the underlying basket, not only from the ETF's own volume — a thinly traded ETF on liquid large caps trades fine with limit orders; a heavily traded ETF on illiquid bonds does not. Say which case applies.
108
-
109
- ### Phase 4 — What you own
110
-
111
- - **Holdings count** and **top-10 weight**. Flag concentration when top-10 > 40% for a "broad" fund, or when a single name > 10%. Cap-weighted indexes concentrate in bull markets — a fund that was diversified five years ago may not be now.
112
- - **Sector tilt** — the fund's sector weights vs. the broad benchmark the user thinks they are buying (e.g. the total US market). Report the three largest over/under-weights in percentage points.
113
- - **Factor tilt** — size, value/growth, quality, momentum, low-vol, yield: which way does the index methodology lean, and does the user know it? A "dividend" fund is usually a value + low-growth tilt; an "equal-weight" fund is a small-cap tilt.
114
- - **Country / currency exposure** for international funds — and whether the fund is currency-hedged (a bet on the dollar, held whether the user wants it or not).
115
- - **Look-through**: if the fund holds other funds, look through to the final securities.
116
-
117
- ### Phase 5 — Overlap with the user's other holdings
118
-
119
- With the holdings the user supplied, compute **overlap by weight**:
120
-
121
- 1. **Look through** every existing fund position to its underlying securities (top holdings from the issuer's factsheet; label the coverage — "top 10 = 34% of the fund" — so the reader knows the rest is unassessed). Existing single stocks are their own exposure.
122
- 2. Express both sides as weights of the **same denominator**: the candidate ETF's holdings as % of the ETF; the existing portfolio's look-through exposures as % of the existing portfolio.
123
- 3. **Overlap % = Σ over shared securities of min(weight in ETF, weight in existing portfolio).** This is the share of the ETF that duplicates what the user already owns, on a like-for-like basis.
124
- 4. With the **intended purchase size** *p* (as % of the post-purchase portfolio; default 10%, stated), compute the post-purchase exposure to each shared name: (1 − p) × existing weight + p × ETF weight.
125
-
126
- Report:
127
-
128
- - Overlap % (by weight) and the duplicated names, largest first; the look-through coverage used.
129
- - The *effective* post-purchase exposure to the top duplicated names (e.g. "at a 10% purchase you would own the largest holding through three vehicles at a combined 11% of the portfolio").
130
- - A plain verdict: **redundant** (> 60% overlap — this is the same bet in a second wrapper), **partially overlapping** (25–60% — fine if intentional), **complementary** (< 25%).
131
-
132
- Without a holdings file, report the top-10-only overlap as a lower bound and say so.
133
-
134
- ### Phase 6 — Distributions and taxes
135
-
136
- - Trailing 12-month distribution yield and its **composition**: qualified dividends, non-qualified income, return of capital, capital gains. REIT-, bond-, and commodity-heavy funds pay mostly non-qualified income taxed at ordinary rates.
137
- - **Capital-gains distributions, last 5 years.** Most equity ETFs distribute none, because in-kind creation/redemption lets them hand appreciated shares to authorized participants instead of selling them; a mutual fund cannot. An equity ETF that *has* distributed gains (heavy rebalancing, index reconstitution, small AUM with big redemptions) deserves a note. Bond and commodity funds are a different matter.
138
- - **Tax form**: 1099 for ordinary ETFs; **K-1** and 60/40 treatment for many commodity and volatility funds structured as partnerships; grantor-trust rules for physically backed metals. A K-1 is a paperwork and timing cost, not just a tax rate.
139
- - Hand the detail to `tax-lens` — this skill flags, that one computes.
140
-
141
- ### Phase 7 — Structure warnings
142
-
143
- State any that apply, in a box the reader cannot miss:
144
-
145
- | Structure | Warning to print |
146
- |-----------|-----------------|
147
- | Leveraged (2×, 3×) or inverse | Resets daily. Over more than a day, path dependence ("volatility decay") means the return is *not* 2× or −1× the index. A holding tool for days, not years — say so even if the user asked for a long-term view |
148
- | Synthetic / swap-based | The fund holds a swap, not the securities. Counterparty exposure to the swap provider; "holdings" listed are collateral |
149
- | ETN | An unsecured note issued by a bank. If the issuer fails, the ETN fails, regardless of the index. Check the issuer's credit and whether the ETN is still creating shares (closed ETNs trade at wild premiums) |
150
- | Single-stock ETF | A leveraged or option-overlaid position in one company. Concentration + decay + fees — nearly always dominated by owning the stock |
151
- | Commodity pool / futures-based | Roll yield (contango) can make the fund diverge sharply from spot; K-1 tax form; not an investment in the physical commodity |
152
- | Currency-hedged | Embeds a short position in the foreign currency; hedging cost ≈ the interest-rate differential |
153
- | Covered-call / buffer / defined-outcome | Caps upside by design; the "yield" is option premium, partly return of your own capital. Compare total return, never headline yield |
154
- | Actively managed | Compare to the cheapest index fund in the same category over the manager's tenure, not to the category average |
155
-
156
- ### Phase 8 — Alternatives and the direct-ownership check
157
-
158
- - **Peers**: two or three funds tracking the same or a very similar index. Compare expense ratio, 3-yr tracking difference, AUM, spread, and structure in one table. Prefer the cheapest fund with the smallest tracking gap and adequate liquidity — everything else is marketing.
159
- - **ETF vs. buying the top 5 holdings directly**: what share of the fund's weight the top 5 represent, the fund's fee on that share, what the investor would give up (the other N−5 holdings, rebalancing, dividend reinvestment convenience) and what they would gain (zero ongoing fee, tax-lot control, no tracking gap). For a broad fund with top-5 weight under 25%, direct ownership is a different, more concentrated bet — say so. For a "sector" fund where the top 5 are 60%+ of the weight, direct ownership is a serious alternative.
160
-
161
- ### Phase 9 — ETF Fitness Score (0–10)
162
-
163
- The headline number. It measures **fitness of the vehicle for the stated exposure and portfolio**, not the attractiveness of the asset class.
164
-
165
- | Component | Weight | 10 looks like | 0 looks like |
166
- |-----------|--------|---------------|--------------|
167
- | Cost & tracking | 25% | Cheapest quartile for its category; tracking difference ≈ −ER with no gap | Expensive for the category *and* a tracking gap > 0.25%/yr |
168
- | Liquidity & viability | 15% | AUM > $1B, spread ≤ 0.05%, tight to NAV | AUM < $100M or spread > 0.25% or persistent discount |
169
- | What you own vs. what you wanted | 20% | Index methodology matches the stated exposure; tilts disclosed and acceptable | The fund is a different bet than the user thinks (hidden factor/country/currency tilt, top-10 > 50%) |
170
- | Overlap with existing holdings | 15% | < 25% overlap, or overlap is intentional | > 60% overlap — a duplicate position |
171
- | Distribution & tax efficiency | 10% | No capital-gains distributions; income mostly qualified; 1099 | Regular gains distributions; K-1; non-qualified income in a taxable account |
172
- | Structure | 15% | Plain physical replication | Leveraged/inverse, ETN, or single-stock held as a long-term position |
173
-
174
- **Hard caps**: a leveraged/inverse/single-stock fund evaluated for a horizon longer than a few weeks caps at **3.0**; an ETN caps at **5.0**; > 60% overlap caps at **5.0**. State any cap that fired.
175
-
176
- **When overlap is not assessed** (no holdings supplied): drop the component and **renormalize the remaining five weights to 100%** (Cost & tracking 29.4% · Liquidity 17.6% · What you own 23.5% · Distribution 11.8% · Structure 17.6%), print `Overlap: not assessed — supply holdings for the full score` under the score, and cap Confidence at MEDIUM. Never score an unassessed component as 10 or as 0.
177
-
178
- ---
179
-
180
- ## 3. Output Format
181
-
182
- ```
183
- Data & Sources · as of · issuer factsheet · fund prospectus · retrieval · confidence
184
-
185
- 1. Fund card ticker · issuer · index tracked · inception · AUM · expense ratio · structure · domicile
186
- 2. Cost & tracking expense ratio vs. category median · 1/3/5-yr tracking difference · tracking gap flag · spread · ADV
187
- 3. What you own #holdings · top-10 weight · sector / factor / country / currency tilt · concentration flag
188
- 4. Overlap % overlap by weight with the user's holdings · duplicated names · verdict (redundant / partial / complementary)
189
- 5. Distributions trailing yield · composition (qualified / ordinary / ROC / gains) · capital-gains distributions (last 5 yrs) · tax form
190
- 6. Structure risks leveraged / inverse / synthetic / ETN / single-stock / commodity / hedged / covered-call → warning box
191
- 7. Alternatives 2–3 peers in one table · "vs. top-5 holdings directly" table
192
- 8. ETF Fitness Score 0–10 with the six sub-scores and any cap that fired → Thesis Invalidation → signal block
193
- ```
194
-
195
- When several tickers are given, produce sections 1–6 per fund compactly, then one comparison table, then one score per fund.
196
-
197
- ---
198
-
199
- ## Example
200
-
201
- ```
202
- User: Is VOO or SPYM the better core holding? I already hold VTI at 40% of my portfolio.
203
-
204
- The assistant builds the fund card for both (same index family — S&P 500 — so the
205
- comparison collapses to cost, tracking, liquidity and share price), pulls the issuer
206
- performance tables to compare 1/3/5-yr tracking difference against each fund's expense
207
- ratio, notes that both are physical, distributing, 1099 funds with no capital-gains
208
- distributions in the record supplied, and that either is liquid enough for any retail
209
- order with a limit. Then it runs the overlap check against VTI: an S&P 500 fund is
210
- roughly four-fifths of a total-US-market fund by weight, so the overlap is high and the
211
- verdict is "redundant — you already own this exposure through VTI; adding either fund
212
- raises large-cap concentration without adding a new bet." Both funds score well on
213
- fitness in isolation; the report's headline is the overlap finding, and the suggested
214
- next step is `portfolio-review` to decide whether the user actually wants *more* US
215
- large cap, or `etf-analysis` on an international or small-cap fund instead.
216
- ```
217
-
218
- ---
219
-
220
- ## Notes
221
-
222
- - **This is vehicle due diligence, not a market view.** Do not score the asset class. A perfectly built fund on an exposure the user should not own still gets a high Fitness Score — pair with `sector-analysis` or `economics-analysis` for whether to own it, and `portfolio-review` for how much.
223
- - **Never invent fund statistics.** Expense ratios, AUM, tracking figures, and holdings change; if the issuer page or factsheet was not retrieved or pasted, say "not verified" rather than recalling a number.
224
- - **Read the index methodology.** Two funds with similar names can track very different indexes (screened vs. unscreened, capped vs. uncapped, quarterly vs. annual rebalancing). The methodology document, not the fund name, is the strategy.
225
- - **Non-US investors** (including readers using the Traditional Chinese site): a US-domiciled ETF exposes a non-resident holder to 30% (or treaty-rate) withholding on distributions and to US estate-tax exposure above a low exemption; an Irish-domiciled UCITS equivalent typically suffers 15% withholding at the fund level and no US estate-tax exposure, at a somewhat higher expense ratio and, for accumulating share classes, no distributions at all. Name the UCITS equivalent when one exists and hand the arithmetic to `tax-lens --non-us`.
226
- - **Overlap arithmetic depends on the data supplied.** Top-10-only overlap is a lower bound; label it. Full holdings files are downloadable from every major issuer.
227
- - **Bond, commodity, and alternative ETFs** need the extra questions this skill only flags (duration, credit quality, roll yield, collateral). Say when the fund is outside the equity-index case this framework is built for.
228
- - Pairs with: `portfolio-review` (allocation fit), `risk-stress-test` (drawdown behaviour), `tax-lens` (after-tax cost), `sector-analysis` / `stock-screener` (whether the exposure is worth owning at all).
229
-
230
- ## Thesis Invalidation
231
-
232
- After delivering the analysis signal, specify what would reverse it:
233
-
234
- **If signal is BULLISH (the fund is a fit vehicle) — the verdict breaks if:**
235
- - The tracking difference widens beyond −(expense ratio + 0.10%) in the next annual performance table — the fund has started leaking
236
- - The issuer changes the index, raises the fee, lets a waiver expire, or announces a merger or liquidation (AUM falling below ~$50M is the early warning)
237
- - The fund's concentration crosses the thresholds above (top-10 > 40%, single name > 10%) so that "broad" is no longer true
238
- - The user's other holdings change such that the overlap verdict moves from complementary to redundant
239
-
240
- **If signal is BEARISH (the fund is not a fit vehicle) — the verdict breaks if:**
241
- - A fee cut or a fixed tracking gap removes the cost objection (re-run against the peers)
242
- - The user's stated exposure changes so that the tilt this fund carries is now the intended bet
243
- - The overlap objection disappears because the duplicated position is sold
244
- - For a structure warning: the user's horizon and purpose genuinely match the product (a multi-day hedge with an inverse fund, for example) — the warning still prints, the cap may be lifted
245
-
246
- **Re-run this analysis when:**
247
- - [ ] The issuer publishes its annual performance / tracking table
248
- - [ ] Any change to expense ratio, index, or fund structure is announced
249
- - [ ] The user adds or removes a position large enough to change the overlap verdict
250
- - [ ] AUM falls below $100M or the spread widens persistently
251
- - [ ] 12 months have elapsed
252
-
253
- ## Standard Signal Output
254
-
255
- This skill measures **vehicle fitness, not market direction**, so state the mapping: `Signal: BULLISH` means the fund is a fit way to hold the stated exposure for this portfolio; `NEUTRAL` means it is acceptable but a cheaper, better-tracking, or less overlapping alternative exists (name it); `BEARISH` means do not use this wrapper (structure cap fired, redundant overlap, or a tracking gap that peers do not have). `Action: BUY` here means "this fund is fit for the purpose" — it is not a view on the asset class. Read *whether* to own the exposure from `sector-analysis` or `portfolio-review`, not from this block.
256
-
257
- All analysis concludes with this standardized block:
258
-
259
- ```
260
- ╔══════════════════════════════════════════════╗
261
- ║ INVESTMENT SIGNAL ║
262
- ╠══════════════════════════════════════════════╣
263
- ║ Signal: BULLISH / NEUTRAL / BEARISH ║
264
- ║ Confidence: HIGH / MEDIUM / LOW ║
265
- ║ Horizon: SHORT / MEDIUM / LONG-TERM ║
266
- ║ Score: X.X / 10 ║
267
- ╠══════════════════════════════════════════════╣
268
- ║ Action: BUY / HOLD / SELL ║
269
- ║ Conviction: STRONG / MODERATE / WEAK ║
270
- ╚══════════════════════════════════════════════╝
271
- ```
272
-
273
- Score Guide: 8.0–10.0 Strongly Bullish | 6.0–7.9 Moderately Bullish | 4.0–5.9 Neutral | 2.0–3.9 Moderately Bearish | 0.0–1.9 Strongly Bearish
274
- Confidence: HIGH (strong data, clear signals) | MEDIUM (mixed signals) | LOW (limited data, conflicting signals)
275
- Horizon: SHORT-TERM (1 week–3 months) | MEDIUM-TERM (3 months–1 year) | LONG-TERM (1+ years)
276
-
277
- **Note:** The Score above is the ETF Fitness Score, mapped onto the standard scale for cross-skill comparability. It rates *how fit this fund is as a vehicle for the stated exposure and portfolio* — not how attractive the exposure is. Confidence is LOW whenever the issuer factsheet was not retrieved or the overlap was computed from the top 10 only.
278
-
279
- **Disclaimer:** Educational analysis only. Not financial advice. Fund facts change; verify every figure against the issuer's current factsheet and prospectus before acting.
52
+ Loading this file is not reading the skill: the steps, templates, and thresholds exist only
53
+ in the parts above. Say which parts you opened, name the ones you did not, and never report a
54
+ step or a template you have not read in this session.
@@ -0,0 +1,83 @@
1
+ # Overview
2
+
3
+ Part 1 of 4 for `etf-analysis` — Overview; 1. Inputs; 2. Framework
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## Overview
7
+
8
+ 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?
9
+
10
+ **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.
11
+
12
+ **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?).
13
+
14
+ ---
15
+
16
+ ## 1. Inputs
17
+
18
+ | Input | Required | Default if unstated |
19
+ |-------|----------|---------------------|
20
+ | ETF ticker(s) — one fund, or several to compare | ✅ | — |
21
+ | 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 |
22
+ | 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) |
23
+ | Intended purchase size (as % of the post-purchase portfolio) | optional — required for post-purchase exposure | 10% of the portfolio, stated |
24
+ | Account type (taxable / IRA / non-US) | optional | taxable US assumed; state it |
25
+ | Holding horizon | optional | 5+ years |
26
+
27
+ **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.
28
+
29
+ ---
30
+
31
+ ## 2. Framework
32
+
33
+ ### Phase 1 — Fund card
34
+
35
+ Establish the facts before any judgment:
36
+
37
+ | Field | Why it matters |
38
+ |-------|----------------|
39
+ | Issuer, ticker, inception date | Funds under 3 years old have no full-cycle record; funds under $100M AUM have closure risk |
40
+ | Index tracked (or "active") | The index *is* the strategy — read its methodology: cap-weighted? screened? rebalanced when? |
41
+ | Expense ratio (net, after waivers) and waiver expiry | A fee waiver that expires is a fee increase with a date |
42
+ | Structure: physical replication / sampling / synthetic (swap) / ETN / grantor trust / commodity pool | Determines counterparty risk, tax form, and whether "holdings" means anything |
43
+ | Legal domicile (US 1940-Act ETF, Irish UCITS, …) | Drives withholding tax and estate-tax exposure for non-US holders |
44
+ | Distribution policy (accumulating / distributing, frequency) | Matters for taxable accounts and for income users |
45
+
46
+ ### Phase 2 — Cost and tracking
47
+
48
+ **Expense ratio vs. category.** Compare to the median for funds tracking the *same kind* of index, not to "all ETFs":
49
+
50
+ | Category | Cheap | Expensive | Needs a reason |
51
+ |----------|-------|-----------|----------------|
52
+ | Broad US large-cap index | ≤ 0.05% | > 0.20% | > 0.75% |
53
+ | Broad international developed / EM index | ≤ 0.10% | > 0.35% | > 0.75% |
54
+ | Sector, factor, dividend, thematic | ≤ 0.15% | > 0.50% | > 0.95% |
55
+ | Active, leveraged, inverse, alternatives | ≤ 0.50% | > 1.00% | — (the whole product needs a reason) |
56
+
57
+ **Tracking difference vs. tracking error — keep them apart.**
58
+ - **Tracking difference** = fund total return − index total return over a period. This is the *cost you actually paid*. For a well-run physical fund it should be close to −(expense ratio); a fund that trails its index by more than the expense ratio every year is leaking money (sampling, cash drag, poor securities lending, withholding tax at the fund level).
59
+ - **Tracking error** = the standard deviation of that difference. It measures *consistency*, not cost. Low tracking error with a large negative tracking difference is a fund that reliably underperforms.
60
+
61
+ Report the 1-, 3-, and 5-year tracking difference from the issuer's own performance table (NAV return vs. index return). Flag a **tracking gap** whenever |tracking difference| exceeds the expense ratio by more than 0.10% per year — and say which direction (a *positive* gap usually means securities-lending revenue, which is fine but not guaranteed).
62
+
63
+ ### Phase 3 — Liquidity and closure risk
64
+
65
+ | Metric | Comfortable | Caution | Warning |
66
+ |--------|-------------|---------|---------|
67
+ | AUM | > $1B | $100M – $1B | < $100M (closure risk; issuers cull small funds) |
68
+ | Average daily $ volume | > $10M | $1M – $10M | < $1M (use limit orders, avoid the open/close) |
69
+ | Bid-ask spread (median, %) | ≤ 0.05% | 0.05% – 0.25% | > 0.25% (a round trip costs more than a year of fees) |
70
+ | Premium/discount to NAV (typical range) | ±0.10% | ±0.50% | wider, or persistently one-sided |
71
+
72
+ Note the caveat that matters: ETF liquidity comes from the underlying basket, not only from the ETF's own volume — a thinly traded ETF on liquid large caps trades fine with limit orders; a heavily traded ETF on illiquid bonds does not. Say which case applies.
73
+
74
+ ### Phase 4 — What you own
75
+
76
+ - **Holdings count** and **top-10 weight**. Flag concentration when top-10 > 40% for a "broad" fund, or when a single name > 10%. Cap-weighted indexes concentrate in bull markets — a fund that was diversified five years ago may not be now.
77
+ - **Sector tilt** — the fund's sector weights vs. the broad benchmark the user thinks they are buying (e.g. the total US market). Report the three largest over/under-weights in percentage points.
78
+ - **Factor tilt** — size, value/growth, quality, momentum, low-vol, yield: which way does the index methodology lean, and does the user know it? A "dividend" fund is usually a value + low-growth tilt; an "equal-weight" fund is a small-cap tilt.
79
+ - **Country / currency exposure** for international funds — and whether the fund is currency-hedged (a bet on the dollar, held whether the user wants it or not).
80
+ - **Look-through**: if the fund holds other funds, look through to the final securities.
81
+
82
+
83
+ This section is not finished here: `2. Framework` continues in `references/11-phase-5-overlap-with.md`.
@@ -0,0 +1,69 @@
1
+ # 2. Framework(continued)
2
+
3
+ Part 2 of 4 for `etf-analysis` — 2. Framework
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ### Phase 5 — Overlap with the user's other holdings
7
+
8
+ With the holdings the user supplied, compute **overlap by weight**:
9
+
10
+ 1. **Look through** every existing fund position to its underlying securities (top holdings from the issuer's factsheet; label the coverage — "top 10 = 34% of the fund" — so the reader knows the rest is unassessed). Existing single stocks are their own exposure.
11
+ 2. Express both sides as weights of the **same denominator**: the candidate ETF's holdings as % of the ETF; the existing portfolio's look-through exposures as % of the existing portfolio.
12
+ 3. **Overlap % = Σ over shared securities of min(weight in ETF, weight in existing portfolio).** This is the share of the ETF that duplicates what the user already owns, on a like-for-like basis.
13
+ 4. With the **intended purchase size** *p* (as % of the post-purchase portfolio; default 10%, stated), compute the post-purchase exposure to each shared name: (1 − p) × existing weight + p × ETF weight.
14
+
15
+ Report:
16
+
17
+ - Overlap % (by weight) and the duplicated names, largest first; the look-through coverage used.
18
+ - The *effective* post-purchase exposure to the top duplicated names (e.g. "at a 10% purchase you would own the largest holding through three vehicles at a combined 11% of the portfolio").
19
+ - A plain verdict: **redundant** (> 60% overlap — this is the same bet in a second wrapper), **partially overlapping** (25–60% — fine if intentional), **complementary** (< 25%).
20
+
21
+ Without a holdings file, report the top-10-only overlap as a lower bound and say so.
22
+
23
+ ### Phase 6 — Distributions and taxes
24
+
25
+ - Trailing 12-month distribution yield and its **composition**: qualified dividends, non-qualified income, return of capital, capital gains. REIT-, bond-, and commodity-heavy funds pay mostly non-qualified income taxed at ordinary rates.
26
+ - **Capital-gains distributions, last 5 years.** Most equity ETFs distribute none, because in-kind creation/redemption lets them hand appreciated shares to authorized participants instead of selling them; a mutual fund cannot. An equity ETF that *has* distributed gains (heavy rebalancing, index reconstitution, small AUM with big redemptions) deserves a note. Bond and commodity funds are a different matter.
27
+ - **Tax form**: 1099 for ordinary ETFs; **K-1** and 60/40 treatment for many commodity and volatility funds structured as partnerships; grantor-trust rules for physically backed metals. A K-1 is a paperwork and timing cost, not just a tax rate.
28
+ - Hand the detail to `tax-lens` — this skill flags, that one computes.
29
+
30
+ ### Phase 7 — Structure warnings
31
+
32
+ State any that apply, in a box the reader cannot miss:
33
+
34
+ | Structure | Warning to print |
35
+ |-----------|-----------------|
36
+ | Leveraged (2×, 3×) or inverse | Resets daily. Over more than a day, path dependence ("volatility decay") means the return is *not* 2× or −1× the index. A holding tool for days, not years — say so even if the user asked for a long-term view |
37
+ | Synthetic / swap-based | The fund holds a swap, not the securities. Counterparty exposure to the swap provider; "holdings" listed are collateral |
38
+ | ETN | An unsecured note issued by a bank. If the issuer fails, the ETN fails, regardless of the index. Check the issuer's credit and whether the ETN is still creating shares (closed ETNs trade at wild premiums) |
39
+ | Single-stock ETF | A leveraged or option-overlaid position in one company. Concentration + decay + fees — nearly always dominated by owning the stock |
40
+ | Commodity pool / futures-based | Roll yield (contango) can make the fund diverge sharply from spot; K-1 tax form; not an investment in the physical commodity |
41
+ | Currency-hedged | Embeds a short position in the foreign currency; hedging cost ≈ the interest-rate differential |
42
+ | Covered-call / buffer / defined-outcome | Caps upside by design; the "yield" is option premium, partly return of your own capital. Compare total return, never headline yield |
43
+ | Actively managed | Compare to the cheapest index fund in the same category over the manager's tenure, not to the category average |
44
+
45
+ ### Phase 8 — Alternatives and the direct-ownership check
46
+
47
+ - **Peers**: two or three funds tracking the same or a very similar index. Compare expense ratio, 3-yr tracking difference, AUM, spread, and structure in one table. Prefer the cheapest fund with the smallest tracking gap and adequate liquidity — everything else is marketing.
48
+ - **ETF vs. buying the top 5 holdings directly**: what share of the fund's weight the top 5 represent, the fund's fee on that share, what the investor would give up (the other N−5 holdings, rebalancing, dividend reinvestment convenience) and what they would gain (zero ongoing fee, tax-lot control, no tracking gap). For a broad fund with top-5 weight under 25%, direct ownership is a different, more concentrated bet — say so. For a "sector" fund where the top 5 are 60%+ of the weight, direct ownership is a serious alternative.
49
+
50
+ ### Phase 9 — ETF Fitness Score (0–10)
51
+
52
+ The headline number. It measures **fitness of the vehicle for the stated exposure and portfolio**, not the attractiveness of the asset class.
53
+
54
+ | Component | Weight | 10 looks like | 0 looks like |
55
+ |-----------|--------|---------------|--------------|
56
+ | Cost & tracking | 25% | Cheapest quartile for its category; tracking difference ≈ −ER with no gap | Expensive for the category *and* a tracking gap > 0.25%/yr |
57
+ | Liquidity & viability | 15% | AUM > $1B, spread ≤ 0.05%, tight to NAV | AUM < $100M or spread > 0.25% or persistent discount |
58
+ | What you own vs. what you wanted | 20% | Index methodology matches the stated exposure; tilts disclosed and acceptable | The fund is a different bet than the user thinks (hidden factor/country/currency tilt, top-10 > 50%) |
59
+ | Overlap with existing holdings | 15% | < 25% overlap, or overlap is intentional | > 60% overlap — a duplicate position |
60
+ | Distribution & tax efficiency | 10% | No capital-gains distributions; income mostly qualified; 1099 | Regular gains distributions; K-1; non-qualified income in a taxable account |
61
+ | Structure | 15% | Plain physical replication | Leveraged/inverse, ETN, or single-stock held as a long-term position |
62
+
63
+ **Hard caps**: a leveraged/inverse/single-stock fund evaluated for a horizon longer than a few weeks caps at **3.0**; an ETN caps at **5.0**; > 60% overlap caps at **5.0**. State any cap that fired.
64
+
65
+ **When overlap is not assessed** (no holdings supplied): drop the component and **renormalize the remaining five weights to 100%** (Cost & tracking 29.4% · Liquidity 17.6% · What you own 23.5% · Distribution 11.8% · Structure 17.6%), print `Overlap: not assessed — supply holdings for the full score` under the score, and cap Confidence at MEDIUM. Never score an unassessed component as 10 or as 0.
66
+
67
+ ---
68
+
69
+
@@ -0,0 +1,79 @@
1
+ # 3. Output Format
2
+
3
+ Part 3 of 4 for `etf-analysis` — 3. Output Format; Example; Notes; Thesis Invalidation
4
+ See `SKILL.md` for what to read and when; this part is procedure, not routing.
5
+
6
+ ## 3. Output Format
7
+
8
+ ```
9
+ Data & Sources · as of · issuer factsheet · fund prospectus · retrieval · confidence
10
+
11
+ 1. Fund card ticker · issuer · index tracked · inception · AUM · expense ratio · structure · domicile
12
+ 2. Cost & tracking expense ratio vs. category median · 1/3/5-yr tracking difference · tracking gap flag · spread · ADV
13
+ 3. What you own #holdings · top-10 weight · sector / factor / country / currency tilt · concentration flag
14
+ 4. Overlap % overlap by weight with the user's holdings · duplicated names · verdict (redundant / partial / complementary)
15
+ 5. Distributions trailing yield · composition (qualified / ordinary / ROC / gains) · capital-gains distributions (last 5 yrs) · tax form
16
+ 6. Structure risks leveraged / inverse / synthetic / ETN / single-stock / commodity / hedged / covered-call → warning box
17
+ 7. Alternatives 2–3 peers in one table · "vs. top-5 holdings directly" table
18
+ 8. ETF Fitness Score 0–10 with the six sub-scores and any cap that fired → Thesis Invalidation → signal block
19
+ ```
20
+
21
+ When several tickers are given, produce sections 1–6 per fund compactly, then one comparison table, then one score per fund.
22
+
23
+ ---
24
+
25
+ ## Example
26
+
27
+ ```
28
+ User: Is VOO or SPYM the better core holding? I already hold VTI at 40% of my portfolio.
29
+
30
+ The assistant builds the fund card for both (same index family — S&P 500 — so the
31
+ comparison collapses to cost, tracking, liquidity and share price), pulls the issuer
32
+ performance tables to compare 1/3/5-yr tracking difference against each fund's expense
33
+ ratio, notes that both are physical, distributing, 1099 funds with no capital-gains
34
+ distributions in the record supplied, and that either is liquid enough for any retail
35
+ order with a limit. Then it runs the overlap check against VTI: an S&P 500 fund is
36
+ roughly four-fifths of a total-US-market fund by weight, so the overlap is high and the
37
+ verdict is "redundant — you already own this exposure through VTI; adding either fund
38
+ raises large-cap concentration without adding a new bet." Both funds score well on
39
+ fitness in isolation; the report's headline is the overlap finding, and the suggested
40
+ next step is `portfolio-review` to decide whether the user actually wants *more* US
41
+ large cap, or `etf-analysis` on an international or small-cap fund instead.
42
+ ```
43
+
44
+ ---
45
+
46
+ ## Notes
47
+
48
+ - **This is vehicle due diligence, not a market view.** Do not score the asset class. A perfectly built fund on an exposure the user should not own still gets a high Fitness Score — pair with `sector-analysis` or `economics-analysis` for whether to own it, and `portfolio-review` for how much.
49
+ - **Never invent fund statistics.** Expense ratios, AUM, tracking figures, and holdings change; if the issuer page or factsheet was not retrieved or pasted, say "not verified" rather than recalling a number.
50
+ - **Read the index methodology.** Two funds with similar names can track very different indexes (screened vs. unscreened, capped vs. uncapped, quarterly vs. annual rebalancing). The methodology document, not the fund name, is the strategy.
51
+ - **Non-US investors** (including readers using the Traditional Chinese site): a US-domiciled ETF exposes a non-resident holder to 30% (or treaty-rate) withholding on distributions and to US estate-tax exposure above a low exemption; an Irish-domiciled UCITS equivalent typically suffers 15% withholding at the fund level and no US estate-tax exposure, at a somewhat higher expense ratio and, for accumulating share classes, no distributions at all. Name the UCITS equivalent when one exists and hand the arithmetic to `tax-lens --non-us`.
52
+ - **Overlap arithmetic depends on the data supplied.** Top-10-only overlap is a lower bound; label it. Full holdings files are downloadable from every major issuer.
53
+ - **Bond, commodity, and alternative ETFs** need the extra questions this skill only flags (duration, credit quality, roll yield, collateral). Say when the fund is outside the equity-index case this framework is built for.
54
+ - Pairs with: `portfolio-review` (allocation fit), `risk-stress-test` (drawdown behaviour), `tax-lens` (after-tax cost), `sector-analysis` / `stock-screener` (whether the exposure is worth owning at all).
55
+
56
+ ## Thesis Invalidation
57
+
58
+ After delivering the analysis signal, specify what would reverse it:
59
+
60
+ **If signal is BULLISH (the fund is a fit vehicle) — the verdict breaks if:**
61
+ - The tracking difference widens beyond −(expense ratio + 0.10%) in the next annual performance table — the fund has started leaking
62
+ - The issuer changes the index, raises the fee, lets a waiver expire, or announces a merger or liquidation (AUM falling below ~$50M is the early warning)
63
+ - The fund's concentration crosses the thresholds above (top-10 > 40%, single name > 10%) so that "broad" is no longer true
64
+ - The user's other holdings change such that the overlap verdict moves from complementary to redundant
65
+
66
+ **If signal is BEARISH (the fund is not a fit vehicle) — the verdict breaks if:**
67
+ - A fee cut or a fixed tracking gap removes the cost objection (re-run against the peers)
68
+ - The user's stated exposure changes so that the tilt this fund carries is now the intended bet
69
+ - The overlap objection disappears because the duplicated position is sold
70
+ - For a structure warning: the user's horizon and purpose genuinely match the product (a multi-day hedge with an inverse fund, for example) — the warning still prints, the cap may be lifted
71
+
72
+ **Re-run this analysis when:**
73
+ - [ ] The issuer publishes its annual performance / tracking table
74
+ - [ ] Any change to expense ratio, index, or fund structure is announced
75
+ - [ ] The user adds or removes a position large enough to change the overlap verdict
76
+ - [ ] AUM falls below $100M or the spread widens persistently
77
+ - [ ] 12 months have elapsed
78
+
79
+