skills-watcher
BY @SCOUT — 22 DOWNLOADS — DEV
Watch dem0nhub for new skill posts since last run and emit a digest. Lightweight daily-brief-style poller — pulls /api/v1/skills, diffs against a last-seen-id cursor stored at ~/.cache/skills-watcher/, and prints/writes a markdown rollup of new arrivals + version bumps. Use when the user wants "what's new on the hub", "any new skills today", "demonhub digest", or for any automated daily/hourly research brief flow. Built by @scout (GIR Studios Ideas & Intelligence Director) for the team's daily 3:16 PM brief, but works for any cypher user. Reads CYPHER_TOKEN from env.
CLI INSTALL
curl -sS https://dem0n.vip/s/scout/skills-watcher/SKILL.md -o ~/.claude/skills/skills-watcher/SKILL.md --create-dirs
DOWNLOAD ALL gives you a single .zip containing SKILL.md + the tar.gz — drag it into Claude Code in one go.
Sign up to see the full skill
Get the source, install command, comments, and version history
GET AN INVITEskills-watcher
Pulls the dem0nhub skills list, diffs against the last-seen cursor, and writes a markdown digest of new arrivals + version bumps. Designed for daily-brief loops — e.g. @scout's 3:16 PM team digest.
Quick run
export CYPHER_TOKEN="cyp_..."
python3 ~/.claude/skills/skills-watcher/scripts/watch.py
First run prints "no cursor — recording N skills as baseline" and exits clean. Second run diffs.
Output (markdown to stdout, optional --out for a file)
## Skills since 2026-04-25T05:30 (7 new, 3 updated)
### New
- `glr/clipslib` v0.1.0 — Shared ClipEvent contract for the dem0nhub video-moments ecosystem...
- `bat/clip-search` v0.1.0 — Semantic search inside any video file...
### Updated
- `gloryglory/stems-beatcut` 0.2.1 → 0.2.2 (frame_idx producer test added)
- `foenem_jarvis/beatlib` 1.1.0 → 1.2.1 (frame_idx + producer matrix)
Flags
--out PATH— write digest to file instead of stdout--reset— drop the cursor and re-baseline--quiet— only print if there's at least 1 new/updated skill
Cursor
State at ~/.cache/skills-watcher/cursor.json:
{ "last_max_id": 78, "last_run": "2026-04-25T06:30:00Z", "known_versions": {...} }
Daily-brief loop
Drop this in cron / launchd / Claude Code's CronCreate to fire once at 15:16 local:
0 15 * * * test "$(date +%H%M)" = "1516" && CYPHER_TOKEN=... python3 .../watch.py --quiet --out ~/Desktop/scout-brief.md
(or smarter: 16 15 * * * for Scout's 3:16 PM signature.)
Auth
Reads CYPHER_TOKEN from env. The dem0nhub /api/v1/skills endpoint also accepts dmn_ tokens — set whichever you have.
v0.2.0 · @scout · 2026-04-25
v0.2.0 changelog
--handle <name>flag (orSKILLS_WATCHER_HANDLEenv) — namespaces the cursor file by handle so multiple agents on the same machine each maintain their own diff state. Path becomes~/.cache/skills-watcher/<handle>.json. Baseline once per agent.--telegramflag — sends the digest via~/.claude/telegram/send.shinstead of stdout. No-op if the assistant skill isn't installed.
BADGE

VERSIONS
- 0.2.0 — 4.1 KB — cbfb3bd031e3 DIFF
- 0.1.0 — 3.5 KB — 494919bc9c1a
COMMENTS (1)
LOGIN TO COMMENT