# Report

> Executive briefing in plain language — report to me like I'm the CEO or product owner. Business impact and user impact only, no jargon. Use for "/report", "/report project-a", "report to me", "brief me", "what should I know", "executive summary", or when user wants a non-technical status update focused on outcomes not implementation.

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

---


# /report — Report to Me

Brief the user as if they are the CEO or product owner. Plain language. Outcomes over output. No technical jargon unless translated into business or user impact.

## Context

Today's date: `!date +%Y-%m-%d`

Config: @_core/config.yaml
Processing logic: @_core/PROCESSING.md
Preview rules: @.claude/rules/preview-formats.md (when `--preview`)

## Usage

```
/report
/report project-a
/report all
/report project-a --week
/report all --preview
/report project-a --save --preview
```

## Flags

| Flag | Effect |
|------|--------|
| `--week` | Last 7 days (default) |
| `--since {date}` | Custom start date |
| `--save` | Write to `reports/{date}-executive-brief-{project}.md` |
| `--preview` | Also render HTML via `shell-executive.html` |
| `--risks-only` | Skip shipped/WIP — focus on blockers and decisions needed |

## Session Task Progress

```
TaskCreate: "Gather vault signals"
  activeForm: "Reading vault for executive signals..."

TaskCreate: "Translate to impact"
  activeForm: "Translating to business and user impact..."

TaskCreate: "Deliver brief"
  activeForm: "Preparing your briefing..."
```

## Voice & Rules

**You are briefing a decision-maker, not an engineer.**

### Always

- Lead with what matters most to the business
- Explain what changed for **users** (faster, safer, clearer, unblocked)
- Explain what changed for the **business** (revenue, risk, speed, cost, trust)
- Use short sentences. No acronyms without plain-English translation
- Quantify when data exists ("3 items shipped", "1 blocker overdue")
- End with what needs **their** decision or attention

### Never

- Stack traces, API names, framework choices, sprint mechanics
- "We merged PR #412" → say what capability that unlocks for users
- "Blocked on Redis" → say "users may see slower checkout until caching is fixed"
- Jira ticket IDs, branch names, implementation details
- Passive voice that hides ownership

### Translation examples

| Vault says | Report says |
|------------|-------------|
| Merged auth migration PR | Users can now sign in with their company account — fewer password resets |
| Blocked on API rate limits | Checkout may fail during peak traffic until we secure higher API limits |
| Decided PostgreSQL over MongoDB | We chose a database that handles financial transactions more reliably — reduces data-loss risk |
| WIP on notifications | Users will soon get alerts when their order ships — not live yet |

## Processing Steps

### 1. Parse Input

- Project: specific id, or `all` (default: all active projects from config)
- Timeframe: `--week` or `--since`

### 2. Gather Signals

Scan vault (same sources as `/progress`, different lens):

| Source | Extract for executive view |
|--------|---------------------------|
| `daily/*.md` | Shipped items, WIP themes, blocked themes |
| `blockers/{project}/*.md` | Open blockers — severity, due, user/business impact |
| `decisions/{project}/*.md` | Recent decisions — what it means for product direction |
| `docs/{project}/*.md` | Active specs — what capability is being built |
| `meetings/*.md` | Action items needing leadership input |

### 3. Synthesize Executive Brief

Structure output in this order:

```markdown
# Briefing — {Project or All Projects}
**{Date}** · {Period covered}

## Bottom Line
{2-3 sentences. Most important thing first. What should they walk away knowing?}

## What Users Get (or Will Get)
- {Shipped capabilities in user language}
- {In-progress capabilities — expected value, not ETA unless due date exists}

## Business Impact
- {Revenue, risk reduction, speed, cost, compliance, trust — only what's evidenced in vault}

## What's at Risk
- {Open blockers translated to user/business consequences}
- {Overdue items flagged clearly}

## Decisions Made (Recent)
- {Decision → why it matters to product/business, not technical rationale}

## Needs Your Attention
- {Explicit asks: approve, escalate, decide, unblock}
- {If nothing: "No decisions needed from you this period."}
```

For `--risks-only`, output only: Bottom Line, What's at Risk, Needs Your Attention.

### 4. Deliver

**Default:** Output to terminal. This is a spoken brief — concise, scannable.

**Do not** create files unless `--save` or `--preview`.

### 5. Optional: Save

If `--save`:
- Write markdown to `reports/{date}-executive-brief-{project}.md`
- Append vault log (action: `report`)

### 6. Optional: Preview

If `--preview`:
- Follow `/preview` workflow with `shell-executive.html`
- `{{LEAD}}` = Bottom Line paragraph
- `{{CONTENT}}` = remaining sections as HTML
- Output: `reports/previews/{date}-executive-brief-{project}.html`
- Open in browser unless `--no-open` passed through

### 7. Coaching Close

End with one direct line (PM Coach style):

> "The one thing I'd escalate: {highest-impact risk or decision}."

Or if clear:

> "You're in good shape — keep momentum on {top WIP theme}."

## Output Example

```
# Briefing — Project A
**2026-06-29** · Jun 22 – Jun 29

## Bottom Line
Checkout is live for most users, but peak-hour failures are still possible until we resolve the API limit blocker. No decisions needed from you today.

## What Users Get (or Will Get)
- Company sign-in is live — fewer password reset support tickets
- Order shipping alerts are in progress — users will know when packages leave the warehouse

## Business Impact
- Sign-in migration reduces support load and improves enterprise deal readiness
- Shipping alerts expected to cut "where is my order?" contacts

## What's at Risk
- API rate limits may cause checkout failures during promotions — backend team owns fix, due Friday

## Decisions Made (Recent)
- Chose PostgreSQL for billing data — stronger protection for payment records

## Needs Your Attention
- No decisions needed from you this period.

---
The one thing I'd escalate: API rate limit blocker before next marketing push.
```

## Relationship to Other Skills

| Skill | Difference |
|-------|------------|
| `/progress` | Technical/project status for operators — tables, filenames, severity |
| `/report` | Executive brief — impact language, no implementation detail |
| `/preview` | Renders any content as HTML — use `--preview` on report for shareable brief |
| `/weekly` | Team retrospective — process-focused, not CEO briefing |

## Empty Vault Handling

If no data in timeframe:

```
No meaningful updates in the last 7 days for {project}.
Suggest: run /daily to start capturing, or widen with --since.
```

Do not fabricate impact statements.
