create-command
Create a new obsidian-second-brain command via interview - zero markdown editing required
Ask the owner whether old people and project notes still hold - shows what each note says and when it was last checked, re-asks until answered, saves the news
> /plugin marketplace add eugeniughelbur/obsidian-second-brain > /plugin install obsidian-second-brain@obsidian-second-brain
How it fires
How this command gets triggered: by you, by Claude, or both.
/obsidian-checkinContext preview
What this command does when you run it.
Ask the owner whether old people and project notes still hold - shows what each note says and when it was last checked, re-asks until answered, saves the news
description: Ask the owner whether old people and project notes still hold - shows what each note says and when it was last checked, re-asks until answered, saves the news category: vault trigger-mode: explicit triggers_en: ["vault check-in", "check my old notes", "which notes are out of date", "ask me about stale notes"] triggers_de: ["Vault-Check-in", "prüf meine alten Notizen", "welche Notizen sind veraltet", "frag mich nach veralteten Notizen"] triggers_es: ["revisión de la bóveda", "revisa mis notas viejas", "qué notas están desactualizadas", "pregúntame por notas viejas"] triggers_pt: ["check-in do cofre", "revise minhas notas antigas", "quais notas estão desatualizadas", "me pergunte sobre notas antigas"] triggers_zh: ["知识库核对", "检查我的旧笔记", "哪些笔记过时了", "问我旧笔记有没有更新"]
Use the obsidian-second-brain skill. Execute `/obsidian-checkin $ARGUMENTS`:
A fact check compares notes with other notes, so news that never reached the vault (a bill settled, a move, a new job) leaves a note stale and no lint can see it. The owner is the only source. This command asks them, a few notes at a time, and saves what they answer.
The argument picks the mode: `ask` (default), `nudge`, `answer <the owner's reply>`, or `status`. The deterministic work lives in `scripts/checkin.py` (run it from the skill root: its absolute path was given at session start as **Skill root**; substitute it for `SKILL_ROOT`). Every call takes `--path <vault>`. The open questions live in `<vault>/.checkin.json`, never in the chat, so a question the host drops is sent again on the next run until it is answered.
1. Read `_CLAUDE.md` first if it exists in the vault root, for the vault path and privacy rules.
2. Run `uv run --directory "SKILL_ROOT" scripts/checkin.py --path <vault> pick`. It returns up to 3 notes whose facts are older than 14 days (`--days N` to change), never more than 3 open at once (`--max-open N`). People tagged `family`, `relationship: strong` and `checkin: priority` come first, then active projects, then the most linked notes. Notes with a closed `status`, `checkin: never`, an open card, or a skip in the last 14 days are left out. An empty list means nothing is due: send nothing and stop. 3. For each picked note, read the note itself (the `excerpt` is a hint, not the source) and write **1 to 3 facts**:
4. Open each card: `checkin.py --path <vault> ask --note "<path>" --fact "..." --fact "..."`. 5. Run `checkin.py --path <vault> message` and send its output to the owner **verbatim**, as one message. Do not add commentary, a summary, or a second message. A host may put its own marker (for example a notification emoji) in front.
6. Run `checkin.py --path <vault> message`. If it prints nothing, nothing is open: send nothing. Otherwise send the output verbatim. It repeats each card in full (name, date of the facts, the facts) with a reminder count, because the owner will not remember what an earlier message said. Never send a bare "still waiting" without the cards.
7. Run `checkin.py --path <vault> status` to see the open cards. Numbers in the reply refer to the last message sent (`last_message` in `.checkin.json`), so `--number N` resolves them. 8. Read the reply. It may cover several cards: `1 same`, `2 moved to Rotterdam`, `skip 3`, one per line or comma-separated. Free text with no number answers the only open card, when exactly one is open. If it is ambiguous, ask once which number it is for. 9. For each answer:
10. Check every note you wrote: `uv run --directory "SKILL_ROOT" scripts/check_notes.py --path <vault> --fix "<path>" ...`. It runs the same AI-first check Claude Code runs on every write, fixes banned characters, and exits 1 on anything left. Fix what it reports before you finish. 11. Reply with one short line, for example `Saved: 1 same, 2 updated (Ana, moved to Rotterdam).` If cards are still open, say nothing more: the next nudge will carry them.
12. Run `checkin.py --path <vault> status` and show the open cards as a short list: name, date of the facts, times sent.
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.
Create a new obsidian-second-brain command via interview - zero markdown editing required
Share a plain-folder logbook across Claude Code, Codex, Cursor, and Grok Bot
Surface 3-5 next-direction candidates by reading ungraduated ideas, open project questions, and orphan research notes - what is…
Vault-first source-grounded research via Gemini File Search. One command, no browser. The grounded parallel to /research-deep…
Scan a codebase and write a maintained set of architecture notes into the vault - overview, per-module notes, key decisions.…
Bulk-triage a kanban board - surface stale items and archive, reschedule, or mark them done in one pass