Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Variance Commentary

ASecurity

Write variance commentary that tells a story instead of restating a table — templates for revenue, GM, opex, EBITDA, FCF with named drivers + materiality threshold applied. Source-cite every number. Used by `fpa-analyst` (primary) + `board-pack-composer`.

7 stars
0 votes
0 copies
0 views
Added 9/23/2026
ai-agentsgoapi

Works with

api

Security Analysis

A100/100

Scanned 9/23/2026

$npx -y skills add mcorbett51090/RavenClaude --skill variance-commentary --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Variance Commentary?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Variance Commentary
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-variance-commentary/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-variance-commentary)

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

Download with Pro
Files
SKILL.md
---
name: variance-commentary
description: Write variance commentary that tells a story instead of restating a table — templates for revenue, GM, opex, EBITDA, FCF with named drivers + materiality threshold applied. Source-cite every number. Used by `fpa-analyst` (primary) + `board-pack-composer`.
---

# Skill: variance-commentary

**Purpose:** How to write variance commentary that tells a story instead of restating a table. Used by `fpa-analyst` (primary), `board-pack-composer`, and any agent that produces a variance walk.

## When to use

- Monthly / quarterly variance walks for management review
- Variance commentary inserts for board / investor packs
- Forecast accuracy reviews
- Pre-audit "explain the year" sessions

## The shape of good commentary

Bad commentary describes the variance:
> Revenue was $1.2M below plan, driven by lower new bookings.

Good commentary names the driver:
> Revenue was $1.2M below plan because two enterprise deals (Customer A, $600K; Customer B, $550K) slipped from Q3 to Q4. Both are on Q4 close lists with weighted probability >70%. Net impact: Q4 will overshoot if both close; FY guidance unchanged.

The bad version restates the table. The good version tells the reader *why*, *what's next*, and *what to do with the information*.

## The variance-commentary canvas

For each material variance, write:

1. **What happened.** One sentence with the size of the variance.
2. **Why it happened.** One or two sentences with the actual driver, named specifically. Not "lower bookings" — *which* bookings, *which* customers, *which* segment.
3. **Direction over time.** Is this a one-time event, a trend, or part of a normal seasonal pattern?
4. **Impact on the outlook.** Does this change the forecast for the next period? The full year? The strategy?
5. **What's being done.** Who owns the response, what's the next-action / next-decision-point.

## Variance walks for the canonical P&L lines

### Revenue

- **Rate vs volume vs mix vs FX** decomposition. State which moved.
- For ARR: new vs expansion vs churn vs FX (if multi-currency).
- For services: hours billed × rate × utilization, separate each driver.

### Gross margin

- Mix shift (higher- vs lower-margin product / segment)
- Pricing changes
- Direct cost movements (COGS line items)
- One-time items (inventory write-down, refund reserve true-up)

### Operating expense (by function)

- Headcount actual vs plan, ramp timing
- Comp & benefits true-ups (commission, bonus accrual, payroll tax)
- Discretionary spend (marketing programs, travel, professional services)
- One-time items (severance, legal settlements, restructuring)

### EBITDA bridge

- Show the bridge from prior period or plan: starting EBITDA + each material driver (signed) = ending EBITDA. Each step on the bridge tied to a P&L line and an owner.

### Free cash flow

- EBITDA → working capital change → capex → cash interest → cash tax → FCF
- Working capital drivers (AR aging, AP timing, inventory build)
- Capex commitments coming due vs deferring

## Materiality

Declare the threshold up front:
> Commentary covers variances ≥ $50K or ≥ 5% of the line, whichever is greater.

Without this, you waste hours on noise and miss real signal.

## Common pitfalls

- **Restating the table in prose.** "Revenue of $5M is $1M below the $6M plan." That's the table; that's not commentary.
- **Naming a driver too high.** "Lower demand" is not a driver. "Lower demand in vertical X due to [specific event]" is.
- **Anchoring on the variance, not the absolute number.** A 50% favorable variance on a tiny line is rarely worth commentary; a 2% unfavorable on the largest line might be.
- **Confusing timing with miss.** A deal that closes in October instead of September is timing; a deal that's not closing is a miss. They have different responses.
- **No outlook implication.** Commentary without a "what does this mean for next period" is half-finished.
- **Forecast revisions reported as "same as last month."** If the forecast didn't move when reality moved, the forecast is broken.

## The 80/20

Most board / management readers can't internalize more than 5-7 variances. Pick the largest by absolute dollar (not %), comment on those well, and put the rest in a table with one-liner explanations in an appendix.

## See also

- Template: [`../../templates/variance-commentary.md`](../../templates/variance-commentary.md)
- Agent: [`../../agents/fpa-analyst.md`](../../agents/fpa-analyst.md)
- Agent: [`../../agents/board-pack-composer.md`](../../agents/board-pack-composer.md)
- Skill: [`../board-pack-composition/SKILL.md`](../board-pack-composition/SKILL.md) — for how variance commentary fits into a board pack

Attribution

mcorbett51090mcorbett51090
View sourceSee grades on GitHubMore from mcorbett51090 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698431 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →