Skip to content
Back to skills

Follow Up

ASecurity

Finish what earlier releases left open: go through every release file whose status is `open`, check its watches (verifications that wait for something real to happen — the first real payment, the next nightly run), run any verification that has become possible, and close each release once nothing is left. Reach for this between work sessions, when `/debrief` or `/release` reports open items, or when asked whether last week's change has proven itself. Never ships anything.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsgobashreact

Works with

  • cli

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add siemendev/release-process --skill follow-up --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Follow Up?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Follow Up
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/siemendev-follow-up/badge)](https://www.skillsdirectory.com/skills/siemendev-follow-up)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: follow-up
description: >-
  Finish what earlier releases left open: go through every release file whose status is `open`,
  check its watches (verifications that wait for something real to happen — the first real
  payment, the next nightly run), run any verification that has become possible, and close each
  release once nothing is left. Reach for this between work sessions, when `/debrief` or `/release`
  reports open items, or when asked whether last week's change has proven itself. Never ships
  anything.
---
<Args>$ARGUMENTS</Args>
`<Args>` may name one release (`3.6.0`, `2026-10-05-3f9a1c2`) to limit the run to it.

# Follow up on open releases

A release stays `open` while any of its boxes are unticked — mostly watches, sometimes a
verification that needed a moment the release could not wait for. This skill is the only place
they get worked, so the debrief stays on the hot path and the release can end.

It runs on its own: **within the autonomy rules of `RELEASING.md`, check and tick without asking**.
Stop only at items that need the user, and collect them for the end.

## 1. Read the ground

```bash
cat RELEASING.md
```

From it: the release archive directory, the autonomy rules, the test surfaces, and whether
bookkeeping commits are pushed. Then list the release files with `status: open` (and `in-flight`
ones only to skip them — a running release belongs to its release session).

Nothing open → say so in one line and stop.

## 2. Secure access before working

The user starts a follow-up and moves on, so every login has to be in place before the first item.
List the surfaces the open items will need — the production app in the browser (as which account),
Slack or Discord channels, test servers, cluster contexts, tokens; `RELEASING.md`'s test surfaces
say how each is reached — and probe each once, read-only (logged in as the expected account, with the rights the check needs? channel
readable? `get` works?), using the probe `RELEASING.md` names where it names one. Collect every gap
into **one** message with exactly what the user has to do, wait, re-probe, repeat until all is
green. A surface the user waives leaves the items that need it for them. Then say in one line that
access is set and the rest runs without them.

## 3. Work each open item

Per release file, oldest first, per unticked box:

- **A watch** (`[watch]`): run its read-only check.
  - The event happened → check what the watch actually verifies (the booking has the new field, the
    job ran with the new behaviour), tick it with a one-line note of what you saw and when.
  - Not yet → leave it open; add `Checked <date>: not yet — <what you saw>`. If it has been open
    long enough that the event should have happened by now (the first payment after a change usually
    comes within a day or two), say so: a watch that never fires may mean the change broke the path
    that would trigger it.
  - **Never cause the event yourself to make it fire** — no test payment into a real ledger, no
    synthetic action against real users. A watch exists precisely because that would be wrong.
- **A verification** left open: run it now, within the autonomy rules, on the test surfaces
  `RELEASING.md` lists. Tick what passes, note what fails.
- **A box that needs the user** (a click, a decision, something the autonomy rules forbid): leave
  it, collect it for the report.
- **A Fixed announcement entry** whose verification is now ticked: reply to the reporter as the
  `release` skill describes (thread reply, checkmark reaction, tick, `Replied:`) — the reply was
  waiting for exactly this.

## 4. Close what is done

A release file whose every box is now ticked (or `[~]` carried by the user's decision) gets
`status: closed` and `closed: <date>`. **Never carry an item into `NEXT-RELEASE.md` on your own** —
if an item looks like it will never be satisfiable as written, propose carrying or dropping it and
let the user decide.

Commit the release files you changed (`docs(release): follow up <names>`), with an explicit
pathspec, pushed only if `RELEASING.md` says bookkeeping commits are pushed.

## 5. Report

Per release: what you ticked and what you saw, what is still open and why (not yet happened /
needs you / failed), which releases you closed. End with the items that need the user — each with
what exactly they would do.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…