Skip to content
Productivity
Command

/obsidian-board-hygiene

Bulk-triage a kanban board - surface stale items and archive, reschedule, or mark them done in one pass

From plugin
obsidian-second-brain
5.3k49 skills49 commands3 hooks
> /plugin marketplace add eugeniughelbur/obsidian-second-brain
> /plugin install obsidian-second-brain@obsidian-second-brain

Command definition

obsidian-board-hygiene.md
description: Bulk-triage a kanban board - surface stale items and archive, reschedule, or mark them done in one pass
category: vault
triggers_en: ["clean up my board", "triage my board", "board hygiene", "archive stale tasks", "my board is a mess"]
triggers_de: ["mein Board aufräumen", "mein Board priorisieren", "Board-Pflege", "veraltete Aufgaben archivieren", "mein Board ist ein Chaos"]
triggers_es: ["limpia mi tablero", "haz triaje de mi tablero", "ordena el tablero", "archiva las tareas viejas", "mi tablero es un desastre"]
triggers_pt: ["limpe meu board", "faça a triagem do meu board", "higiene do board", "arquive tarefas paradas", "meu board está uma bagunça"]
triggers_zh: ["整理我的看板", "清理过期任务", "帮我归档看板上的旧任务", "我的看板太乱了", "批量梳理看板"]

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`.

<!-- author-credit -->

---

From [obsidian-second-brain](https://github.com/eugeniughelbur/obsidian-second-brain), created by Eugeniu Ghelbur (AI Automation Engineer, AI Tooling Engineer, AI Educator). Questions or consulting: [LinkedIn](https://www.linkedin.com/in/eugeniu-ghelbur/) or [e.ghelbur@gmail.com](mailto:e.ghelbur@gmail.com). More: [The AI Operator](https://theaioperator.io/?utm_source=github&utm_medium=file-credit) | [X](https://x.com/eugeniu_ghelbur) | [GitHub](https://github.com/eugeniughelbur). MIT license.

Read more
@eugeniughelbur
Ships withobsidian-second-brain

Persistent memory for Claude Code, Codex and 6 other AI agents, stored as plain markdown in your Obsidian vault. New: Crew, one shared logbook so Claude Code, Codex, Cursor and Grok Bot know what each other did. 48 commands: semantic search, self-rewriting notes, key-less research, scheduled agents.

Stars on GitHub

Momentum

stars in total
5.3k
Star history of eugeniughelbur/obsidian-second-brain on GitHub, a chart by star-history.com

Other commands on obsidian-second-brain.

More commands from other plugins.

analyze-cohorts

analyze-cohorts

Command

Perform cohort analysis on user data — retention curves, feature adoption, and engagement trends

@phuryn@phurynInstall Command
again

again

Command

PUA Again — 用于再试试、换个方法、别放弃、为什么还不行、同一路径失败多次;要求停止微调同一思路,改用本质不同方案。

pua2mo20k
@tanweai@tanweaiInstall Command