Wiki Stubs
A wiki stub is a placeholder for a concept you don’t have time to write up properly right now. You drop the title, maybe a source or two, and move on — the stub waits for you in the Curate view until you come back to develop it (with AI help or by hand).
This is one of Pensum’s two main capture loops: the other is Quick Add for tasks. Both follow the same principle — capture fast now, organize later.
The workflow
Section titled “The workflow” capture curate develop┌──────────┐ ┌──────────────┐ ┌────────────────────────┐│ Cmd+Shft │ │ Curate view │ │ Expand with AI ││ + W │ → │ shows stubs │ → │ (inserts callout) ││ modal │ │ oldest first│ │ or write it yourself │└──────────┘ └──────────────┘ └────────────────────────┘status: stub status: drafted → developedYou’re never forced to develop a stub. It can sit at status: stub for as long as you want. The Curate view exists so the backlog of half-formed ideas surfaces deliberately when you have the time and headspace, instead of getting lost.
Capturing a stub
Section titled “Capturing a stub”Press Cmd+Shift+W (or run Capture Wiki Stub from the command palette).
| Field | Required | Notes |
|---|---|---|
| Title | yes | Becomes the file name and the H1. Slashes and other path-unsafe characters get replaced with -. |
| Source | no | A [[wikilink]] to the meeting / note where you ran into the concept, or a URL. Goes into frontmatter sources:. |
| Tags | no | Comma-separated, e.g. smtp, email. |
Press Enter to create. The file lands in your Wiki folder (Wiki by default — change it in Settings → General). Pensum refuses to overwrite an existing file with the same name.
What the file looks like
Section titled “What the file looks like”---type: wikiid: 01KRT...entry_type: conceptstatus: stubcreated: 2026-05-16last_reviewed: 2026-05-16sources: ["[[Meeting 2026-05-12]]"]tags: [smtp, email]related: []---
# SMTP Submission Port 587
## My understanding
## Key points
## SourcesThe three sections (My understanding / Key points / Sources) follow Karpathy’s LLM-wiki pattern — the same shape works whether a human or an AI is filling it in, and the headings make it obvious what each section is for.
Frontmatter fields
Section titled “Frontmatter fields”| Field | Values | Meaning |
|---|---|---|
entry_type | concept (default), person, project-reference, decision, tool, pattern, or any custom string | What kind of thing this entry describes. Filters work over this field, so consistent values pay off. |
status | stub → drafted → developed → archived | Where in the lifecycle this entry sits. New stubs start at stub; AI expansion moves it to drafted; you flip to developed when you’re satisfied; archived keeps the file but hides it from the Curate view. |
last_reviewed | YYYY-MM-DD | Updated whenever you sit down with the entry. The Curate view uses age to nudge old stubs forward; future tooling will surface entries that haven’t been reviewed in a while even if status: developed. |
sources | array of links / URLs | Where you encountered the concept. Wikilinks to meetings or other notes work best — they enable backlinks. |
related | array of wikilinks | Other wiki entries this connects to. Build the graph deliberately. |
tags | array | Plain tags. |
The Curate view
Section titled “The Curate view”Open the sidebar tab Curate (book-open icon) — or Pensum: Open Curate view from the command palette. The view lists every wiki entry sorted oldest-first so the stubs that have been waiting longest are at the top.
Each row has two actions:
- Expand — runs Stub Expansion (Pro). The AI drafts a
[!ai-generated]callout under the title, flipsstatus: stubtodrafted, and leaves your sections untouched for you to keep building on. - Open — opens the file so you can develop it manually.
When the list is empty, you’ve cleared the backlog — capture more with Cmd+Shift+W.
Stub Expansion (Pro)
Section titled “Stub Expansion (Pro)”Stub Expansion fills in the gap between “I jotted this down” and “I actually understand it.” It takes the title plus the entry’s frontmatter (sources, tags) and asks the model to draft an explanation that fits the same three-section template.
The result lands as a callout, structurally marked as AI-generated:
> [!ai-generated] Drafted by claude-sonnet-4-6 on 2026-05-16>> SMTP Submission Port 587 is the standard port for...> ...The callout sits above your ## My understanding section, so the original template stays intact. The intent is for you to read what the AI drafted, then write your own understanding in your section — the AI’s draft is reference material, not a replacement for your thinking. The provenance callout makes that distinction visible in every view of the file.
After expansion, status flips to drafted automatically. You move it to developed when you’ve added your own content and feel like the entry stands on its own.
Stub Expansion uses the model you’ve picked under Settings → AI → Stub Expansion. Pro All-in-One users get this managed; Pro BYO users supply the key. See the model catalog for which models the catalog recommends for this feature.
Linking stubs together
Section titled “Linking stubs together”Wiki entries become valuable when they connect. A few patterns that work:
- From a meeting note — drop a
[[Concept Name]]wikilink as you take notes. If the page doesn’t exist yet, Obsidian shows the link in muted styling; create the stub later with Cmd+Shift+W (or click through to create it inline). - From another wiki entry — add wikilinks under
## Key pointsAND populate therelated:frontmatter field. The frontmatter field is what queries operate on; the inline wikilink is what readers follow. - From a project page — same as above. Project pages naturally accumulate references to the concepts they depend on.
Customising the template
Section titled “Customising the template”The stub template lives at .pensum/templates/wiki-stub.md. Edit it directly to change the default sections, frontmatter defaults, or anything else. See the templates guide for the full template syntax and how to add new templates.
A common customisation: change the default entry_type. If most of your stubs are people (sales prospects, team members), set entry_type: person in the template so you don’t have to retype it each time.
What’s not in v1.0
Section titled “What’s not in v1.0”- Bulk operations on stubs (mass-archive, mass-expand) — likely v1.1 once usage patterns are clearer.
last_reviewedautomation (auto-bump when you edit, surface stale-developed entries) — design pending.- Cross-meeting concept extraction (auto-create stubs from concepts mentioned across multiple meetings) — deferred.