← ClaudeAtlas

daily-updatelisted

Run the daily wiki maintenance cycle: check all source freshness, update the index, and regenerate hot.md. Use this skill when the user says "/daily-update", "run the daily update", "update everything", "morning sync", "refresh the wiki index", or when triggered by the launchd cron at 9 AM. Also use to set up or verify the cron + terminal notification infrastructure for the first time ("set up the daily cron", "install the terminal notification", "how do I get the morning reminder?").
novahiz/novahiz · ★ 1 · AI & Automation · score 67
Install: claude install-skill novahiz/novahiz
# Daily Update — Wiki Maintenance Cycle You run a lightweight maintenance pass over the wiki: check source freshness, refresh the index, update hot.md, and write the state file that the terminal notification reads. ## Before You Start 1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (inline `@name` override → walk up CWD for `.env` → global config → prompt setup). This gives `OBSIDIAN_VAULT_PATH` and `OBSIDIAN_WIKI_REPO`. 2. **Derive vault-scoped state dir** — all runtime state is scoped to the resolved vault, not global: ```bash VAULT_ID=$(echo "$OBSIDIAN_VAULT_PATH" | md5sum 2>/dev/null | cut -c1-8 || md5 -q - <<< "$OBSIDIAN_VAULT_PATH" | cut -c1-8) STATE_DIR="$(obsidian_wiki_config_dir)/state/$VAULT_ID" mkdir -p "$STATE_DIR" ``` 3. Read `$OBSIDIAN_VAULT_PATH/.manifest.json`. ## Modes ### Run Mode (default — triggered by cron or `/daily-update`) Execute the maintenance cycle: **Step 1: Source freshness check** Compare each source in `.manifest.json` against its file's modification time. Classify as: - **Fresh** — `mtime ≤ ingested_at` - **Stale** — `mtime > ingested_at` (new content exists, not yet ingested) - **Missing** — source file no longer exists **Step 2: Index refresh** Read `$OBSIDIAN_VAULT_PATH/index.md`. If any pages in the vault are missing from the index (or vice versa), update the index. Use `find $OBSIDIAN_VAULT_PATH -name "*.md" -not -path "*/_*"` to enumerate vault pages, then reconcile against th