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.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add kv0906/pm-kit --skill report --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Report?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/kv0906-report)More formats (shields.io, HTML) on the badges page.
---
name: report
description: 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.
allowed-tools: Read, Bash, Glob, Grep, Write, TaskCreate, TaskUpdate, TaskList, TaskGet
user-invocable: true
---
# /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.Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!