# Update

> Refresh existing research note and Excel model with latest data

- Skill: `daloopa/update` (Agent Skill)
- Install (CLI): `npx skillmds@latest add daloopa/update`
- Raw SKILL.md: https://api.skillmd.com/api/skills/daloopa/update/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: daloopa (https://skillmd.com/u/daloopa)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/daloopa/update

---


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:**
1. Overwrite context: `reports/.tmp/{TICKER}_context.json`
2. Re-generate charts with updated data
3. 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:**
1. Overwrite context: `reports/.tmp/{TICKER}_model_context.json`
2. 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](https://daloopa.com/src/{fundamental_id})

