Skip to content

Commit 6a96100

Browse files
chore: update skills
1 parent 8e67928 commit 6a96100

File tree

1 file changed

+84
-3
lines changed

1 file changed

+84
-3
lines changed

skills/cli/SKILL.md

Lines changed: 84 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
name: openstatus-cli
33
description: |
4-
OpenStatus CLI for managing uptime monitors, incident reports, status pages, and synthetic tests. Use this skill whenever the user wants to monitor a website or API, set up uptime checks, create or manage monitors, report an incident, update a status page, run synthetic tests, check latency or availability, define monitors as code, or use the openstatus command. Also trigger when the user says "is my site up", "check my endpoint", "create a status report", "monitor this URL", "run uptime tests", "set up monitoring", "our API is down", or mentions openstatus in any context. This skill knows the full CLI — commands, flags, config format, and workflows — so Claude can act without guessing.
4+
OpenStatus CLI for managing uptime monitors, incident reports, status pages, maintenance windows, and synthetic tests. Use this skill whenever the user wants to monitor a website or API, set up uptime checks, create or manage monitors, report an incident, update a status page, schedule maintenance, run synthetic tests, check latency or availability, define monitors as code, or use the openstatus command. Also trigger when the user says "is my site up", "check my endpoint", "create a status report", "monitor this URL", "run uptime tests", "set up monitoring", "our API is down", "schedule maintenance", "maintenance window", "planned downtime", or mentions openstatus in any context. This skill knows the full CLI — commands, flags, config format, and workflows — so Claude can act without guessing.
55
allowed-tools:
66
- Bash(openstatus *)
77
---
88

99
# OpenStatus CLI
1010

11-
Manage uptime monitors, incident reports, and status pages from the terminal. The CLI supports monitors-as-code via YAML config files.
11+
Manage uptime monitors, incident reports, status pages, and maintenance windows from the terminal. The CLI supports monitors-as-code via YAML config files.
1212

1313
Run `openstatus --help` or `openstatus <command> --help` for full option details.
1414

@@ -45,10 +45,15 @@ Token resolution order:
4545
| Delete incident | `status-report delete <ID>` | Remove a status report |
4646
| List status pages | `status-page list` | See all your status pages |
4747
| Get status page details | `status-page info <ID>` | View page config, components, theme |
48+
| Create a maintenance window | `maintenance create` | Plan a maintenance window for a status page |
49+
| List maintenance windows | `maintenance list` | See scheduled/active/completed maintenance |
50+
| Get maintenance details | `maintenance info <ID>` | View full details of a maintenance window |
51+
| Update a maintenance window | `maintenance update <ID>` | Change title, message, or time window |
52+
| Delete a maintenance window | `maintenance delete <ID>` | Remove a maintenance window |
4853
| Run synthetic tests | `run` | Execute on-demand tests for specific monitors |
4954
| Check workspace | `whoami` | Verify auth and workspace info |
5055

51-
Command aliases: `monitors` = `m`, `status-report` = `sr`, `status-page` = `sp`, `run` = `r`, `whoami` = `w`.
56+
Command aliases: `monitors` = `m`, `status-report` = `sr`, `status-page` = `sp`, `maintenance` = `mt`, `run` = `r`, `whoami` = `w`.
5257

5358
## Workflows
5459

@@ -71,6 +76,8 @@ This is the primary way to manage monitors. Write a YAML config, then let the CL
7176

7277
### Incident lifecycle
7378

79+
Use status reports for **unplanned** outages and incidents.
80+
7481
Status reports follow a progression: `investigating` -> `identified` -> `monitoring` -> `resolved`. These are the only valid status values — the CLI rejects anything else.
7582

7683
**1. Find your status page ID and component IDs first:**
@@ -164,6 +171,75 @@ openstatus status-report delete 456 # prompts for confirmation
164171
openstatus status-report delete 456 -y # skip confirmation
165172
```
166173

174+
### Scheduling maintenance
175+
176+
Use maintenance for **planned** downtime windows.
177+
178+
**1. Find your status page ID and component IDs first:**
179+
```bash
180+
openstatus status-page list
181+
openstatus status-page info <PAGE_ID> # shows components grouped by section
182+
```
183+
184+
**2. Create a maintenance window:**
185+
```bash
186+
openstatus maintenance create \
187+
--title "Database Migration" \
188+
--message "Scheduled database migration to improve performance" \
189+
--from "2026-04-05T02:00:00Z" \
190+
--to "2026-04-05T04:00:00Z" \
191+
--page-id 123 \
192+
--component-ids "comp-1,comp-2" \
193+
--notify
194+
```
195+
196+
On success, the CLI prints the maintenance ID and suggests the next command:
197+
```
198+
Maintenance created successfully (ID: 789)
199+
Run 'openstatus maintenance info 789' to see details
200+
```
201+
202+
**`create` flags:**
203+
204+
| Flag | Required | Description |
205+
|------|----------|-------------|
206+
| `--title` | yes | Maintenance title |
207+
| `--message` | yes | Description of the maintenance |
208+
| `--from` | yes | Start time in RFC 3339 format (e.g. `2026-04-05T02:00:00Z`) |
209+
| `--to` | yes | End time in RFC 3339 format |
210+
| `--page-id` | yes | Status page ID (get it from `status-page list`) |
211+
| `--component-ids` | no | Comma-separated component IDs in a single string: `"id1,id2"` |
212+
| `--notify` | no | Notify status page subscribers |
213+
214+
Status is computed automatically: `scheduled` (before `--from`), `in_progress` (between `--from` and `--to`), `completed` (after `--to`). There is no `--status` flag.
215+
216+
**3. Update a maintenance window:**
217+
```bash
218+
openstatus maintenance update <ID> \
219+
--title "Extended Maintenance" \
220+
--to "2026-04-05T06:00:00Z"
221+
```
222+
223+
Only provided flags are updated. At least one of `--title`, `--message`, `--from`, `--to`, or `--component-ids` must be set. `--component-ids` replaces the entire list.
224+
225+
**4. List and filter:**
226+
```bash
227+
openstatus maintenance list # all maintenance windows
228+
openstatus maintenance list --page-id 123 # filter by page
229+
openstatus maintenance list --limit 10 # limit results
230+
```
231+
232+
**5. View details:**
233+
```bash
234+
openstatus maintenance info <ID>
235+
```
236+
237+
**6. Delete:**
238+
```bash
239+
openstatus maintenance delete <ID> # prompts for confirmation
240+
openstatus maintenance delete <ID> -y # skip confirmation
241+
```
242+
167243
### On-demand testing
168244

169245
Run specific monitors immediately across all their configured regions.
@@ -203,6 +279,11 @@ openstatus monitors list --all
203279
openstatus status-report info <ID>
204280
```
205281

282+
**Maintenance details:**
283+
```bash
284+
openstatus maintenance info <ID>
285+
```
286+
206287
**Status page components and config:**
207288
```bash
208289
openstatus status-page info <ID>

0 commit comments

Comments
 (0)