obsidian-board-hygiene
Bulk-triage a kanban board - surface stale items and archive, reschedule, or mark them done in one pass
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/HEAD/commands/obsidian-board-hygiene.md -o ~/.claude/commands/obsidian-board-hygiene.mdobsidian-board-hygiene.md
Use the obsidian-second-brain skill. Execute `/obsidian-board-hygiene [board]`:
The board's "This Week" column has quietly become a graveyard - this clears it. The board equivalent of the wanted-notes triage: surface what's stale, then keep / reschedule / done / archive in one guided pass.
1. Read `_CLAUDE.md` first if it exists in the vault root, to find the boards folder and kanban convention (columns, priority markers, `@{date}` format).
2. Read the target board (fuzzy-match the argument; if none given, list boards and ask). Parse every open item per column, extract its `@{date}` if present, and compute age vs today.
3. Group the open items by staleness: **overdue** (`@{date}` in the past), **stale** (in the same column with a date older than N days, default 14), and **undated** (no `@{date}` - can't be scheduled, flag separately). Show counts per column so the bloat is visible at a glance.
4. For each stale/overdue item, propose ONE verdict with a one-line reason: **done** (looks completed elsewhere - move to Done with strikethrough), **reschedule** (still real - set a new `@{date}` or move to Backlog/Next Week), **archive** (dead - move to an `_archived` section or Done with a "dropped" note), or **keep** (genuinely active, leave it). Present as a batch the user can approve, edit, or override - never auto-move destructively without confirmation.
5. Apply the approved verdicts to the board in place (additive moves + strikethrough, never silent deletion), then report what moved where and append a one-line entry to the operation log the operation log (`Logs/YYYY-MM-DD.md` if the vault uses a `Logs/` folder - create today's file if needed - else `log.md`).
A board only means something if "This Week" means this week. Run this whenever a column stops being trustworthy; pairs with `/obsidian-board` (which only flags) by actually clearing the backlog.
---
**AI-first rule:** Board files follow the kanban exception in `references/ai-first-rules.md`: `kanban-plugin` frontmatter, NO `## For future agent` heading (the plugin would render it as a phantom column). Every NON-board note this command creates or updates (task notes, project notes) MUST follow the full rule - preamble, rich frontmatter (`type`, `date`, `tags`, `ai-first: true`), `[[wikilinks]]`, sources verbatim. If that path does not resolve from your working directory, search upward for it; if you still cannot read it, say so before writing rather than producing a note that silently skips the rule.
**Anti-fabrication:** Search exhaustively before claiming any note, person, or file is absent - false absence is the most common failure mode - and never invent facts, entities, or dates (mark unknowns as `TBD`). See the anti-fabrication and search-completeness hard rules in `references/ai-first-rules.md`.>
Create a new obsidian-second-brain command via interview - zero markdown editing required
Surface 3-5 next-direction candidates by reading ungraduated ideas, open project questions, and orphan research notes - what is worth working on next
Vault-first source-grounded research via Gemini File Search. One command, no browser. The grounded parallel to /research-deep (which is open-web via Perplexity).
Generate a decision record when the vault structure changes - the vault knows why it knows what it does
Read Google Calendar and write an AI-first snapshot to the vault - today, week, next week, or a custom range
Scan a codebase and write a maintained set of architecture notes into the vault - overview, per-module notes, key decisions. Re-run to refresh without clobbering your edits
Show or update a kanban board - flags overdue items, updates from conversation