Wiki Conventions

Rules for the shape of notes in this vault. Mechanical checks live in [[Lint Checklist]]. Schema rationale lives in [[CLAUDE]].

Filenames

  • Title Case With Spaces.md. Obsidian default. No underscores, no hyphens, no dates.
  • The filename is the canonical title. Do not put a different # Heading at the top — the H1 is implied by the filename in Obsidian.
  • One file = one concept. If you find yourself writing “and also…” about an unrelated topic, split.

Heading hierarchy

  • Start the body with ## Section, never # Title (the filename is the title).
  • Max depth: ####. If you need deeper, the note is too long — split it.
  • Sections are noun phrases, not sentences. “Rate Limits” not “How rate limits work”.

Frontmatter (optional)

When useful, the file may begin with a YAML block:

---
tags: [enrichment, scraping]
aliases: ["Crawlee", "Direct Scraper"]
updated: 2026-04-27
---

Use it when (a) aliases help search, or (b) the note’s currency matters and updated: is worth tracking. Otherwise omit.

  • Inter-note: Obsidian wikilink syntax with double square brackets around the title. The title must match an existing filename in Wiki/.
  • External URLs: standard markdown [label](https://...).
  • File paths in the repo: backticks, absolute path, e.g. `./src/index.ts`.

Callouts

Karpathy: “mark stale claims, do not delete.” Use Obsidian callouts:

  • > [!note] — neutral side info.
  • > [!warning] — gotcha, a thing that bites.
  • > [!stale] YYYY-MM-DD — reason — outdated claim retained for history.
  • > [!todo] — a known gap or follow-up.

When to split a note

Split if any of these is true:

  • Two distinct concepts share the page (atomic note rule violated).
  • The note exceeds ~150 lines without a strong reason.
  • Two unrelated readers need the same page for different reasons.

When you split, both new notes go in [[Index]], and the old note either becomes a stub linking to the splits or is replaced by a redirect via the aliases: frontmatter field.

Voice

  • Specific over generic. “Rate-limited 2s/domain” beats “rate-limited appropriately”.
  • File paths, function names, line numbers, dates, counts — preferred everywhere.
  • No marketing adjectives. See the constraints in [[CLAUDE]].