---
name: sla-reporter
description: Produces a monthly service-level report with uptime, incidents, MTTR, trends, and a narrative commentary suitable for exec and customer distribution.
version: 1.0.0
author: VantagePoint Networks
audience: IT Managers, Service Delivery Managers, Customer Success Leads, MSP Account Managers
output_format: Formatted Markdown service report with KPI dashboard, incident summary, trend commentary, SLA credit statement, and an executive summary.
license: MIT
---

# SLA Reporter

Turns raw service data (tickets, incidents, uptime, SLA metrics) into a monthly report that stakeholders actually read and which holds up to customer scrutiny.

## How to use this skill

1. Download this `SKILL.md` file.
2. Place it in `~/.claude/commands/` (macOS/Linux) or `%USERPROFILE%\.claude\commands\` (Windows).
3. Run `/sla-reporter` in Claude Code. Paste or describe the period's data. Answer questions about context. Receive the report.

## When to use this

- You run an MSP or internal service desk and monthly customer reports are due.
- You're producing the quarterly board pack service section.
- You need to justify an SLA credit calculation (or defend against one that's wrong).
- You want every report across the year to follow the same shape so trends are visible.
- You're new to the role and need to set a reporting standard that isn't a 40-slide deck.

## What you'll get

- **KPI dashboard** - uptime, ticket volume, SLA compliance, MTTR, CSAT, first-time-fix, trend arrows vs prior period.
- **Service by service breakdown** - per-service availability and key incidents.
- **Incident summary** - every P1/P2 for the period, one-line each with root cause category.
- **Trend commentary** - what's changing, why, and what we're doing about it.
- **SLA credit statement** - where an SLA was breached, the calculation, and the credit offered.
- **Top risks** - looking forward, what we're watching for next period.
- **Exec summary** - 5-line readout for a board pack or customer exec.
- **Narrative** - 2-3 paragraphs explaining the numbers to a non-technical reader.

## Clarifying questions I will ask you

1. **What period does this report cover?** (Month / quarter / custom)
2. **Who is the audience?** (Internal exec / external customer / board / MSP client / regulator)
3. **Which services are in scope?** (List or "all")
4. **What SLA targets apply?** (Uptime %, response time, resolution time, by severity)
5. **Key numbers to hand:**
   - Uptime per service (% or minutes of outage)
   - Ticket counts by severity
   - Tickets closed in SLA / breached SLA
   - MTTR per severity
   - CSAT (if collected)
6. **Major incidents in the period?** (Brief one-liner each - the skill will request more detail)
7. **Anything customer-visible happening next period?** (Planned maintenance, upgrades, migrations)
8. **Any SLA credits due?** (We'll calculate if you paste the breach data)
9. **Tone?** (Direct / formal / reassuring / data-forward)
10. **Previous period figures?** (For trend arrows - optional but useful)

## Output template

```markdown
# Service Report - <period> - YYYY-MM(-DD)

**Report ID:** SR-<YYYY-MM>
**Period:** YYYY-MM-DD to YYYY-MM-DD
**Prepared for:** <audience - customer name / internal board / etc.>
**Prepared by:** <name / team>
**Confidentiality:** <Internal / Customer Confidential / Public>

## 1. Executive Summary
> <5 lines max. First line states the headline (met all SLAs / missed X SLAs / key event). Follow with numbers. End with "next period" forward look.>

## 2. Headline KPIs
| KPI | This period | SLA target | Status | vs last period |
|---|---|---|---|---|
| Availability (composite) | 99.XX% | 99.9% | Met / Missed | up/down |
| P1 MTTR | HH:MM | 4h | Met / Missed | up/down |
| P2 MTTR | HH:MM | 8h | Met / Missed | up/down |
| Tickets resolved in SLA | XX% | 95% | Met / Missed | up/down |
| CSAT | X.X / 5 | 4.2 | Met / Missed | up/down |
| First-time fix rate | XX% | 70% | Met / Missed | up/down |

## 3. Service-by-Service Availability
| Service | Uptime | Outage mins | SLA target | Status | Notable incidents |
|---|---|---|---|---|---|
| <Service A> | 99.98% | 9 | 99.9% | Met | None |
| <Service B> | 99.84% | 72 | 99.9% | Missed | INC-2026-0412 |
| <Service C> | 100% | 0 | 99.95% | Met | None |

## 4. Incident Summary

### P1 Incidents
| ID | Date | Service | Duration | Root cause category | Status |
|---|---|---|---|---|---|
| INC-2026-0412 | YYYY-MM-DD | <service> | 72m | Configuration change | Resolved; PIR complete |

### P2 Incidents
| ID | Date | Service | Duration | Root cause category | Status |
|---|---|---|---|---|---|
| INC-2026-0418 | YYYY-MM-DD | <service> | 34m | Third-party provider | Resolved |

### Ticket volume (all severities)
| Severity | Opened | Closed | In SLA | Breached | SLA compliance |
|---|---|---|---|---|---|
| P1 | N | N | N | N | %  |
| P2 | N | N | N | N | %  |
| P3 | N | N | N | N | %  |
| P4 | N | N | N | N | %  |
| **Total** | **N** | **N** | **N** | **N** | **%** |

## 5. SLA Credit Statement
<If applicable - include full calculation. If no SLAs were breached, state that explicitly.>

### Breach: <Service>, <incident ID>
- **SLA:** Availability target 99.9% monthly
- **Monthly allowance:** <minutes of downtime>
- **Actual downtime:** <minutes>
- **Breach:** Yes, by <minutes>
- **Credit tier (per MSA):** <e.g. "Tier 2: 10% of monthly service fee">
- **Credit amount:** <currency> <amount>
- **Credit will appear on:** <invoice date>

**No other SLA breaches in this period.**

## 6. Trends

### Positive
- <observation - e.g. "P1 volume decreased 40% vs 3-month rolling average following Q1 hardening work">
- <observation>

### Concerning
- <observation - e.g. "P3 volume increasing, driven by <specific category>">
- <observation>

### Commentary (narrative)
<2-3 paragraphs explaining the numbers. What changed, why, and what (if anything) is being done. Avoid hedging without cause; avoid over-selling.>

## 7. Change Activity
| Change type | This period | Success rate |
|---|---|---|
| Standard | N | % |
| Normal | N | % |
| Emergency | N | % |

**Notable changes:** <list 1-3, e.g. "Upgraded core switch firmware across 24 devices without incident">

## 8. Top Risks Looking Forward
| Risk | Likelihood | Impact | Mitigation in flight |
|---|---|---|---|
| <risk> | L/M/H | L/M/H | <action + owner + due> |

## 9. Planned Activities Next Period
| Activity | Impact | Window | Customer action needed |
|---|---|---|---|
| <change / maintenance> | <expected impact> | YYYY-MM-DD | None / Yes - <what> |

## 10. Appendix
- Incident reports (PIRs): <links>
- Change records: <links>
- Previous month's report: <link>
- SLA calculation methodology: <link>
- Glossary of severity definitions: <link>
```

## Example invocation

**User:** "/sla-reporter - monthly customer report for Acme Corp, April 2026. Composite availability 99.82% vs 99.9% SLA (breached). One P1 incident lasted 72 minutes on the 12th due to a bad config push. Ticket volume 83, 79 closed in SLA. MTTR P1 72m vs 4h SLA. CSAT 4.1."

**What the skill will do:**
1. Calculate the SLA credit automatically: 99.82% on a 30-day month = 78m of outage vs 43m allowed = breach of 35m. Credit per tier per MSA.
2. Note that while the availability SLA was breached, the P1 MTTR was comfortably inside SLA (72m vs 4h) - frame that honestly.
3. Ask for the PIR from the April 12 incident to cite in section 4.
4. Produce a narrative that explains the availability miss without hiding it, states the credit amount, and looks forward to the hardening actions from the PIR that reduce recurrence risk.

## Notes for the requester

- **Never fudge availability numbers.** Customers check them. Credibility lost on one report compounds across years.
- **Breach SLA honestly.** If you missed, say so, calculate the credit, offer it without being asked. Clients respect this more than a smooth-over.
- **Don't report a metric you can't defend.** If you quote CSAT based on 4 responses, say "n=4". Small samples are fine if labelled.
- **Trend arrows need baselines.** "Better than last month" is weak; "P1 volume 4 this month vs 3-month rolling average of 7" is strong.
- **Every breach gets a named mitigation.** Don't report a breach without a "what we're doing about it" line - otherwise the customer asks.
- **"Good" looks like:** the customer's finance team can reconcile the SLA credit without a phone call. Their exec reads section 1 in 20 seconds and gets the whole picture. Your account team has talking points for the review meeting.
