Skip to content
guidance-inventory logo

Guidance Inventory

guidance-inventory

Builds and maintains cumulative guidance inventory for a company. Use when collecting historical guidance, updating guidance after earnings, preparing context for prediction/attribution workflows, or when user asks about company outlook, earnings guidance, management expectations, forward forecas...

SKILL.md

Full skill instructions

Guidance Inventory

Builds cumulative guidance state per company. This is a DATA skill (pure collection) — analysis happens in attribution.

Thinking: ALWAYS use ultrathink for maximum reasoning depth when extracting and classifying guidance.

Input: {ticker} {accession_no} {quarter} (e.g., AAPL 0001193125-24-000001 2)

Critical: Every guidance entry has TWO dates — must track BOTH:

  • Given Date: When management issued the guidance (citation timestamp)
  • Period Covered: What fiscal period the guidance is FOR (Q2 FY25, FY25, etc.)

Table of Contents

  1. Quick Reference
  2. Arguments
  3. Workflow
    • Step 1: Determine Scope
    • Step 2: Get Company Fiscal Profile
    • Step 3: Gather Guidance
    • Step 4: Extract Guidance Entries
    • Step 5: Classify Action
    • Step 6: Write Output
  4. Guidance Types to Capture
  5. Period Types
  6. 10 Critical Capture Items
  7. Citation Requirements
  8. Supersession Tracking
  9. File Lifecycle
  10. Integration with Other Skills
  11. What This Is NOT
  12. Invocation Examples
  13. Error Handling
  14. Reference Files
  15. Requirements Checklist
  16. Data Model Reference

Quick Reference

FieldValue
Outputearnings-analysis/​Companies/​{TICKER}/​guidance-inventory.md
ModeCumulative (grows over time, never overwrites)
TriggerQ1 = full historical build; Q>=2 = updated by attribution

Arguments

$ARGUMENTS = "{ticker} {accession_no} {quarter}"
  • ticker: Company symbol (e.g., AAPL)
  • accession_no: 8-K accession being processed
  • quarter: Which quarter (1, 2, 3, 4) — determines historical depth

Workflow

Step 1: DETERMINE SCOPE

IF quarter = 1:
    depth = "all"        # All available historical guidance
    action = "BUILD"     # Create new inventory
ELSE:
    depth = "3 months"   # From previous r.created to current r.created
    action = "UPDATE"    # Append to existing inventory

Step 2: GET COMPANY FISCAL PROFILE

Query Neo4j for fiscal year end:

MATCH (c:Company {ticker: $ticker})<-[:PRIMARY_FILER]-(r:Report {formType: '10-K'})
RETURN r.periodOfReport
ORDER BY r.created DESC LIMIT 1

The periodOfReport reveals FYE (e.g., 2024-09-30 = September FYE).

Build fiscal calendar — see FISCAL_CALENDAR.md.

Step 3: GATHER GUIDANCE

Source Priority (query in order):

PrioritySourceSkillReliabilityBest For
18-K EX-99.1 press release/​neo4j-reportHighestOfficial numbers
2Earnings transcript/​neo4j-transcriptHighContext, nuance, Q&A
3Alpha Vantage/​alphavantage-earningsHighConsensus estimates
4News/​neo4j-newsMediumReactions, analyst commentary
5Perplexity/​perplexity-searchMediumGap filling, historical
6WebSearchWebSearchMediumSEC filings, IR pages

See QUERIES.md for specific queries.

Step 4: EXTRACT GUIDANCE ENTRIES

For each guidance found, capture ALL of these fields:

- period_type: quarter | annual | half | long-range
  fiscal_year: 2025
  fiscal_quarter: 2              # null for annual
  calendar_start: "2025-01-01"   # Derived from FYE
  calendar_end: "2025-03-31"     # Derived from FYE
  status: future | current | past

  metric: "EPS"
  value_low: 1.50
  value_high: 1.70
  value_mid: 1.60
  unit: "USD"
  basis: "non-GAAP adjusted"     # CRITICAL: track definition

  given_date: "2025-02-05"       # When guidance was issued
  source_type: "8-K"
  source_id: "0001234567-25-000001"
  quote: "We expect Q2 EPS of $1.50 to $1.70"
  page_or_section: "Page 2, Outlook"

  action: INITIAL | RAISED | LOWERED | MAINTAINED | NARROWED | WIDENED | WITHDRAWN
  prior_value_mid: 1.55          # If action != INITIAL
  revision_pct: +3.2%            # (new_mid - prior_mid) / prior_mid

Step 5: CLASSIFY ACTION

Compare to prior guidance for same metric/​period:

ConditionActionSignal
No prior guidance existsINITIALSets anchor
Midpoint increasedRAISEDBullish
Midpoint decreasedLOWEREDBearish
Midpoint same, range narrowerNARROWEDMore certainty
Midpoint same, range widerWIDENEDMore uncertainty
Explicitly reiterated unchangedMAINTAINEDNeutral (can disappoint if beat expected)
Guidance removedWITHDRAWNUsually very bearish
Anchor Tracking & Revision Math

Q1 establishes the "anchor" for annual guidance. Track cumulative revision:

Q1 FY25 call: "FY25 EPS $12.00-$13.50" (anchor midpoint: $12.75)
Q2 FY25 call: "FY25 EPS $12.50-$13.50" (revision: +$0.25 midpoint, +2.0% from anchor)
Q3 FY25 call: "FY25 EPS $13.00-$14.00" (cumulative: +$0.75 from anchor, +5.9%)

Revision calculation: ((new_mid - anchor_mid) / anchor_mid) × 100

One Call → Multiple Periods

Each earnings call typically addresses MULTIPLE periods — track separately:

Q1 FY25 Earnings Call (Feb 2025):
├── Q1 FY25 (Oct-Dec 2024): ACTUALS REPORTED      ← past period
├── Q2 FY25 (Jan-Mar 2025): NEW GUIDANCE          ← future (quarterly)
├── FY25 Full Year:         GUIDANCE UPDATED      ← current (annual)
└── Sometimes: FY26:        PRELIMINARY OUTLOOK   ← future (next year preview)

Step 6: WRITE OUTPUT

Use template in OUTPUT_TEMPLATE.md.

Critical Rules:

  • Never overwrite existing content — always APPEND
  • Each update gets a timestamped section header
  • Include evidence ledger entry for every data point

Guidance Types to Capture

Financial - Hard Numbers

MetricCommon Variants
EPSGAAP, Non-GAAP, Adjusted, Diluted
RevenueTotal, By Segment, Organic vs Reported
Gross Margin%
Operating MarginGAAP, Non-GAAP
Net IncomeGAAP, Adjusted
Free Cash FlowOperating CF minus CapEx
CapExTotal, By Category

Financial - Soft/​Qualitative

  • "Double-digit growth"
  • "Margin expansion of 50-100 bps"
  • "Flat year-over-year"
  • "Modest improvement"

Operational (Non-Financial)- few examples only, non exhasutive

  • Units / Subscribers / DAUs / MAUs
  • Store openings / closings
  • Headcount changes
  • Market share targets
  • Product launch timing

Period Types

Period TypeCoversTypical Pattern
QuarterlySingle quarter (3 months)Given for next quarter only
AnnualFull fiscal yearGiven in Q1, updated each quarter
Half-YearH1 or H2 (6 months)Some international companies
Long-RangeMulti-year targets"2027 targets", analyst days

10 Critical Capture Items (MUST-HAVE)

A. Guidance vs Consensus Gap

Company Guidance: "FY25 EPS $12.00-$13.50" (mid: $12.75)
Street Consensus: "$13.22"
Gap: -3.6% (company below street) → bearish signal

Track BOTH separately.

B. Metric Definition Drift

Q1: "Adjusted EPS excluding stock comp: $3.50"
Q2: "Adjusted EPS: $3.40"  ← Did definition change?

Note basis in every entry.

C. Segment-Level Guidance

Total Revenue: $10B
  - Cloud: $4B (guidance given)
  - Hardware: $6B (no guidance)

Capture both consolidated AND segment if available.

D. FX / Constant Currency

"Revenue growth 8-10% constant currency"
"Revenue growth 5-7% as reported"

Note which basis. FX assumption is a condition.

E. Conditional Guidance

"Guidance assumes no further Fed rate increases"
"Contingent on closing the Acme acquisition in Q3"

Track assumptions — they can invalidate guidance.

F. Pre-Announcements (Mid-Quarter Updates)

8-K filed mid-quarter: "Lowering Q2 guidance due to..."

These are often most market-moving. Query for 8-K Item 7.01 between earnings.

G. Guidance Policy

"Company does not provide quarterly guidance"

Track if company guides at all — absence is informative.

H. Historical Accuracy (Beat/​Miss Pattern)

Last 8 quarters: Beat guidance 7/​8 times
Average beat: +3.2%
Pattern: "Sandbagger" - guides low, beats high

This is predictive signal. Track in company profile section.

I. Comparable Periods

FY25 Q2 guidance vs FY24 Q2 actual (YoY)
FY25 Q2 guidance vs FY25 Q1 actual (Sequential)

Link guidance to historical actuals for context.

J. Range Asymmetry

Range: $12.00-$14.00, Midpoint: $13.00
Low end = -8% from mid, High end = +8% from mid → symmetric
Low end = -2%, High end = +14% → asymmetric bullish

Range shape signals management confidence.


Citation Requirements (Non-Negotiable)

Every guidance entry MUST have:

  • source_type: 8-K, Transcript, News, Perplexity
  • source_id: Accession number or URL
  • given_date: When guidance was issued (ISO format)
  • quote: Exact quote or close paraphrase
  • page_or_section: Where in source (if applicable)

No citation = No entry


Supersession Tracking

When guidance is updated, the old entry is superseded (not deleted):

# Entry 1 (superseded)
entry_id: "FY25-EPS-001"
value: "$6.60-$7.30"
given_date: "2024-11-01"
status: superseded
superseded_by: "FY25-EPS-002"

# Entry 2 (current)
entry_id: "FY25-EPS-002"
value: "$6.80-$7.40"
given_date: "2025-02-05"
status: active
superseded_by: null

This preserves the revision history chain.


File Lifecycle

Q1 (First Report for Company):
    earnings-orchestrator
        ↓
    /​guidance-inventory BUILD
        ↓
    Creates: {TICKER}/​guidance-inventory.md (from all historical)

Q2-Q4 (Subsequent Reports):
    earnings-orchestrator
        ↓
    /​guidance-inventory UPDATE
        ↓
    Appends: new guidance from current filing

Real-time (Future - Deferred):
    Background process monitors mid-quarter 8-Ks
        ↓
    Auto-triggers UPDATE

Integration with Other Skills

SkillRelationship
earnings-orchestratorCALLS this skill for both BUILD (q=1) and UPDATE (q>=2)
earnings-predictionREADS guidance-inventory to know prior expectations
earnings-attributionREADS guidance-inventory for surprise calculation

Note: This skill is called from orchestrator (Layer 1, forked). Task tool is BLOCKED.


What This Is NOT

  • NOT consensus estimates storage — consensus lives in prediction/​attribution reports
  • NOT met/​missed analysis — that's attribution's job
  • NOT forward guidance interpretation — just data collection
  • Pure inventory only — no analysis, no recommendations

Invocation Examples

BUILD mode (Q1 - Initial)

/​guidance-inventory AAPL 0001193125-24-000001 1

Creates full historical inventory from all available 8-Ks and transcripts.

UPDATE mode (Q2-Q4)

/​guidance-inventory AAPL 0001193125-24-000123 2

Appends only new guidance from the current quarter's filing.

From orchestrator

Skill: guidance-inventory
Args: "GBX 0001193125-23-002899 1"

Called automatically by earnings-orchestrator for each 8-K.


Error Handling

ScenarioAction
No 8-K foundLog warning, return empty inventory section
No EX-99.1 exhibitTry transcript, then Perplexity fallback
No guidance in filingNote "No forward guidance provided" in inventory
Neo4j query failsRetry once, then log error and continue with other sources
Company doesn't provide guidanceRecord in Guidance Policy field, don't fabricate
FYE not determinableQuery Perplexity, assume December if no data
Ambiguous period referenceNote ambiguity in quote, use best interpretation

Principle: Never fabricate guidance. If not found, document absence.


Reference Files


Input from guidance-extract (guidance.csv)

The guidance-extract agent outputs to earnings-analysis/​Companies/​{TICKER}/​guidance.csv. This file uses an 18-field pipe-delimited format (+ quarter context = 19 fields).

Field Mapping from guidance.csv

guidance.csv FieldTypeMaps to GuidanceEntry
quarterstringContext (which earnings call)
period_typeenumperiod.period_type
fiscal_yearintperiod.fiscal_year
fiscal_quarterint/.period.fiscal_quarter (. = null for annual)
segmentstringAdditional context for segment-level guidance
metricstringmetric
lowfloat/.value_low
midfloat/.value_mid
highfloat/.value_high
unitstringunit
basisstringbasis
derivationenumNew field: explicit, calculated, point, implied
qualitativestring/.Soft guidance text when numeric not available
source_typestringsource_type
source_idstringsource_id
source_keystringWhich content in source (e.g., EX-99.1, full)
given_datedategiven_date
sectionstringpage_or_section
quotestringquote (pipes replaced with ¦)

Derived Fields (computed by guidance-inventory)

FieldHow Derived
calendar_startFrom fiscal_year + fiscal_quarter + company's fiscal_year_end_month
calendar_endFrom fiscal_year + fiscal_quarter + company's fiscal_year_end_month
statusCompare calendar_end vs current date: future, current, past
actionCompare to prior guidance for same metric/​period: INITIAL, RAISED, LOWERED, etc.
entry_idGenerate unique ID: {metric}-{period_type}-{fiscal_year}-{sequence}

Derivation Field Interpretation

derivationMeaningNumeric Fields
explicitAll three values stated by managementlow, mid, high populated
calculatedmid = (low+high)/​2 computed by agentlow, high from source; mid calculated
pointSingle value: "around $15B"low = mid = high (same value)
impliedQualitative only, no numberslow, mid, high = .; qualitative populated

Handling Qualitative Guidance

When derivation=implied, the qualitative field contains non-numeric guidance:

  • "double-digit" → Growth expectation without specific number
  • "low to mid single digits" → Range expressed qualitatively

These entries should be captured in guidance-inventory with the qualitative text preserved in the quote field and noted in analysis context.


Requirements Checklist

RequirementHow Addressed
Period associationEvery entry has period_type, fiscal_year, fiscal_quarter
Quarter vs Annualperiod_type field distinguishes
Fiscal year trackingfiscal_year + company fiscal_year_end_month
Calendar mappingcalendar_start / calendar_end derived from FYE
Future vs Paststatus field: future / current / past
Supersessionsuperseded_by links to newer guidance entry
Anchor trackingQ1 annual guidance marked, revisions calc'd vs anchor
Both dates trackedgiven_date (citation) + period fields (target)

Data Model Reference

@dataclass
class GuidancePeriod:
    """Represents a fiscal period that guidance covers."""
    period_type: Literal["quarter", "annual", "half", "long-range", "other"]
    fiscal_year: int                    # e.g., 2025
    fiscal_quarter: Optional[int]       # 1-4 for quarters, None for annual
    calendar_start: date                # Derived from company FYE
    calendar_end: date                  # Derived from company FYE

    def status(self, as_of: date) -> Literal["future", "current", "past"]:
        if self.calendar_end < as_of:
            return "past"
        elif self.calendar_start <= as_of <= self.calendar_end:
            return "current"
        else:
            return "future"

@dataclass
class GuidanceEntry:
    """A single guidance data point."""
    entry_id: str                       # e.g., "FY25-EPS-001"
    period: GuidancePeriod
    metric: str                         # "EPS", "Revenue", etc.
    value_low: Optional[float]
    value_mid: Optional[float]
    value_high: Optional[float]
    unit: str                           # "USD", "%", "B USD"
    basis: str                          # "GAAP", "non-GAAP adjusted"

    # Citation (required)
    source_type: str                    # "8-K", "Transcript", "News"
    source_id: str                      # accession or URL
    given_date: date                    # When guidance was issued
    quote: str                          # Exact quote
    page_or_section: Optional[str]      # Where in source

    # State
    action: Literal["INITIAL", "RAISED", "LOWERED", "MAINTAINED", "NARROWED", "WIDENED", "WITHDRAWN"]
    status: Literal["active", "superseded", "withdrawn"]
    superseded_by: Optional[str]        # Entry ID of newer guidance

Version 1.6 | 2026-01-17 | Added Input line for quick reference

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
Any Summary logo
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View