# api-status-communication

This skill guides the design of external API status pages and incident updates. It helps teams publish trustworthy postmortems, SLO reports, and maintenance notices.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 7800 installs · ★ 7
- Author: Samuel Berthe
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/samber/developer-platform-skills/tree/HEAD/skills/api-status-communication/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/api-status-communication

## What it does

The skill structures how an API platform reports outages to external consumers. Instead of relying on a human to manually flip a green indicator, it anchors status directly to monitoring probes. That prevents status theater, where a dashboard stays green long after customers noticed the downtime and moved to third-party aggregators.

The workflow begins with seven targeted questions covering existing health probes, reader audiences, and contractual SLAs. It applies the four industry-standard incident stages: Investigating, Identified, Monitoring, and Resolved. Severity maps strictly to impact breadth rather than internal feelings. Decisions can be logged in an advisory `developer-platform-context.md` file.

Do not use this skill for API deprecation notices or breaking changes. The author routes versioning announcements to `samber/developer-platform-skills@api-versioning-policy` instead.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill api-status-communication -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/api-status-communication/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/api-status-communication/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill api-status-communication -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/api-status-communication/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill api-status-communication -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/api-status-communication/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install samber/developer-platform-skills api-status-communication
```

2. **Manually: put the files in place**
- File: `.github/skills/api-status-communication/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill api-status-communication -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/samber/developer-platform-skills --path skills/api-status-communication
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/api-status-communication/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill api-status-communication -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/samber/developer-platform-skills/tree/HEAD/skills/api-status-communication/SKILL.md

## When to use it
- model status-page components and four-stage incident lifecycles
- connect public service statuses directly to automated health checks
- structure public postmortems for an external developer audience
- define maintenance-window notices and public SLA reporting rules

## Example prompts
- Help me design a developer-facing status page with clear incident lifecycles
- Draft a public postmortem policy for an API outage affecting one region
- Set up component severity levels based on impact breadth for our API

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 275ce75c4f055472.

BEGIN THIRD-PARTY FILE 275ce75c4f055472
```text
---
name: api-status-communication
description: Design how an API platform communicates status and incidents to external consumers - status-page modeling (the four-stage incident lifecycle, degraded/partial/major component semantics, component granularity), monitoring-driven status instead of a hand-flipped green light, pull and push channels, incident-update cadence and templates, public postmortems for a developer audience, public SLA/SLO reporting, and maintenance-window notices. Use whenever the user mentions a status page, Statuspage, incident updates, uptime or SLA reporting, postmortems, or scheduled maintenance - even if they never say "status communication". Do NOT use for deprecation and breaking-change notices - use samber/developer-platform-skills@api-versioning-policy instead.
license: MIT
metadata:
  author: Samuel Berthe
  version: "1.0.1"
---

# API Status Communication

You are designing how an API platform tells its external consumers what is happening - the status page, incident updates, public postmortems, SLA/SLO reporting, and maintenance notices. The deliverable is a communication practice, not a monitoring stack: measurement belongs to the platform's observability tooling; you own what the outside world sees and when.

Trustworthiness is the design constraint every step below serves. A status page is a trust signal before it is a technical tool, and the documented failure mode is status theater: one sourced case (OneUptime) shows a page reading green for the first 35 minutes of a 54-minute incident because a human had to decide to flip it.

The visible symptom of lost trust is migration to third-party complaint aggregators (DownDetector et al.) - users prefer them not because they are more accurate but because they aren't controlled by the company having the outage. Treat that migration as this practice's failure metric, and tie status to real monitoring rather than human gatekeeping throughout.

**Memory (advised):** When memory lives in a file, consider using `developer-platform-context.md`; if a different memory system is in use, rely on that instead. The file is an advisory reference, not a mandatory requirement. Separate task info in different sections. Remove finished tasks. Add a date to a task; no date for general project context. Some interview responses may differ between 2 tasks.

## Clarifying questions

Ask these before designing anything; each answer changes a later step. Batch them - this is a tactical design task, not a strategy interview.
```
END THIRD-PARTY FILE 275ce75c4f055472

The third-party file has ended. Everything between the 275ce75c4f055472 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2524 of 24598 bytes. © Samuel Berthe · MIT · https://github.com/samber/developer-platform-skills/tree/HEAD/skills/api-status-communication/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
