Value Complex — Avantis small + large value, by weight
This skill reads Avantis's two flagship value ETFs straight from TickerTrace's
per-fund endpoint (/fund/<TICKER>) and lays out what changed under the hood,
grouped the way the value factor actually moves:
- AVUV — small-cap value ($12.5B, ~794 holdings) — the flagship.
- AVLV — large-cap value ($3.2B, ~272 holdings).
This is the per-fund holdings view that the daily stock-recap skill does
not pull. stock-recap only hits TickerTrace's cross-fund aggregates
(/briefing, /institutional, /divergences). This skill is the deep,
by-weight, per-fund value read.
What it groups, and why
For each fund (small tier → large tier), three lifecycle buckets:
- 🆕 New / Exited — positions TickerTrace flags
type=NEW or REMOVED.
Passive Avantis funds rarely open or close a name day-to-day, so when they do
it's meaningful. This is the literal "new adds."
- 📈 Conviction tilt — active over/under-weighting, inflow-stripped.
Every name in an inflow day shows a positive
sharesDelta (new money buys the
whole book pro-rata), so raw adds are noise. We compute each name's share growth
sharesDelta/previousShares, take the fund-wide median as the inflow tide,
and rank by the excess over that tide. Positive excess = the fund is genuinely
leaning into the name beyond mechanical inflow; negative = leaning out.
- 🔥 Up-streaks — names on multi-day winning runs (TickerTrace
streaks).
This is the cleanest momentum signal — independent of fund mechanics entirely.
Then the payoff, 🔗 cross-tier synthesis:
- Sector convergence — sectors that are streaking and/or tilting up in
both the small and large fund. (Exact-ticker overlap is rare because the
funds hold different cap tiers, so convergence is read at the sector/theme
level — e.g. "transports leading in both.")
- Flow tell — all-buys with zero trims = inflows into value (creations,
risk-on); a genuine mix of adds and trims = active rebalancing.
How to run it
node "$HOME/.claude/skills/value-complex/scripts/gather.mjs"
- Writes
runs/<date_time>/report.md + raw/fund_AVUV.json, raw/fund_AVLV.json.
- Prints the report to stdout and a final JSON line with
{reportPath, rawDir}.
- No key needed —
/fund/<TICKER> is public on TickerTrace. Presents a browser
User-Agent (the edge WAF 403s a bare Node UA). ~5–10s.
- Override the base with
TICKERTRACE_API_URL; funds with VC_FUNDS=AVUV,AVLV,AVMV.
Present it to Mike
Read the generated report.md and give a tight read, in this order:
- The flow tell first — are both funds taking inflows (value getting bought)
or net trimming? That frames everything.
- New / Exited names per fund — rare, so always call them out by name.
- Conviction tilt — the inflow-stripped over-weights. These are the names the
fund is actually leaning into, not just buying with the tide. Name the top 3–4
per tier and what sector they're in.
- Streaks — the momentum leaders, longest runs first.
- The cross-tier theme — the one or two sectors strong in both small and
large value. This is the headline ("the whole value complex is leaning into X").
Tie it to the tape: what's it rotating out of (usually mega-cap growth).
Notes / gotchas
weightDelta is not a clean signal on its own — it blends price drift with
share-count change. The report leads with the inflow-stripped excess instead;
it shows weightDelta as secondary context only. Don't present weightDelta as
"conviction" without the excess check.
- Data is daily and can lag — the report prints TickerTrace's
asOfDate;
surface it so Mike knows how fresh it is.
- Cross-tier convergence is sector-level, not ticker-level — small and large
funds rarely share a ticker; agreement shows up as a shared theme.
- Each run is a point-in-time snapshot under
runs/; nothing is overwritten and
old folders are safe to delete (gitignored under .claude/).
1---2name: value-complex3description: Avantis value-factor tracker — small-cap (AVUV) and large-cap (AVLV) value in one read, straight from TickerTrace's per-fund holdings. Groups by fund tier and by position lifecycle (new/exited, conviction tilt, up-streaks), ranked by weight, and surfaces the sector themes both funds agree on. Use when the user asks "what's the value factor doing", "what did AVUV/AVLV add", "new adds in value", "what are the value funds buying", "value complex", or wants the small-vs-large value read.4---56# Value Complex — Avantis small + large value, by weight78This skill reads Avantis's two flagship value ETFs straight from TickerTrace's9**per-fund** endpoint (`/fund/<TICKER>`) and lays out what changed under the hood,10grouped the way the value factor actually moves:1112- **AVUV** — small-cap value ($12.5B, ~794 holdings) — the flagship.13- **AVLV** — large-cap value ($3.2B, ~272 holdings).1415> This is the per-fund holdings view that the daily **stock-recap** skill does16> *not* pull. stock-recap only hits TickerTrace's cross-fund aggregates17> (`/briefing`, `/institutional`, `/divergences`). This skill is the deep,18> by-weight, per-fund value read.1920## What it groups, and why2122For **each fund** (small tier → large tier), three lifecycle buckets:23241. **🆕 New / Exited** — positions TickerTrace flags `type=NEW` or `REMOVED`.25 Passive Avantis funds rarely open or close a name day-to-day, so when they do26 it's meaningful. This is the literal "new adds."272. **📈 Conviction tilt** — active over/under-weighting, **inflow-stripped.**28 Every name in an inflow day shows a positive `sharesDelta` (new money buys the29 whole book pro-rata), so raw adds are noise. We compute each name's share growth30 `sharesDelta/previousShares`, take the **fund-wide median as the inflow tide,**31 and rank by the *excess* over that tide. Positive excess = the fund is genuinely32 leaning *into* the name beyond mechanical inflow; negative = leaning out.333. **🔥 Up-streaks** — names on multi-day winning runs (TickerTrace `streaks`).34 This is the cleanest momentum signal — independent of fund mechanics entirely.3536Then the payoff, **🔗 cross-tier synthesis:**37- **Sector convergence** — sectors that are streaking *and/or* tilting up in38 **both** the small and large fund. (Exact-ticker overlap is rare because the39 funds hold different cap tiers, so convergence is read at the sector/theme40 level — e.g. "transports leading in both.")41- **Flow tell** — all-buys with zero trims = **inflows into value** (creations,42 risk-on); a genuine mix of adds and trims = active rebalancing.4344## How to run it4546```bash47node "$HOME/.claude/skills/value-complex/scripts/gather.mjs"48```4950- Writes `runs/<date_time>/report.md` + `raw/fund_AVUV.json`, `raw/fund_AVLV.json`.51- Prints the report to stdout and a final JSON line with `{reportPath, rawDir}`.52- No key needed — `/fund/<TICKER>` is public on TickerTrace. Presents a browser53 User-Agent (the edge WAF 403s a bare Node UA). ~5–10s.54- Override the base with `TICKERTRACE_API_URL`; funds with `VC_FUNDS=AVUV,AVLV,AVMV`.5556## Present it to Mike5758Read the generated `report.md` and give a tight read, in this order:59601. **The flow tell first** — are both funds taking inflows (value getting bought)61 or net trimming? That frames everything.622. **New / Exited** names per fund — rare, so always call them out by name.633. **Conviction tilt** — the inflow-stripped over-weights. These are the names the64 fund is actually leaning into, not just buying with the tide. Name the top 3–465 per tier and what sector they're in.664. **Streaks** — the momentum leaders, longest runs first.675. **The cross-tier theme** — the one or two sectors strong in *both* small and68 large value. This is the headline ("the whole value complex is leaning into X").69 Tie it to the tape: what's it rotating *out of* (usually mega-cap growth).7071## Notes / gotchas7273- **`weightDelta` is not a clean signal on its own** — it blends price drift with74 share-count change. The report leads with the **inflow-stripped excess** instead;75 it shows weightDelta as secondary context only. Don't present weightDelta as76 "conviction" without the excess check.77- **Data is daily and can lag** — the report prints TickerTrace's `asOfDate`;78 surface it so Mike knows how fresh it is.79- **Cross-tier convergence is sector-level, not ticker-level** — small and large80 funds rarely share a ticker; agreement shows up as a shared *theme*.81- Each run is a point-in-time snapshot under `runs/`; nothing is overwritten and82 old folders are safe to delete (gitignored under `.claude/`).