watchlisted
Install: claude install-skill thettwe/nyann
# watch
> **Plugin root:** `<plugin_root>/skills/watch/SKILL.md` — scripts live
> at `<plugin_root>/bin/ci-sentinel.sh`, `bin/sentinel-daemon.sh`,
> `bin/sentinel-aggregate.sh`, and `bin/read-notifications.sh`.
Two modes:
- **Single repo** (Steps 1–3): poll the current repo's PRs directly —
one-shot, or as a supervised background daemon (`--daemon`).
- **Multi-repo** (Step 4): keep a watch-list of repos and poll them all
under one rate-limit-aware scheduler. Use this when the user watches PRs
across several repos and wants one merged view.
## Step 1: Resolve repo
Use `gh repo view --json nameWithOwner --jq .nameWithOwner` to get the
`<owner>/<repo>` slug for the current directory. If `gh` is missing or
the repo has no GitHub remote, tell the user to set one up and stop.
## Step 2: Start, stop, or list
If the user said "stop" / `--stop`, stop BOTH a one-shot poll and any
backgrounded daemon (the daemon stop tears down the supervisor unit too):
```
bash <plugin_root>/bin/sentinel-daemon.sh stop --repo <owner/repo>
```
For a single foreground poll cycle (default — fire-and-forget):
```
bash <plugin_root>/bin/ci-sentinel.sh --repo <owner/repo> [--pr <N>]
```
The sentinel is one-shot per invocation — each run polls the named PR(s)
once and writes notification entries to
`~/.claude/nyann/notifications/<repo-hash>.jsonl`.
### Backgrounded daemon (`--daemon`) — opt-in
Only when the user explicitly asks to keep watching after the session
ends (`--daemon`, "background wat