Design patterns from Obsidian + Claude session (2026-05-24) #1
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Captured while Claude (via MCP
obsidianserver) worked extensively inNotizen/on 2026-05-24. These are first-look patterns Nexa should adopt when writing back to the user's surfaces (Memos, Obsidian, Nextcloud). Not bugs — design input for Phase 1–2.1. Write-back location: merge into existing, never parallel
Claude's first instinct was to create
Work/Journal/Claude Edits/YYYY-MM-DD.md(parallel tree). User corrected: append a## 🤖 Claude editssection into the existing daily note atWork/Journal/YYYY/MM/YYYY-MM-DD.md.Nexa rule: any AI write-back lands in the user's existing structure (daily note, project note, area page). Use a marked section header (
## 🤖 Nexa, etc.) so the user can read top-to-bottom and see AI activity in context. Never create a parallel*.AI/or*.Nexa/tree.2. Convention auto-detection — don't impose, observe
User keeps assets in
.assets/(hidden — to declutter the Obsidian file tree). Default-aware tools would write intoassets/. After today's link batch-fix, 234 links across 41 files had to be rewritten because the wrong convention was used historically.Nexa rule: before writing into the vault, sniff conventions from a sample of recent notes (attachment dir, frontmatter style, daily-note path format, language). Cache the inferred profile per-vault.
3. Dry-run + diff before destructive bulk ops
The link rewriter ran
--dryfirst, printed a 30-line sample, then user could OK. Same for theWork/Work 1merge (presented mtime comparison table before anymv).Nexa rule: any operation touching > N (suggest N=3) user notes must produce a preview the user can read in Memos (or a dedicated Nexa-review note) before applying. Audit log of what changed, with rollback.
4. Idempotent writes + Nextcloud collision tolerance
When the user resynced via Option A (clean-pull), Nextcloud renamed the incoming
Work/toWork 1/because a localWork/already existed. This is standard NC behaviour. Any Nexa write loop must handle it.Nexa rule: writes must be idempotent (re-running yields same state). On collision, prefer reconcile-then-merge over both-versions. Detect
1/2/suffixes as conflict signals to surface.5. Secret-aware: vault is NOT a secrets store
Grep across vault found 32 plaintext secrets (Anthropic API key, Gemini, NC AIO passphrase, etc.). User's habit is paste-into-note. Nexa workflows that ingest from Memos / Karakeep / mail must detect and flag secrets, never re-write or re-embed them.
Nexa rule:
sk-,AIza,Bearer,password:etc. → tag the memo, do NOT push to embeddings until reviewed.Home/Homelab/Secrets to Move.mdcreated today) tracking what needs to move to Vaultwarden/Infisical.6. Aggregation across self-hosted tools
Key insight surfaced when the user audited Obsidian plugins: Karakeep, Paperless, Memos, Immich each hold pieces of the user's thinking. Today's plugin research recommended Hoarder Sync, Paperless plugin, Immich Picker, Memos Sync — all to pull these into the vault.
Nexa rule: this is exactly Nexa's job from the other direction — instead of N plugins each polling, run one n8n flow per source, normalise into a write-back schema (frontmatter
source: karakeep,source_id: ...,ingested_at: ...), and write into a topic-routed location (/Inbox/karakeep/,/Inbox/paperless/, etc.). The user then triages weekly.7. Capture surface =
Inbox.md(root)User has a single
Inbox.mdat vault root for capture. Matches Memos' role as Nexa's mouth. QuickAdd plugin recommendation today closed the loop for Android share-target.Nexa rule: treat
Inbox.md(and Memos itself) as the canonical "unsorted" surface. Workflows triage from there, never to there (avoids overflow loops).8. Cruft cleanup is a recurring need
Vault had: empty notes, dup folder pairs after sync collision, stale plugin data folders (
.smart-env/,.copilot/,BMO/from removed plugins), 7 fullwidth-slash filenames, 141 orphan notes.Nexa rule: schedule a weekly "vault hygiene" n8n flow → output a markdown report into the next-Monday daily note. Items: empty notes ≥ 30d, orphans w/ no edit for ≥ 60d, plugin-data-dirs for plugins not in
community-plugins.json, MKCOL-style sync conflicts.9. Daily-note as agent log + user log
Claude's session-end summary now lives in the user's daily note (
## 🤖 Claude edits). Future Claude sessions will append. Pattern works for Nexa.Nexa rule: Nexa adds its own section
## 🧠 Nexa activityto the daily note for: classifications made (Work/Personal counts), tasks created, memos archived, embeddings refreshed. User opens daily note → sees both human + AI activity in one place.Next concrete actions for Nexa
## 🧠 Nexa activity) for write-back (patterns #1 + #9).Referenced session artifacts (in vault):
Work/Journal/2026/05/2026-05-24.md— full session logHome/Homelab/Secrets to Move.md— pattern #5 example outputReferenced infrastructure:
https://mcp.nuclide.systems/obsidian/mcp/var/nfs/shared/storage/services/nextcloud/fkrebs@nucli.de/files/Notizen