Skip to content
Back to skills

Comps

ASecurity

Comparable company analysis, trading comps, peer multiples, EV/EBITDA comparison, P/E benchmarking, comps table, relative valuation, industry multiples, precedent transactions, trading comparable analysis

  • 206 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 1, 2026
ai-agentspythongobashapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 25, 2026

npx -y skills add agentii-ai/agentii-investment-intelligence --skill comps --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Comps?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Comps
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/agentii-ai-comps/badge)](https://www.skillsdirectory.com/skills/agentii-ai-comps)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: comps
multi_ticker_semantics: target_with_required_peers
description: Comparable company analysis, trading comps, peer multiples, EV/EBITDA comparison, P/E benchmarking, comps table, relative valuation, industry multiples, precedent transactions, trading comparable analysis
# Curated subset — provenance RECORDED 2026-09-21 (spec 058 T004/T005, FR-051).
#
# This value was NOT curated and reviewed. It reached the generated
# `skill-registry.yaml` first, by a hand-edit of that file on 2026-09-20 (commit
# `aea28b1`, "test and debug"), which put the repo red on Check 31 — the registry said
# `[retrieval-scope]` while this file declared no `essentials_modes` at all. Spec 058
# then reconciled the divergence by declaring the registry's value here, which is the
# declaration FR-051 asks for (the source of truth is this file; `sync-registry.sh`
# regenerates the registry from it — `sync_registry.build_entries()` reads
# `essentials_modes` straight from this frontmatter, so a hand-edit to the registry
# cannot survive a check).
#
# What is still OPEN is the curation itself: nobody has judged whether
# `retrieval-scope` is the right default for this skill. The kit's only documented
# derivation, `essentials_modes = first <=3 modes` (scripts/mode_backfill.py), would
# give `[preflight, triggers, defaults]` — this file's own document sections, not
# analysis modes — which is why that derivation is not what was applied. Note the
# asymmetry a reviewer should start from: `reverse-dcf` declares the SAME five modes
# (`preflight, triggers, defaults, methodology, retrieval-scope`) and defaulted to
# `[methodology]`, which is what `depth_to_modes`'s own fallback prefers where it
# exists. Two skills, identical declared sets, different answers, no recorded reason.
# Owner: whoever owns this skill's methodology.
essentials_modes: [retrieval-scope]
temporal_scope:
 default_quarters: 4
 max_quarters: 12
 description: "Typical lookback: 4 quarters, max: 12"
allowed_tools:
 - search_companies
 - search_xbrl_facts
 - get_company_financials
 - search_earnings_calendar
 - get_company_profile
 - list_xbrl_concepts
 - batch_search
 - search_documents
 - search_sec_filings
 - read_source_outline
 - read_source_deep_outline
 - read_source_pages
 - search_keyword_in_source
 - search_cross_period
 - get_statement_structure
 - xlsx-read
retrieval_scope: unstructured_document_search
min_tool_diversity: 5
---

## 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 comps analysis
- run comps analysis analysis
- produce comps analysis report
- comps analysis breakdown
- comps analysis deep dive
- build a comps analysis
- assess comps analysis
- quantify comps analysis
- compare comps analysis across peers
- review comps analysis for
- generate comps analysis on
- comps analysis for investment decision

## Defaults

| Parameter | Default | Notes |
|---|---|---|
| lookback_years | 3 | Historical data window |
| include_peers | false | Whether to surface a peer comparison block |

## Methodology

### Retrieval Scope

This skill performs unstructured document search at scale across SEC filings and earnings call transcripts (10-K, 10-Q, 8-K). The three-layer agent-use-ready retrieval protocol (Document Discovery → Page Map → Deep Read) applies to all unstructured document search at scale.

### Retrieval Strategy

See `contracts/retrieval.md` for the canonical decision tree; skill-specific retrieval detail is in `references/methodology.md`.

### Temporal Scope

Default: 12 fiscal quarters (max 20). Financial modeling: trailing 12 quarters (3 fiscal years) for long-range projection inputs.

### Tool Allowlist

See frontmatter `allowed_tools`.

### Protocol

Step-by-step execution detail is in `references/methodology.md`.

## Deliverable Chain

**Inputs** → **Build** → **Validate** → **Output** → **Next**

1. **Inputs**: resolved ticker + peers via `search_companies` + `search_xbrl_facts` for all tickers (revenue, EBITDA, EPS, multiples) + `get_company_financials`.
2. **Build**: write a self-contained Python script using `openpyxl` that creates the comps workbook (peer profiles, trading multiples, valuation summary) per `## Output Structure`. Execute via `Bash: python3 script.py`. Verify the `.xlsx` exists. If `import openpyxl` fails, fall back to `.md` summary with `data_availability: degraded` (see `contracts/office-tooling.md`).
3. **Validate**: run LibreOffice recalc; audit per `## Validation Gates`.
4. **Output**: write the artifact path per `## Output File`.
5. **Next**: append to `agentii.md`; hand off to a downstream pitch/review skill if requested.

## Validation Gates

1. **peer count**: between 4 and 8. *If failed*: If < 4: flag in Coverage Gaps, proceed with available peers. If > 8: trim to top 8 by sector proximity.
2. **trading multiples**: include EV/EBITDA + P/E at minimum. *If failed*: If either missing: flag which multiple is unavailable and why.
3. **comps statistics table**: present with mean, median, high, low for each multiple. *If failed*: If statistics table missing: refuse delivery.

4. **tool diversity**: distinct MCP tools used in this invocation >= `min_tool_diversity` (5). *If failed*: flag as depth-insufficient in Coverage Gaps, listing which tool categories were unused (structured data / document retrieval / company metadata / earnings calendar / coverage). This gate does NOT block analysis completion — it is a quality signal for your review.

## Tool Fallbacks

Per-tool failure modes and fallback actions are tabulated in `references/tool-fallbacks.md`.

## Output File

Write the final deliverable to `_cross/{descriptive-slug}_{YYYY-MM-DD_HHMM}_comps_{affix}.md` or `_sector/{sector_name}/{YYYY-MM-DD_HHMM}_comps_{affix}.md` .

## 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** — inline `/v/` citations are PRIMARY (immediately after each fact); the bottom **Citations** section is a non-duplicative roll-up index.
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; a bottom **Citations** section provides a non-duplicative roll-up index; 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 a compact **Key Citations** list (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. See `contracts/citation-and-memory.md`.

## Error Handling

| Failure Mode | Detection | Action | User-Facing Message |
|---|---|---|---|
| Missing data | Data API returns empty result set | Widen date range and retry once | "No data available for {ticker} in requested window." |
| Partial data | Data API returns <80% expected records | Proceed with coverage gaps section | "Analysis based on partial data; see Coverage Gaps section." |
| Sector mismatch | Peer sector != target sector | Filter out mismatched peers | "Removed {n} peer(s) due to sector mismatch." |
| Insufficient history | Ticker <3 years on public markets | Downgrade to limited-history profile | "Limited historical data; analysis adjusted accordingly." |
| MCP unreachable | Preflight probe fails | Halt with actionable error | "agentii data plane unreachable; check connection." |

Files in this skill

  • SKILL.md7.3 KB
  • references/formula-sheet.md280 B
  • references/institutional-defaults.md302 B
  • references/methodology.md1.8 KB
  • references/output-structure.md1.9 KB
  • references/tool-fallbacks.md1.8 KB
  • references/validation-checklist.md313 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.