Financial analysis
Skill StMarks99/hedge-fund-analysis/equity-analysis/skills/financial-analysis
A Claude Code plugin marketplace containing equity-analysis — a hedge-fund-grade equity research workflow.
npx -y skills add StMarks99/hedge-fund-analysis --skill financial-analysisAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 11 days oldThe repository was created 11 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when asked for a stock analysis, equity deep dive, company valuation, or investment research on a publicly listed company — including requests to "analyze", "research", "value", or "build a thesis on" a ticker, or to refresh an existing analysis after earnings or a large price move.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
9.0 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it
Financial Analysis — Hedge-Fund-Grade Equity Deep Dive
Disclaimer — read before use. This skill produces educational research output, not financial advice. Verdicts, entry zones, and position sizes are analytical exercises generated by a language model from third-party data that may be wrong, stale, or incomplete. Nothing here is a recommendation to buy or sell any security. Verify primary filings before acting on anything, and consult a licensed adviser where appropriate. Use at your own risk.
Overview
A complete bottom-up equity analysis workflow. One run produces two files:
| File | Content | Template |
|---|---|---|
TICKER.md | Qualitative thesis: supply chain, operating model, pricing power, customer concentration, management, capital allocation, 12–18 month thesis roadmap (named catalyst + sector triggers + checkpoint schedule), score card | references/qualitative-template.md |
TICKER_deep.md | Quantitative: market snapshot, 4-year financials, Damodaran DCF (bear/base/bull), quant metrics + Piotroski + Altman, Schilit forensics, technicals, Porter's Five Forces, integrated verdict | references/deep-template.md |
Framework arithmetic (WACC, F-Score, Z-Score variants, Schilit thresholds, Porter scoring) lives in references/frameworks.md.
Completeness is the point. Every section in both templates is mandatory. If data is unavailable, write the section anyway and state the limitation — never silently omit it.
Exit Discipline — the stance this skill takes
This skill encodes a pyramid-on-winners / structural-sell-only philosophy. If you prefer trimming on valuation or price targets, this skill is not for you — that is a legitimate style; it just isn't this one.
- Trims and exits are triggered ONLY by named structural changes to the thesis — pre-registered invalidators firing, not price behavior.
- Price-target hits, position-size growth, parabolic patterns, mean-reversion expected-value math, and "valuation looks stretched" are NOT exit triggers. A position growing large via thesis playout is the desired outcome of pyramiding, not a violation.
- Initial-entry size caps apply to entries, not to positions that grew.
- DO NOT GENERATE "trim at $X" / "scale to N% by $Y" / stop-ladder exit schedules. If you find yourself writing a price-based exit rule, stop and re-frame it as a structural-sell trigger.
- Mean-reversion analytics (reverse-DCF reads, negative-EV math) MAY be included as context, flagged informational — not a decision rule.
The one bounded exception is the 3-key Valuation Backstop defined in the deep template — a partial risk-management de-risk requiring extreme valuation AND a mania cluster AND an oversized position simultaneously. Absent any one key, valuation does nothing.
Structural-Sell Decision Rule (memorize)
Signals are staged: S1 peak narrative (informational), S2 supply/cost breakdown, S3 demand/customer breakdown, S4 technical (timing only).
| Situation | Action |
|---|---|
| Stage 1 only | INFORMATIONAL — do nothing |
| Stage 2 single signal | WATCH — refresh analysis in 30d |
| Stage 3 single signal | WATCH — refresh analysis in 30d |
| Stage 2 × 2 concurrent | TRIM 25–50% |
| Stage 3 × 2 concurrent | TRIM 25–50% |
| Stage 2 + Stage 3 concurrent | MANDATORY — trim 50% |
| Any 3 concurrent S2/S3 signals | Consider full exit |
| Stage 4 alone | DO NOTHING — price is not thesis |
S2 and S3 are weighted symmetrically: a single signal of either type is a
watch tier; concurrence escalates. Valuation amplifier: while the name's
valuation tier (MGDV block, deep template §3) is 🟡 Rich or 🔴 Extreme,
amplify any structural action one notch — single S2/S3 → TRIM 25–50%;
S2+S3 concurrent → full exit. Valuation never fires alone; it only amplifies
a real structural signal. Exception — binary per-name triggers:
the named L1-<TICKER>-N triggers you write in the deep template are
pre-escalated encodings of this matrix (persistence and concurrence are
built into their definitions, e.g. "ASP falls >15% QoQ for 2 consecutive
quarters"). A CONFIRMED binary trigger fires the action stated in its own
definition without being re-scored against the single-signal=WATCH row. The
matrix governs raw signals not yet codified into a name's trigger set.
Workflow
Step 0 — Orientation
- Identify ticker, exchange, and the investment theme it belongs to.
- Ask the user for (or confirm) the output directory; default
./analysis/. - If
<output>/<TICKER>.mdalready exists, this is an update — read it first. - Confirm the IRR hurdle for reverse-DCF: default 15%; use a higher hurdle (e.g. 20%) for emerging-market listings where currency drag and country risk premium justify it. State the hurdle used in the output.
Step 1 — Data collection (before any writing)
Pull quotes, profile, 5y annual + 8q quarterly statements, key TTM metrics, analyst targets, insider trades, and RSI/SMA50/SMA200 — the full list with provider endpoints is in references/frameworks.md.
Dependency: this skill needs a market-data source (FMP MCP tools, Alpha
Vantage, or equivalent). If none is connected, STOP and tell the user which
data is needed. With user consent you may proceed from user-supplied figures
or filings — label every such number (user-supplied, unverified). Never
invent figures.
Step 2 — Write TICKER.md
Follow references/qualitative-template.md exactly.
Step 3 — Write TICKER_deep.md
Follow references/deep-template.md exactly.
Step 4 — Quality gates
Formatting gates:
- Both files at correct paths; every template section present
- DCF shows bear/base/bull with arithmetic, not just outputs
- Piotroski: all 9 signals individually documented
- Schilit: DSO, accrual ratio, OCF/NI explicitly computed
- Porter: all 5 forces individually scored
- Entry zone PRICE RANGES identical between the two files (labels differ by design: §6 "Aggressive Entry" = near-current; verdict "Deep-Value Accumulation" = deepest)
Safety gates (these are the ones that matter):
- Thesis Roadmap: structural catalyst named in ONE sentence, or explicitly marked "DIFFUSE" with conviction capped at MEDIUM — never left vague
- Thesis Roadmap: 2–4 sector triggers present, and NONE of them worded as an exit rule — disconfirming triggers feed WATCH/refresh only
- ≥4 named structural-sell triggers, each stage-tagged S2 or S3
- At least 1 trigger is S3 demand-side (not only supply-side)
- MGDV block populated and valuation tier assigned
- Zero price-based exit rules anywhere in either file — grep your own output for "trim at $", "stop at $", "scale out" before declaring done
- Disclaimer note present at the top of BOTH output files
Red Flags — STOP and re-frame
If you catch yourself writing any of these, you are violating the discipline:
- "Trim at $X" / "take profits above $Y" / "stop-loss at $Z" as a rule
- "Position is now N% of the book, consider trimming" — size ≠ signal
- "Stock hit the bull-case DCF, de-risk" — a DCF target is not an exit
- "Parabolic move, mean-reversion is likely" — that's S4-only, do nothing
- "Priced for perfection per reverse-DCF" — informational context only
| Rationalization | Reality |
|---|---|
| "A price ladder is just risk management" | It is a valuation exit with extra steps. Use named structural triggers. |
| "This one signal is really strong" | Single S2/S3 = WATCH. Concurrence escalates, conviction doesn't. |
| "The user will want profit targets" | The user chose a structural-sell skill. Offer targets only if explicitly asked, labelled informational. |
| "Valuation is extreme, surely that's enough" | Alone, it isn't. Backstop needs all 3 keys simultaneously. |
Common Mistakes
- Writing files before data collection finishes — partial data produces anchored, wrong numbers. Collect everything first.
- Applying the original Altman Z to non-manufacturers — use the Z″ variant per frameworks.md; the original mis-scores asset-light and financial names.
- Stale ERP — look up the current Damodaran US equity risk premium at analysis time; do not reuse a remembered constant.
- Skipping the reverse-DCF when price > bull case — that is precisely when it is mandatory.
- Copying analyst price targets into the MGDV — MGDV is fundamentals-only by construction; targets chase price in manias and would disarm the backstop.