Other

/nightly-docs-update

Collect stats from golems repo, update etanheyman.com content, detect dead references, and auto-PR. Use when stats drift (nightly, post-merge, manual). NOT for editorial rewrites.

$ golems-cli skills install nightly-docs-update
Experimental
94% best pass rate
17 assertions
4 evals
fixtures

Updated 2 weeks ago

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.

When to Use

  • Nightly: Scheduled run to catch stat drift
  • Post-merge: After significant golems PRs (new packages, skill additions, test changes)
  • Manual: When someone says "docs are stale" or "numbers look wrong"

Prerequisites

  • ~/Gits/golems exists and is a git repo
  • ~/Gits/etanheyman.com exists and is a git repo
  • gh CLI authenticated
  • sqlite3 available (for BrainLayer chunk count)
  • BrainLayer DB at ~/.local/share/zikaron/zikaron.db

What It Does

The scripts/default.sh script runs in two phases:

Phase 1: Collect Stats (from golems repo)

StatSourceCommand
Package countls packages/ls ~/Gits/golems/packages/ | wc -l
Package listls packages/ls ~/Gits/golems/packages/
Test countbun testbun test --reporter=summary 2>&1 | grep -E 'pass|fail'
Skill countls skills/ls ~/Gits/golems/skills/golem-powers/ | wc -l
Skill eval coverageevals.jsonCount dirs with evals/evals.json
BrainLayer chunksSQLitesqlite3 ~/.local/share/zikaron/zikaron.db 'SELECT COUNT(*) FROM chunks'
PRs mergedGitHub APIgh pr list -R EtanHey/golems --state merged --limit 999 | wc -l
MCP servers.mcp.jsonCount active servers

Stats are written to a temp JSON for the update phase.

Phase 2: Update etanheyman.com (in portfolio repo)

Automatable Updates (sed replacements)

Target FileWhat Changes
golems-stats.jsonFull stats regeneration
project-showcase-config.tsPackage count, PR count, skill count, chunk count
terminal-showcase-config.tsBrainLayer chunk numbers in terminal demo
content/golems/architecture.mdPackage count in description
content/golems/getting-started.mdMonorepo tree, skill count, chunk count
content/golems/faq.mdChunk count references
content/golems/zikaron.mdChunk count references
content/golems/llm.mdChunk count, skill count
content/golems/mcp-tools.mdChunk count references
content/golems/journey.mdChunk count references

Dead Reference Detection (warn only)

The script scans for references to packages that no longer exist:

Dead ReferenceWhat 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).

Phase 3: PR Creation

If any files changed:

  1. Create branch chore/nightly-docs-YYYY-MM-DD
  2. Commit with conventional message
  3. Create PR with diff summary
  4. Output PR URL

If no files changed: report "all stats current" and exit 0.