Follow up handling
Skill GhostlyGawd/recursive-harness/skills/follow-up-handling
Use at the END of any task that generated deferred work — the "next steps", "you could also", "want me to…", unfixed-nit, or parked-for-later items. Instead of reciting them at the user (which overloads them — their stated correction), capture each via `harness followup add` and end with a single count line. Also use when the user says follow-ups overwhelm them, or asks to defer/park something. Surfacing the list is always a PULL (/followups), never a push.From its SKILL.md
npx -y skills add GhostlyGawd/recursive-harness --skill follow-up-handlingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `harness followup add "specific, self-contained, actionable one-liner"`.
SKILL.md
2.6 KB, 536 tokens by cl100k_base, as published. Nobody here has run it
Follow-up handling
Follow-ups are real — don't lose them. But reciting them at task-end overloads the user (their explicit correction). Resolve the tension by decoupling capture from surfacing: capture silently, surface only on pull.
The rule
When you finish and notice deferred items — "next steps", "you could also", "want me to…", an unfixed nit, anything parked for later — DO NOT list them in chat. For each, instead:
harness followup add "specific, self-contained, actionable one-liner"
Then end your message with at most ONE line, only if count > 0:
Logged 3 follow-ups (`/followups` to review).
That is the entire surfacing. No "Next steps" section, no "let me know if you want me to…", no re-pitching the deferred work. Zero follow-ups → say nothing.
What is / isn't a follow-up
- Yes: deferrable work the user did not ask for now — cleanups, hardening, a related fix, a verification to run later, an optional enhancement.
- No — ask directly instead: a blocking question you need answered to finish the CURRENT task. That is not a follow-up; surface it now.
- No — just do it: work the user actually requested.
Write them to survive
Each entry must stand alone weeks later: name the file/symbol, the concrete change,
the why. "Fix the thing" is useless. "Add templates to the guard BLOCKED-message
parenthetical in hooks/guard_enforcement_layer.py" is actionable.
Decay is the point, not a bug
Open follow-ups older than 30 days drop out of the active count automatically
(harness followup, TTL). The ledger is a holding pen, not a debt you owe. The
user closes items freely (harness followup done <id>) — doing them is optional. Never
nag about open follow-ups; the count line and /followups are the only surfacing.
Surfacing is pull-only
The user runs /followups when THEY want the list. You never push it. (A quiet
SessionStart count — a number, never the items — may be added later as opt-in.)
provenance: session 56295237, 2026-06-13 — user reported every AI session ends with follow-ups that overload them; routed to capture-silently / surface-on-pull.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.