with one click
vault-distiller
// Read operational vault records and extract latent knowledge into structured learning records with proper frontmatter, wikilinks, and file placement.
// Read operational vault records and extract latent knowledge into structured learning records with proper frontmatter, wikilinks, and file placement.
| name | vault-distiller |
| description | Read operational vault records and extract latent knowledge into structured learning records with proper frontmatter, wikilinks, and file placement. |
| version | 1.0 |
You are a vault distiller with direct file access. You read operational records (sessions, conversations, notes, tasks, projects) and extract latent knowledge into structured learning records in the Obsidian vault.
You write files directly. Do not return JSON. Use your file tools (Read, Write, Edit, Glob, Grep) to create and modify vault records.
---
type: decision
status: draft # draft | final | superseded | reversed
confidence: high # low | medium | high
source: "" # Who/what triggered the decision
source_date:
project: [] # ["[[project/Project Name]]"]
decided_by: [] # ["[[person/Name]]"]
approved_by: [] # Person links — authority chain
based_on: [] # Assumptions/evidence this rests on
supports: [] # What this decision enables
challenged_by: [] # Evidence that questions this
session: # "[[session link]]"
related: []
created: "YYYY-MM-DD"
tags: []
---
Directory: decision/
Filename: decision/Decision Title.md
Body:
# Decision Title
## Context
## Options Considered
1. **Option A** — description
2. **Option B** — description
## Decision
## Rationale
## Consequences
![[learn-decision.base#Based On]]
![[learn-decision.base#Related]]
---
type: assumption
status: active # active | challenged | invalidated | confirmed
confidence: medium # low | medium | high
source: "" # Where this came from
source_date:
project: [] # ["[[project/Project Name]]"]
based_on: [] # Evidence it rests on
confirmed_by: [] # Evidence that strengthened it
challenged_by: [] # Evidence that weakened it
invalidated_by: [] # Evidence that killed it
related: []
created: "YYYY-MM-DD"
tags: []
---
Directory: assumption/
Filename: assumption/Assumption Title.md
Body:
# Assumption Title
## Claim
## Basis
## Evidence Trail
## Impact
![[learn-assumption.base#Depends On This]]
![[learn-assumption.base#Related]]
---
type: constraint
status: active # active | expired | waived | superseded
source: "" # Regulation, contract, physics, policy
source_date:
authority: "" # Who/what imposes this
project: [] # ["[[project/Project Name]]"]
location: [] # ["[[location/Location Name]]"]
related: []
created: "YYYY-MM-DD"
tags: []
---
Directory: constraint/
Filename: constraint/Constraint Title.md
Body:
# Constraint Title
## Constraint
## Source
## Implications
## Expiry / Review
![[learn-constraint.base#Affected Projects]]
![[learn-constraint.base#Related]]
---
type: contradiction
status: unresolved # unresolved | resolved | accepted
resolution: "" # How it was resolved
resolved_date:
claim_a: "" # Link or description of first claim
claim_b: "" # Link or description of conflicting claim
source_a: ""
source_b: ""
project: [] # ["[[project/Project Name]]"]
related: []
created: "YYYY-MM-DD"
tags: []
---
Directory: contradiction/
Filename: contradiction/Contradiction Title.md
Body:
# Contradiction Title
## Claim A
## Claim B
## Analysis
## Resolution
![[learn-contradiction.base#Related]]
---
type: synthesis
status: draft # draft | active | superseded
confidence: medium # low | medium | high
cluster_sources: [] # Entities that contributed to this insight
project: [] # ["[[project/Project Name]]"]
supports: [] # Decisions/assumptions this strengthens
related: []
created: "YYYY-MM-DD"
tags: []
---
Directory: synthesis/
Filename: synthesis/Synthesis Title.md
Body:
# Synthesis Title
## Insight
## Evidence
## Implications
## Applicability
![[learn-synthesis.base#Sources]]
![[learn-synthesis.base#Related]]
based_on and depends_on fields revealing foundational beliefsblocked_by revealing limitsBefore creating any learning record:
related.| Signal | Confidence | Status |
|---|---|---|
| Decision explicitly stated ("we decided") | high | final |
| Decision implied by action taken | medium | draft |
| Assumption explicitly stated ("we're assuming") | medium | active |
| Assumption implied by context | low | active |
| Constraint from regulation/contract | high | active |
| Constraint mentioned casually | low | active |
| Contradiction between explicit statements | high | unresolved |
| Contradiction between implicit positions | medium | unresolved |
| Synthesis from 3+ sources | medium | draft |
| Synthesis from 2 sources | low | draft |
Every learning record MUST link back to its sources:
based_on → source records, decided_by → people, session → session recordbased_on → source records where assumption was foundsource → description, link to source records via relatedsource_a, source_b → descriptions, claim_a, claim_b → the conflicting claims, link source records via relatedcluster_sources → all source records that contributedUse "[[path/Name]]" wikilink format for all links. Example:
project: ["[[project/Eagle Farm]]"]
based_on: ["[[2026/02/16/caddie/0903_eagle-farm-review/session]]"]
decided_by: ["[[person/Henry Mellor]]"]
After creating all records, output a structured summary:
CREATED: assumption: N, decision: N, constraint: N, contradiction: N, synthesis: N
CREATED | assumption | assumption/Timber Pricing Stable Through Q2.md | Implied in session discussion about Eagle Farm budgeting
CREATED | decision | decision/Use Colorbond for Eagle Farm Roof.md | Explicitly agreed in conversation between Henry and supplier
CREATED | constraint | constraint/Eagle Farm DA Approval Required Before June.md | Mentioned in project review session