recent-quarter · git:20261026.bc3b815 · 2026-10-26 · sha256 438af17adae34cfb
recent-quarter git:20261026.bc3b815A
Immutable. This exact content never changes and is served at /api/v1/blob/438af17adae34cfb.
---
name: recent-quarter
multi_ticker_semantics: single_target
description: Recent quarter performance analysis, quarterly earnings review, last quarter results, quarterly financial performance, analyze recent quarter, Q4 earnings, quarterly revenue breakdown, EPS this quarter, margin analysis recent quarter, sequential growth, quarterly performance review
essentials_modes: [consolidated-p-and-l, margin-analysis, earnings-vs-consensus]
temporal_scope:
default_quarters: 1
max_quarters: 4
description: "Resolve the quarter with resolve_period, then use its period_id. Recent quarter analysis focuses on the most recent quarter's P&L; max 4 quarters for sequential trend. as_of is the knowledge cutoff; no widen fallback."
allowed_tools:
- search_companies
- resolve_period
- search_xbrl_facts
- get_company_financials
- get_company_profile
- search_earnings_calendar
- get_company_fiscal_calendar
- get_ticker_coverage
- list_xbrl_concepts
- batch_search
- search_knowledge_entries
- get_knowledge_entry
- search_by_analogue
- search_documents
- read_source_outline
- read_source_pages
- search_insider_trades
- search_institutional_holdings
retrieval_scope: unstructured_document_search
min_tool_diversity: 8
---
# Recent Quarter Performance
## Preflight
Run canonical pre-flight per `contracts/preflight.md`.
Include the `X-Agentii-Trace` header on every tool call per `contracts/x-agentii-trace-header.md` — carry the `_run_id` from your first tool result and name yourself (and your parent, if you were spawned).
## Triggers
- analyze recent quarter performance for {ticker}
- quarterly earnings review for {ticker}
- last quarter results {ticker}
- quarterly financial performance {ticker}
- analyze {ticker} recent quarter
- {ticker} Q4 earnings
- {ticker} quarterly revenue breakdown
- EPS this quarter {ticker}
- margin analysis recent quarter {ticker}
- sequential growth {ticker}
## Defaults
| Parameter | Default | Notes |
|-----------|---------|-------|
| lookback_quarters | 1 | Single most-recent quarter |
| include_sequential | true | Show QoQ growth rates |
## Methodology
### 1. Retrieval Scope
This skill performs **structured data retrieval** (XBRL facts + earnings calendar) plus earnings call transcript document search (`search_documents(form_type="earnings_call_transcript")` → `read_source_pages`) to cross-reference management's call commentary against the reported quarter. Business-model structural analysis is handled by `/agentii:business-model` . This skill is TEMPORAL/QUANTITATIVE .
### 2. Retrieval Strategy
1. **Resolve the period first (mandatory)**: `resolve_period(ticker, "last quarter" or the user's period, as_of?)`; use the fiscal reading's `period_id`. Then `get_ticker_coverage/{ticker}` and route based on coverage. `get_company_fiscal_calendar` supplies declared periods/gaps, never a month-derived quarter.
2. **XBRL retrieval**: `search_xbrl_facts(ticker, concept=["Revenues","GrossProfit","OperatingIncomeLoss","NetIncomeLoss","EarningsPerShareDiluted"], period_id=<fiscal period_id>)` — returns `is_primary: true` rows by default.
3. **Earnings calendar**: `search_earnings_calendar(ticker, fiscal_year=<resolved fiscal year>)` — returns EPS actual/estimate/surprise. Read `date_basis` and `fiscal_source`; an estimate is not an observed date or a fiscal boundary.
4. **Consolidated P&L**: `get_company_financials(ticker, fiscal_year=<resolved fiscal year>, fiscal_period=<resolved fiscal period>)` returns IS/BS/CF highlights for that authority period.
5. **Knowledge cutoff**: pass `as_of` on every historical/point-in-time call; never use the wall clock. If the period is absent, return the typed absence and coverage gap; do not widen the date range.
**Read before you quote.** A page's `description` is **platform-generated** — it is never the issuer's
words and must never be quoted as the filing's. When a description identifies a relevant page,
`read_source_pages` that page and quote its `page_content`. **The description is a pointer, not a
source**: a citation written from one is the fabricated quote this skill's output standard exists to
prevent (`contracts/retrieval.md` § *Three-Layer Document Protocol*).
### 3. Temporal Scope
Default: 1 fiscal quarter (max 4). This skill is a temporal snapshot of the most recent quarter's financial performance.
### 4. Tool Allowlist
See frontmatter `allowed_tools`. `resolve_period` is the first call for any named period; `search_xbrl_facts(period_id=...)` is the primary data source for consolidated P&L metrics; `search_earnings_calendar` provides EPS actuals, estimates, and surprise data; `get_company_fiscal_calendar` supplies declared periods/gaps, never a month-derived quarter; `search_documents(form_type="earnings_call_transcript")` + `read_source_pages` cross-reference management commentary. Deep structural analysis belongs to `/agentii:business-model` .
### 5. Protocol
1. **Resolve first**: call `resolve_period(ticker, "last quarter" or the user's period, as_of?)`; keep its fiscal `period_id`, then `get_ticker_coverage/{ticker}` .
2. **XBRL retrieval**: `search_xbrl_facts(ticker, concept=["Revenues","GrossProfit","OperatingIncomeLoss","NetIncomeLoss","EarningsPerShareDiluted"], period_id=<fiscal period_id>)` — returns `is_primary: true` rows by default.
3. **Earnings calendar**: `search_earnings_calendar(ticker, fiscal_year=<resolved fiscal year>)` for EPS actuals, estimates, and surprise percentages; `date_basis`/`fiscal_source` are provenance, not a period boundary.
4. **Financial highlights**: `get_company_financials(ticker, fiscal_year=<resolved fiscal year>, fiscal_period=<resolved fiscal period>)` for IS/BS/CF summary data.
5. **Output**: produce P&L progression table with QoQ and YoY growth rates, margin trend chart data, and earnings-vs-consensus comparison; attach `temporal_frame` and use a typed absence instead of widening.
## Modes (5 — temporal / quantitative)
**This skill is temporal/quantitative ONLY.** Structural analysis (business model classification, product-line decomposition, channel analysis) belongs to `/agentii:business-model` . Modes below focus on quarterly P&L data, growth rates, margins, and earnings vs. consensus.
### Analyst Modes
This skill exposes addressable analysis modes (`--mode=<slug>` / `--modes=<s1>,<s2>` / `--mode=all`; see [Mode syntax](../../../../docs/commands/MODE_SYNTAX.md)). The full mode definitions and their output templates live in `references/modes.md`. The default invocation runs the essentials subset.
## Tool Fallbacks
Per-tool failure modes and fallback actions are tabulated in `references/tool-fallbacks.md`.
## Output File
Write the final deliverable to `{ticker}/{YYYY-MM-DD_HHMM}_recent-quarter_{affix}.md` . Example affixes: `consolidated-p-and-l`, `margin-trends`, `earnings-vs-consensus`.
## Output Structure
The deliverable is a structured markdown report written to the path in `## Output File`. Full section-by-section template (headings, tables, and field definitions) lives in `references/output-structure.md`. Required elements:
1. **Executive Summary** — headline conclusions (≤200 words).
2. **Core analysis sections** — per this skill's methodology and analyst modes.
3. **Data classification** — tag findings `[FACT]` / `[DEDUCTED]` / `[VIEW]` per `contracts/snapshot-synthesis.md`.
4. **Coverage Gaps & Citations** — coverage gaps are required; inline `/v/` citations are the citation surface (immediately after each fact). A bottom roll-up index is optional, and where kept it must not repeat a link the prose already carries.
5. **Output frontmatter** — emit the FR-090 structured block per `contracts/output-frontmatter-schema.md`.
**Citations & memory**: follow `contracts/citation-and-memory.md` — ≥1 citation per 200 words; every material fact, table row, and metric is immediately followed by its inline clickable `https://agentii.ai/v/{ticker}/{citation_id}/{N}` link; citations belong inline, a bottom roll-up index is optional and never a repeat of a link already given; the closing TUI reply includes a compact **Key Citations** list (headline 5–10 facts) of clickable `/v/` URLs; and append the run to `agentii.md` per `contracts/agentii-md-schema.md`.
## Memory & Snapshot
- **Memory load** (pre-flight): load prior workspace context for the ticker before retrieval — see `contracts/memory-load.md`.
- **Structured output frontmatter**: emit the FR-090 block (`key_metrics`, `conclusions`, `facts_count`, `deducted_count`, `views_count`, `citation_count`) per `contracts/output-frontmatter-schema.md`.
- **Snapshot synthesis**: after writing the deliverable, update the two-tier snapshot and classify findings as `[FACT]`/`[DEDUCTED]`/`[VIEW]` — see `contracts/snapshot-synthesis.md`.
- **Session archival**: record the run under `sessions/{YYYY-MM-DD}/` and update `sessions/INDEX.md` per `contracts/session-format.md`.
## Final Summary (TUI)
End the closing chat reply with the summary shape in `contracts/citation-and-memory.md` — Citation Placement Policy item 3: title · key conclusions · key metrics · Executive Summary · **Key Citations** (the headline 5–10 facts, each a clickable `https://agentii.ai/v/{ticker}/{citation_id}/{N}` link), so the user can cmd+click straight to the exact SEC page without opening the file.
## Error Handling
| Failure Mode | Detection | Action | User-Facing Message |
|-------------|-----------|--------|---------------------|
| Missing data | Data API returns empty result set | Return the typed absence and the coverage gap; do not widen the date range | "No data available for {ticker} in the resolved period." |
| Partial data | Data API returns <80% expected records | Proceed with coverage gaps section | "Analysis based on partial data; see Coverage Gaps section." |
| MCP unreachable | Preflight probe fails | Halt with actionable error | "agentii data plane unreachable; check connection." |
**Ownership & insider signals**: `search_institutional_holdings` (top-10 holders + whale portfolios, `direction=accumulating|reducing|new|exited`) and `search_insider_trades` (Form-4 transactions with SEC URLs) are available as signal inputs.