git clone https://github.com/daloopa/investing
T=$(mktemp -d) && git clone --depth=1 https://github.com/daloopa/investing "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/update" ~/.claude/skills/daloopa-investing-update && rm -rf "$T"
.claude/skills/update/SKILL.mdUpdate existing coverage for the company specified by the user: $ARGUMENTS
Before starting, read
for data access methods and ../data-access.md
for formatting conventions. Follow the data access detection logic and design system throughout this skill.../design-system.md
This skill refreshes existing deliverables with the latest quarterly data, highlights what changed, and re-renders both outputs.
Phase 1 — Load Existing Context
Check for existing context files in
reports/.tmp/:
(research note context)reports/.tmp/{TICKER}_context.json
(model context)reports/.tmp/{TICKER}_model_context.json
If neither exists, tell the user: "No existing coverage found for {TICKER}. Run
/initiate {TICKER} first to create initial coverage." and stop.
Read the existing context(s) to understand what periods and data were previously gathered.
Phase 2 — Identify New Data
Look up the company using
discover_companies. Capture company_id, latest_calendar_quarter (anchor for all period calculations — see ../data-access.md Section 1.5), and latest_fiscal_quarter. Note the firm name for report attribution (default: "Daloopa") — see ../data-access.md Section 4.5.
Compare to the periods in existing context. Determine which new quarters need to be pulled.
If no new quarters are available, tell the user: "Coverage is already current through {latest_period}. No new data to update." and stop.
Phase 3 — Pull Fresh Data
Pull data for ALL periods (not just new ones) to ensure consistency:
- Full Income Statement, Balance Sheet, Cash Flow
- Segments, KPIs, Guidance
- Share count, buyback activity
This refreshes the entire dataset, catching any Daloopa revisions to prior quarters.
Phase 4 — Market Data Refresh
Get current prices, trading multiples, and risk-free rate (see ../data-access.md Section 2).
Also refresh peer multiples if comps data exists in context.
Phase 5 — Re-run Projections
With updated historical data, re-run projections. If a projection engine is available (see ../data-access.md Section 5), use it. Otherwise project manually.
Phase 6 — Diff Analysis
Save the new context alongside the old:
- Write new context to
reports/.tmp/{TICKER}_context_new.json - Run:
python infra/report_differ.py --old reports/.tmp/{TICKER}_context.json --new reports/.tmp/{TICKER}_context_new.json --output reports/.tmp/{TICKER}_diff.json - Read the diff to understand what changed
Key changes to highlight:
- Revenue/EPS beats or misses vs prior estimates
- Margin changes (expansion or compression)
- Guidance changes (raised, lowered, maintained)
- New KPI data points
- Share count changes (buyback acceleration/deceleration)
- Valuation changes (price moved, multiples shifted)
Phase 7 — Update Qualitative Sections
Search filings for the new quarter(s):
- Earnings highlights and management commentary
- Updated guidance language
- New risk factors or strategic shifts
- Update investment thesis if data warrants it
Revise the executive summary and key findings to reflect the latest quarter.
Phase 8 — Re-render Outputs
Update charts with new data points, then re-render:
Research Note:
- Overwrite context:
reports/.tmp/{TICKER}_context.json - Re-generate charts with updated data
- Run:
python infra/docx_renderer.py --template templates/research_note.docx --context reports/.tmp/{TICKER}_context.json --output reports/{TICKER}_research_note.docx
Excel Model:
- Overwrite context:
reports/.tmp/{TICKER}_model_context.json - Run:
python infra/excel_builder.py --context reports/.tmp/{TICKER}_model_context.json --output reports/{TICKER}_model.xlsx
Phase 9 — Change Summary
Present a clear summary of changes to the user:
## {TICKER} Coverage Update — {new_quarter} Added ### Key Changes - Revenue: $XX.XB vs $XX.XB prior quarter (+X.X% QoQ, +X.X% YoY) - EPS: $X.XX vs $X.XX guidance (beat/miss by X.X%) - Gross Margin: XX.X% vs XX.X% prior quarter (+/- XXbps) - {other notable changes} ### Projection Updates - {what changed in forward estimates and why} ### Valuation Impact - DCF implied price: $XXX (was $XXX, change of +/-X%) - Comps implied range: $XXX - $XXX ### Files Updated - Research note: reports/{TICKER}_research_note.docx - Excel model: reports/{TICKER}_model.xlsx - Diff report: reports/.tmp/{TICKER}_diff.json
All financial figures must use Daloopa citation format: $X.XX million