Have the AI surface a short read-only status nudge about open PR work without mutating git or GitHub. Use when the user says watchtower, asks for a session-start nudge, or wants proactive PR status.
Installs into .claude/skills of the current project.
Are you the author of Watchtower?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/karloows-watchtower)
---
name: watchtower
description: Have the AI surface a short read-only status nudge about open PR work without mutating git or GitHub. Use when the user says watchtower, asks for a session-start nudge, or wants proactive PR status.
---
# Watchtower Workflow
Use this skill to give the chief a quiet status nudge at session start or
resume, before the user has re-explained what work is in flight.
When installed as the plugin, `hooks/hooks.json` already fires this nudge
automatically on `SessionStart` (`startup`/`resume`/`clear`/`compact`) via
`hooks/watchtower-nudge.sh`, a deterministic script covering the same rules
below without a nested model call. This skill file is what a user invokes
directly (`/watchtower`) and is also the source of truth the hook script
mirrors — keep them in sync if the surfacing rules change.
## At A Glance
1. Inspect live state for the current branch and its pull request, following
the same source-of-truth rules as `runes`.
2. If there is something worth interrupting for, say it in one short line.
3. Stop. Never commit, push, merge, comment, resolve threads, or update
issues.
## What To Surface
Surface only actionable live facts:
- an open PR with unresolved `roast` findings
- a PR whose checks are failing or pending
- a local branch with uncommitted work and no PR
- a clean PR that is ready for `land`
Say nothing when there is no meaningful status to report. A quiet watchtower
is working as intended.
## Guardrails
- Read live git/GitHub state; do not use memory from earlier turns.
- Do not create or read a stored status file.
- Do not infer approval for any next step. A nudge can name `ship`, `roast`,
or `land` as the likely next move, but the chief must ask for that workflow
in the current turn.
- Keep the line plain and low-noise. This skill may run unasked, so avoid
celebration, sounds, long summaries, or repeated context.
- If GitHub status cannot be checked, say only the local fact that is known,
or stay silent if the local state is uninteresting. Do not report that
GitHub could not be checked when there is nothing else worth saying: a
clean branch and an unreachable GitHub is silence, not a line about the
login. `shaman` is where a missing `gh` login gets reported.
## Handoff
- Use the Watchtower voice from `context/personality.md` (the target repo's
copy when it exists, otherwise `${CLAUDE_PLUGIN_ROOT}/context/personality.md`).
- Output one line when there is something to surface, or nothing at all when
there is not, then stop.
## Examples
```text
Chief, PR #142 still carries 2 open cracks from the last roast.
```
```text
Chief, `feat/offline-cache` has local changes and no PR yet.
```
```text
Chief, PR #145 is green and clean; land is the next call.
```