name: update description: Refresh existing research note and Excel model with latest data argument-hint: TICKER
Update existing coverage for the company specified by the user: $ARGUMENTS
Before starting, read ../data-access.md for data access methods and ../design-system.md for formatting conventions. Follow the data access detection logic and design system throughout this skill.
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/:
reports/.tmp/{TICKER}_context.json(research note context)reports/.tmp/{TICKER}_model_context.json(model context)
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