From ai-brain-starter
Orchestrates a Sunday meta-review combining pattern recognition, instinct engine, vault hygiene, and drift detection into a single synthesis note.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-brain-starter:sunday-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running the Sunday meta-review. This skill doesn't reinvent the existing weekly skills — it orchestrates them in the right sequence, surfaces the cross-cutting signal, and produces ONE clean note instead of N independent reports.
You are running the Sunday meta-review. This skill doesn't reinvent the existing weekly skills — it orchestrates them in the right sequence, surfaces the cross-cutting signal, and produces ONE clean note instead of N independent reports.
Run each step in order. After each step, capture the headline finding (1-2 sentences) into the running synthesis. Do NOT dump full reports inline — link to them.
/weekly)Invoke the existing /weekly insights skill. It produces the panel-driven journal pattern recognition for the past 7 days. Capture: which floor was dominant, what pattern repeated, what was avoided.
/patterns)Invoke /patterns. It scans recent sessions, journals, and decisions for hardening patterns and turns them into concrete captures. Capture: any new patterns ready to codify into a CLAUDE.md rule, concept note, or skill improvement.
Run:
python3 ~/.claude/skills/ai-brain-starter/scripts/vault-hygiene.py --quiet
It writes a fresh report to ⚙️ Meta/Vault Hygiene.md. Capture: how many broken wikilinks, empty notes, stale notes, duplicate concepts.
Run:
python3 ~/.claude/skills/ai-brain-starter/scripts/check-claude-md-drift.py --quiet
It writes a report to ⚙️ Meta/CLAUDE-md drift.md. Capture: any dormant people, archived projects, broken links, or old codifications that need review.
Run:
python3 "$VAULT_ROOT/⚙️ Meta/scripts/drift-detection.py"
It writes a report to ⚙️ Meta/Drift Audit.md. Lists vault files edited 5+ times in the last 30 days (configurable via --days, --min-edits, --top, --include). Codified-rule files at the top are highest-leverage drift candidates. Capture: which rule file shows highest churn, and whether any of the diffs softened a guard or shifted a number without a Decisions/ entry. Skip silently if the script is missing (vault hasn't installed it yet). Inspired by Microsoft DELEGATE-52 (arxiv.org/abs/2604.15597) finding that frontier LLMs corrupt ~25% of professional content over 20 edits.
Run:
python3 "$VAULT_ROOT/⚙️ Meta/scripts/check-rule-conflicts.py" --scan-all
It writes a report to ⚙️ Meta/Rule Conflicts.md. Engram-inspired (github.com/Gentleman-Programming/engram) keyword-anchor detector — catches always X vs never X contradictions across the rules corpus. Add --semantic if ANTHROPIC_API_KEY is set for vocabulary-different contradiction detection via claude-haiku. Capture: any candidate conflicts at confidence ≥0.5 that need reconciliation. Pair signal with drift detection: drift = single-document shift over time; conflicts = cross-document clash at write time. Skip silently if the script is missing.
Run:
python3 "$VAULT_ROOT/⚙️ Meta/scripts/storage-tier-audit.py"
Walks every vault subdirectory, reads its .tier declaration (GIT / DB / OS), flags directories missing the declaration or holding GIT-tier files >1MB. Output uses Compiled-Truth + Timeline format at ⚙️ Meta/Storage Tier Audit.md. Pattern source: garrytan/gbrain (cherry-picked). Capture: how many directories missing tier declarations, any oversized GIT-tier files. Add .tier files to the highest-traffic missing directories before next week. Skip silently if the script is missing.
Run:
python3 "$VAULT_ROOT/⚙️ Meta/scripts/wire_typed_relationships.py" \
--output "$VAULT_ROOT/⚙️ Meta/typed-edges.jsonl"
Re-extracts typed edges (frontmatter + wikilinks) across the full vault using regex + entity-type rules. Zero LLM calls. Pattern source: garrytan/gbrain (cherry-picked). The output JSONL feeds /graphify Part A.5 so the next graphify run skips the structural extraction LLM cost. Capture: total edges by type (works_at / journaled_about / attended / etc.), runtime in ms, any extraction failures logged to stderr. Skip silently if the script is missing.
Run:
python3 "$VAULT_ROOT/⚙️ Meta/scripts/audit-public-repo-standards.py"
Audits every public non-archived non-fork repo under your GitHub org for baseline standards: LICENSE, README, real CI workflow (Dependabot auto-merge alone does not count), last-push freshness (>60d = stale). Classifies repo type (code-python, code-node, code-go, code-rust, skill, docs, meta) so CI requirements only apply to actual code repos. Output uses Compiled-Truth + Timeline format at ⚙️ Meta/Public Repo Standards Audit.md. Capture: any repos with gaps, especially missing LICENSE (MIT add via gh api -X PUT contents/LICENSE) or no CI workflow (extend the harden script's Layer 6 to handle the missing case). Skip silently if the script is missing.
Run the aggregator first (fast, no LLM calls):
python3 "$VAULT_ROOT/⚙️ Meta/scripts/hallucination-watch.py" --quiet
Then run the sample audit (slower, requires Claude auth — ANTHROPIC_API_KEY in env OR a claude CLI subprocess can reach Max OAuth):
python3 "$VAULT_ROOT/⚙️ Meta/scripts/hallucination-sample-audit.py" --turns 6 --quiet
The aggregator tallies pre-ship catches from the hookify-blocks log, post-ship corrections from the Critical Failure Inventory, and fabrication-class feedback memories. Output: ⚙️ Meta/Hallucination Watch.md. The sample audit random-samples recent assistant turns, extracts verifiable factual claims, deterministic vault-greps the keywords, and Claude-classifies each claim as supported / contradicted / unverifiable. Output: ⚙️ Meta/Hallucination Sample Audit.md (overwrites) + appended history to ⚙️ Meta/Hallucination Sample Audit History.jsonl. Together they form a per-vault verification harness in the family DELEGATE-52 (arxiv 2604.15597, Apr 2026) identifies as the only consistent mitigation for multi-turn LLM corruption. Capture: this week's fabrication hook fires, any new Critical Failure Inventory rows, this run's verified_fraction, and the 4-week trend on verified_fraction (if 4+ history rows exist). Skip silently if either script is missing.
Run:
python3 "$VAULT_ROOT/⚙️ Meta/scripts/orphan-memo-trend.py"
Reports how many Agent Memory memos are NOT referenced in the MEMORY.md index, split into total (mostly expected cold mass) and non-audit (feedback_/project_/performance_/user_ — the actionable hot tier the discoverability close-gate flags), with the delta since last run persisted to ⚙️ Meta/logs/orphan-memo-trend.json. Policy: MEMORY.md is a curated, capped index (~200 lines / 24.4 KB Read-tool cliff), NOT a complete catalog — do NOT drive the count to zero; "orphan" is the correct resting state for cold / superseded memos. Only a RISING non-audit count is a regression (new hot memos written without an index entry — index them with the atomic memo / memo-finalize helper). Capture: this week's non-audit orphan count + delta. Skip silently if the script is missing.
Run:
SINCE=$(date -v-7d +%Y-%m-%d 2>/dev/null || date -d "7 days ago" +%Y-%m-%d)
python3 "$VAULT_ROOT/⚙️ Meta/scripts/passive-capture.py" --scan-since "$SINCE"
python3 "$VAULT_ROOT/⚙️ Meta/scripts/passive-capture.py" --triage
Engram-inspired (mem_capture_passive) — scans the past week's session transcripts for utterances pattern-matched as rules, decisions, or lessons that were NOT explicitly filed via /journal or /decision. Writes triageable stubs to ⚙️ Meta/Passive Captures/{date}-{slug}.md. Idempotent via state file. Capture: how many pending captures, broken down by type (rule/decision/lesson). Adopt the load-bearing ones into CLAUDE.md or rules/ files; reject and archive the rest. Skip silently if the script is missing.
Run:
python3 ~/.claude/skills/ai-brain-starter/scripts/closed-loop-week-report.py \
--vault-root "$VAULT_ROOT" --days 7
Reports the previous week's automatic activity in the episodic→procedural memory loop: how many promotion candidates landed in Meta/Promotion-Candidates/ awaiting human ratification, how many got auto-promoted into Meta/Workflows/ / Meta/Exceptions/ / Meta/Facts/, how many rules were demoted to status: superseded, and the current resolver conflict count. Inline the script's output into the synthesis under "Closed-loop activity." If candidates are pending, the user's "One thing to do this week" should be reviewing them. The closed-loop runs hourly (promote) and weekly (demote/conflicts), but the human ratification gate only fires once a week, here. Skip silently if the script is missing.
Run:
python3 "$VAULT_ROOT/⚙️ Meta/scripts/security-cadence-report.py"
Reads telemetry from every autonomous security layer (gh-harden daily fleet, workflow-injection scanner, endpoint-inventory daily NDJSON, secret-detection log, permission-denied log, Dependabot backlog per repo, hookify auto-commit volume) and writes ⚙️ Meta/Security Cadence Report.md. Designed as the weekly meta-audit of automation coverage — the question Layer-1 cron substrate doesn't answer: "is the automation still catching what it should?"
After the script lands the report, inline a 5-minute Claude pass answering the 6 drift questions at the report tail:
The Claude pass surfaces signals INTO the /sunday-review synthesis under a "Security cadence" subsection. If any question's answer is non-trivial → escalate to /code-security as event-driven, NOT calendar-driven. The three-layer cadence model:
/code-security (new endpoint, new agentic surface, new CVE class, drift escalation from Layer 2). Not calendar.Source: panel synthesis (Schneier + Charity Majors + Patrick Collison + DHH-dissent, 2026-05-27) on cadence-vs-event-driven security. Bug class prevented: ARTIFACT-WITH-OVER-STRICT-VERIFICATION applied to time — over-scheduled verification trains a bypass habit; real fires get ignored. Skip silently if the script is missing.
Run:
python3 ~/.claude/skills/ai-brain-starter/scripts/decision-retrospective.py --apply-prompt
This surfaces decisions older than 90 days with empty Outcome and appends review-ready prompts to ⚙️ Meta/Decision Retrospective.md. Capture: how many stale decisions need their Outcome filled in.
Run:
python3 ~/.claude/skills/ai-brain-starter/scripts/skill-usage-report.py
python3 ~/.claude/skills/ai-brain-starter/scripts/curate-skills-surface.py --top 5 --days 7
Capture: the 3 most-used skills this week + any skills that haven't been used in 30+ days (dormant — candidates for pruning or re-promoting).
Write a single markdown note to 📓 Journals/Reviews/Sunday Review {YYYY-MM-DD}.md with this structure:
---
creationDate: {ISO timestamp}
type: review
category: sunday-meta
week_of: {YYYY-MM-DD}
---
# Sunday Review — {YYYY-MM-DD}
## Highlights this week
[1-2 sentences from /weekly + /patterns: what was the dominant emotional pattern, what shipped, what stalled]
## What's hardening (from /patterns)
[any new patterns that appeared 3+ times → ready to codify]
## Vault state
- Hygiene: [link to Meta/Vault Hygiene.md] · {broken wikilinks count}, {empty notes count}, {stale notes count}
- CLAUDE.md drift: [link to Meta/CLAUDE-md drift.md] · {N signals flagged}
- Stale decisions: [link to Meta/Decision Retrospective.md] · {N candidates for outcome backfill}
## Skill usage
- Top this week: {skill 1}, {skill 2}, {skill 3}
- Dormant: {names of skills not used in 30 days}
## One thing to do this week
[Pick the highest-leverage action from the captures above. Just one.]
Reply with a 2-3 sentence summary. Link to the Sunday Review note. Name the one thing to do this week. End there. Do NOT inline the whole review.
Five Sunday-relevant skills exist already (/weekly, /patterns, vault-hygiene, claude-md-drift, decision-retrospective). Running them sequentially by hand is friction. Running them via this orchestrator produces one synthesized output that respects the user's attention budget.
The Matuschak panel critique was that more skills don't deepen thinking unless they compound. This is the compounding layer: it forces the existing tools to interlock once a week.
/weekly (the journal pattern read), not the full meta-review.In CLAUDE.md frontmatter, you can disable specific steps:
sundayReview:
skipHygiene: false
skipDrift: false
skipRetro: false
skipTelemetry: true # if telemetry not opted-in
If a step's underlying script is missing, skip silently and note it in the synthesis under "Pending steps."
npx claudepluginhub mycelium-hq/ai-brain-starter --plugin ai-brain-starterRuns nightly vault maintenance: fixes broken wiki-links, detects orphan pages, syncs directory indexes, and flags stale GitHub issue tasks.
Distills patterns from Claude Code work history, git logs, lessons, and memory to suggest new agents/skills, review roster quality, prune redundancies, or consolidate feedback into rules.
Runs 7-phase Obsidian vault audit: structural scan, duplicate detection, link integrity, frontmatter audit, MOC review, cross-agent checks, health report.