skills/golem-powers/_archive/nightly-docs-update/SKILL.md
Automated sync between golems repo stats and etanheyman.com portfolio site. Collects package count, test count, skill count, BrainLayer chunk count, and PR count, then updates hardcoded numbers across portfolio files and detects dead references to removed packages. Use when: stats are stale, after merging significant PRs, nightly scheduled runs, or when someone says docs numbers look wrong. NOT for: editorial content rewrites or adding new portfolio sections.
npx skillsauth add etanhey/golems nightly-docs-updateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Keeps etanheyman.com/golems in sync with the actual golems repo state. Runs stats collection, updates hardcoded numbers, detects dead references, and creates a PR.
~/Gits/golems exists and is a git repo~/Gits/etanheyman.com exists and is a git repogh CLI authenticatedsqlite3 available (for BrainLayer chunk count)~/.local/share/zikaron/zikaron.dbThe scripts/default.sh script runs in two phases:
| Stat | Source | Command |
|------|--------|---------|
| Package count | ls packages/ | ls ~/Gits/golems/packages/ \| wc -l |
| Package list | ls packages/ | ls ~/Gits/golems/packages/ |
| Test count | bun test | bun test --reporter=summary 2>&1 \| grep -E 'pass\|fail' |
| Skill count | ls skills/ | ls ~/Gits/golems/skills/golem-powers/ \| wc -l |
| Skill eval coverage | evals.json | Count dirs with evals/evals.json |
| BrainLayer chunks | SQLite | sqlite3 ~/.local/share/zikaron/zikaron.db 'SELECT COUNT(*) FROM chunks' |
| PRs merged | GitHub API | gh pr list -R EtanHey/golems --state merged --limit 999 \| wc -l |
| MCP servers | .mcp.json | Count active servers |
Stats are written to a temp JSON for the update phase.
| Target File | What Changes |
|-------------|-------------|
| golems-stats.json | Full stats regeneration |
| project-showcase-config.ts | Package count, PR count, skill count, chunk count |
| terminal-showcase-config.ts | BrainLayer chunk numbers in terminal demo |
| content/golems/architecture.md | Package count in description |
| content/golems/getting-started.md | Monorepo tree, skill count, chunk count |
| content/golems/faq.md | Chunk count references |
| content/golems/zikaron.md | Chunk count references |
| content/golems/llm.md | Chunk count, skill count |
| content/golems/mcp-tools.md | Chunk count references |
| content/golems/journey.md | Chunk count references |
The script scans for references to packages that no longer exist:
| Dead Reference | What It Means |
|----------------|---------------|
| packages/autonomous/ | Removed — absorbed into services |
| packages/orchestrator/ | Removed — now external repo at ~/Gits/orchestrator |
| packages/dashboard/ | Renamed to packages/docsite/ |
| packages/ralph/ | Removed — ralph is now a skill + external repo |
| packages/zikaron/ | Removed — now standalone BrainLayer repo |
Dead refs are reported but not auto-fixed — they may be historically accurate (journey sections).
If any files changed:
chore/nightly-docs-YYYY-MM-DDIf no files changed: report "all stats current" and exit 0.
This is the full PRD of content that can drift. The script automates most of these.
ls packages/docsite not dashboard)--skip-tests flag to skip test counting@golems/services), manual invocation/pr-loop for the PR creation step (when run manually with --pr-loop)golems-stats.json consumed by etanheyman.com dashboard# Full run (collect + update + PR)
/nightly-docs-update
# Skip tests (faster, ~15s vs ~70s)
/nightly-docs-update --skip-tests
# Stats collection only (no file updates)
/nightly-docs-update --stats-only
# Detect dead refs only
/nightly-docs-update --dead-refs-only
development
Create, edit, and verify golem-powers skills using the standard SKILL.md structure, workflow files, adapters, templates, and eval fixtures. Use for new skills, structural edits, workflows/adapters, and pre-deploy validation. NOT for invoking existing skills, superpowers skills, or skill-creator agent workflows.
testing
Extract structured knowledge from any video source — YouTube URLs or local screen recordings. YouTube → gems workflow (yt-dlp transcript → keyword hotspots → frame extract → brain_digest → structured gems). Screen recordings → QA workflow (reuses /qa-video stalker pipeline). Use when user shares a YouTube link wanting deep extraction with frames, shares a .mov/.mp4 for QA processing, says "extract from video", "video gems", "process this recording", or mentions gem extraction from video content.
testing
Use when running or reviewing any recurring monitor loop for merge queues, worker queues, collab tails, or agent completion. Enforces drive-to-completion ticks: every tick must query live state with `!`, classify whether real progress happened, and then dispatch, verify-and-decrement, or escalate-park. Triggers on: monitor loop, /loop, recurring tick, keep monitoring, silent autonomous, merge gate, blocked review, no-progress loop.
tools
MeHayom freelance client management — daily updates, decision tracking, time logging. Use when drafting Yuval updates, logging scope changes, tracking hours, or any MeHayom client communication. Triggers: 'draft Yuval update', 'client update', 'daily update', 'log decision', 'track time', 'mehayom'.