Refresh existing research note and Excel model with latest data
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.
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.
Look up the company using discover_companies. Capture , (anchor for all period calculations — see Section 1.5), and . Note the firm name for report attribution (default: "Daloopa") — see Section 4.5.
Compare to the periods in existing context. Determine which new quarters need to be pulled.
company_idlatest_calendar_quarter../data-access.mdlatest_fiscal_quarter../data-access.mdIf no new quarters are available, tell the user: "Coverage is already current through {latest_period}. No new data to update." and stop.
Pull data for ALL periods (not just new ones) to ensure consistency:
This refreshes the entire dataset, catching any Daloopa revisions to prior quarters.
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.
With updated historical data, re-run projections. If a projection engine is available (see ../data-access.md Section 5), use it. Otherwise project manually.
Save the new context alongside the old:
reports/.tmp/{TICKER}_context_new.jsonpython infra/report_differ.py --old reports/.tmp/{TICKER}_context.json --new reports/.tmp/{TICKER}_context_new.json --output reports/.tmp/{TICKER}_diff.jsonKey changes to highlight:
Search filings for the new quarter(s):
Revise the executive summary and key findings to reflect the latest quarter.
Update charts with new data points, then re-render:
Research Note:
reports/.tmp/{TICKER}_context.jsonpython infra/docx_renderer.py --template templates/research_note.docx --context reports/.tmp/{TICKER}_context.json --output reports/{TICKER}_research_note.docxExcel Model:
reports/.tmp/{TICKER}_model_context.jsonpython infra/excel_builder.py --context reports/.tmp/{TICKER}_model_context.json --output reports/{TICKER}_model.xlsxPresent 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