04-tooling

obsidian bases spike

Thu Apr 30 2026 20:00:00 GMT-0400 (Eastern Daylight Time) ·tooling-spike ·status: shipped

Obsidian Bases spike — Sanity Check pipeline dashboard

30-min spike per founder greenlight 2026-05-01 17:55 ET. Goal: build a persistent dashboard the founder sees natively in Obsidian (no Notion round-trip) for the Sanity Check pipeline. If used, lift the kepano obsidian-bases skill thin. If not, drop it.

What was written

How the founder finds it in Obsidian

  1. File explorer → 01-projects/newsletter/sanity-check-pipeline.base → click to open.
  2. Or open via the Quick Switcher (Cmd-O) and type “sanity-check-pipeline”.
  3. Optional: right-click the file in the explorer → Add to bookmarks, so it shows up in the Bookmarks sidebar (the bookmarks plugin is already enabled).
  4. Optional: embed ![[sanity-check-pipeline.base]] into the existing 01-projects/newsletter/index.md so it appears inline when he opens that index.

The base ships with four views, switched via the view tabs at the top of the rendered base:

ViewPurpose
Pipeline (default)Everything in the newsletter folder, grouped by type bucket (Draft → Research Brief → Strategy → Plan → Published Issue → Legacy Article → Social → Product Concept → Other). The full surface.
In flightDrafts + research briefs + strategy + plan only. Day-to-day “what am I working on” view.
Published archiveThe 21 historical SC issues, sorted by issue number.
CardsCard layout for phone browsing.

Frontmatter the dashboard depends on

Real fields used (all already present on most files):

The base is self-contained YAML with safe if() guards on the optional fields, so files missing status or issue still render cleanly.

Frontmatter normalization gaps surfaced

The dashboard works today, but it would get noticeably richer if the founder makes a future pass to standardize:

  1. status is missing on most files — only ~5 of ~50 have it. If we want a real “drafted vs in review vs published” pipeline view (analogous to the Notion content calendar’s Status field — Idea / Outlined / Drafted / Published), every newsletter- adjacent file needs a status value. Today the “In flight” view filters by type as a proxy, which is coarser than status would be.

  2. No publication date distinct from creation date. The date field is mostly creation date (e.g. 2021-03-04 for SC E01). For a pipeline with a “publish when?” column, a separate publish_date field on drafts/briefs would be valuable.

  3. issue numbering scheme is mixed. Published issues use "000", "011""021", and "early-01""early-09". Sortable as strings but visually ugly. A future normalization could renumber to "E01""E09" + "M000""M021" or similar. Low priority — only matters in the “Published archive” view.

  4. type bucket coverage. STRATEGY.md uses type: strategy plus bet: newsletter — surfaces under “Strategy / Calendar”. Course-notes subfolder content wasn’t sampled; if those files have inconsistent or missing type they’ll fall into the “Other” bucket. Easy fix when the founder next touches them.

  5. tags and pillar are inconsistent. Some files have tags: [sanity-check, mac, ...], most don’t. If we eventually want a “filter by editorial pillar” view (per the 5-piece canonical-thesis arc in STRATEGY.md), a pillar field convention would be the enabling change.

None of these block the spike — flagging them for a future founder-driven cleanup pass.

Verdict on lifting the kepano obsidian-bases skill

WAIT-FOR-FOUNDER-FEEDBACK. The skill is small (one ~13KB SKILL.md + a functions reference) and I’ve already absorbed the syntax to write this base. Lifting it as a ~/.claude/skills/obsidian-bases/ reference is cheap, but only worth doing if the founder actually opens this base, finds it useful, and wants me building more of them (per-bet pipelines, contact dashboards, vault-health views, etc.). If he ignores this dashboard for a week, the skill lift is wasted overhead. The kepano source URL (https://github.com/kepano/obsidian-skills/tree/main/skills/obsidian-bases) is captured here for fast lift if/when the signal comes.

Flag worth attention

The kepano skill’s “this Obsidian version supports Bases” preamble couldn’t be verified from the help.obsidian.md pages (they’re empty bodies that 404 / require JS). The vault’s core-plugins.json already has "bases": true, which strongly suggests the founder’s installed version supports it — but if the base file fails to render (“unknown extension” or similar), the first thing to check is Obsidian → Settings → About → Update. Bases shipped in Obsidian 1.9.0 (June 2025) per public release notes; the founder’s vault config implies he’s already on a compatible version.