Learning Vault Generator
Create a fully structured Obsidian vault for any learning goal — certification exams, courses, skill acquisition, or research programs.
Trigger Phrases
- "create a learning vault for X"
- "build a study vault"
- "set up a certification vault"
- "learning vault for [topic]"
- "/learning-vault"
Interactive Setup
Ask the user these questions (use AskUserQuestion):
1. Subject & Goal
- What is the learning goal? (certification, course, skill, research)
- What is the subject? (e.g., "AWS Solutions Architect", "Rust programming", "Machine Learning")
- Is there a specific exam or assessment? If yes, get: format, passing score, domains/topics, timeline
2. Structure
- How many main topics/domains? (auto-detect from curriculum if URL provided)
- Are there courses to track? (get URLs, lesson counts)
- Are there scenarios/practice areas?
3. Self-Assessment
- For each domain/topic, ask: "How confident are you?" (expert/strong/moderate/needs-work/no-experience)
- This drives the study priority ordering
4. Configuration
- Vault location (default: ~/Brains/{subject-slug}/)
- Daily notes? (yes/no)
- Dataview plugin assumed? (yes — required for queries)
Vault Architecture
Based on the genome vault pattern at ~/Brains/genome/:
{vault}/
├── Dashboard.md — central hub with dataview queries
├── MoC - Courses.md — course progress tracker
├── MoC - Domains.md — domain/topic overview
├── MoC - Concepts.md — key concepts by domain
├── MoC - Scenarios.md — practice scenarios (if applicable)
├── Action Items.md — dataview task aggregator
├── Question Index.md — navigate by question type
├── Key Pitfalls.md — common mistakes to avoid
├── Exam Cheat Sheet.md — last-minute review card
├── Courses/ — one note per course
│ └── {Course Name}.md
├── Domains/ — one note per domain/topic
│ └── {Domain Name}.md
├── Concepts/ — atomic knowledge units
│ └── {Concept Name}.md
├── Scenarios/ — practice scenarios
│ └── {Scenario Name}.md
├── Lessons/ — individual lesson notes
│ └── Lesson - {Name}.md
├── Resources/ — links, study plans
│ ├── Official Links.md
│ └── Study Plan.md
├── Templates/ — note templates
│ ├── _Course.md
│ ├── _Lesson.md
│ ├── _Concept.md
│ ├── _Scenario.md
│ └── _Domain.md
└── .obsidian/
├── app.json
├── community-plugins.json
└── plugins/
└── dataview/
├── main.js — copy from reference vault
├── manifest.json
├── styles.css
└── data.json — enable DataviewJS, inline queries, HTML
Dataview Plugin Setup
The vault MUST include a working Dataview plugin — not just config, but the actual plugin binary. During generation:
- Copy the bundled plugin from this skill's directory:
SKILL_DIR="$(dirname "$0")" # or resolve from ~/.claude/skills/learning-vault/
mkdir -p {vault}/.obsidian/plugins/dataview
cp ~/.claude/skills/learning-vault/dataview-plugin/* {vault}/.obsidian/plugins/dataview/
The dataview-plugin/ directory inside this skill contains: main.js, manifest.json, styles.css, data.json — a complete, pre-configured Dataview plugin.
- Register in
community-plugins.json: ["dataview"]
No manual plugin installation needed — Dataview works on first vault open.
Frontmatter Schema
All Notes
type: course | domain | concept | scenario | lesson | resource | moc | meta | dashboard
created_date: 'YYYY-MM-DD'
tags: []
Course
status: not-started | in-progress | completed
priority: 1-5
lessons_total: 0
lessons_done: 0
exam_weight: ""
difficulty: easy | moderate | hard
domains: [] # wikilinks
Concept
domain: "[[Domain Name]]"
status: not-started | in-progress | completed
confidence: low | medium | high
importance: critical | high | medium | low
Scenario
number: 1-N
domains: [] # wikilinks
difficulty: easy | moderate | hard
Lesson
course: "[[Course Name]]"
section: ""
status: not-started | in-progress | completed
concepts: [] # wikilinks
Generation Rules
- Every concept note gets a
- [ ] #review Can I explain this without notes? task
- Every scenario note gets a
- [ ] #practice Build a mini-project for this scenario task
- Every lesson note gets a
- [ ] #review Review this lesson before exam task
- Wikilinks everywhere — concepts link to domains, scenarios link to concepts, courses link to both
- Question Index maps common questions to concept notes (like genome vault's "search by concern, not gene")
- Key Pitfalls lists wrong answers the exam loves to test (attractive distractors)
- Study Plan generates phases based on: easy stuff first → gaps second → big course → practice → review
Dataview Queries Used
The vault uses these Dataview query patterns:
TABLE from folders with filters on status, priority, confidence
TASK aggregation from all notes with tag filters (#review, #practice)
GROUP BY for domain-level summaries
SORT by priority, weight, confidence level
LIST for filtered views (not-started, in-progress, completed)
Self-Assessment → Priority Mapping
| Self-Assessment |
Confidence |
Study Priority |
| no-experience |
low |
1 (study first) |
| needs-work |
low |
2 |
| moderate |
medium |
3 |
| strong |
medium-high |
4 (review only) |
| expert |
high |
5 (quick check) |
Higher exam weight × lower confidence = higher study priority.
Study Plan Generation
Phases are generated based on:
- Quick wins: courses with few lessons + high confidence → build momentum
- Gap-filling: domains with low confidence + high exam weight
- The big course: the largest course by lesson count
- Practice: scenarios, hands-on projects
- Final review: cheat sheet, pitfalls, low-confidence concepts
Example Usage
User: "Create a learning vault for the AWS Solutions Architect Associate exam"
→ Ask: domains, courses (e.g., Udemy course URL), timeline, self-assessment
→ Generate: vault at ~/Brains/aws-saa/ with domains (Compute, Storage, Networking, Security, etc.), concepts per domain, practice scenarios, course tracking, dataview-powered progress dashboard
Reference Implementation
The CCAF vault at ~/Brains/ccaf/ is the canonical example:
- 88 files, 462 wikilinks
- 5 domains, 31 concepts, 8 scenarios, 7 courses, 21 lessons
- Full dataview integration
- Multiple navigation paths: by domain, by concept, by scenario, by question type
1---2name: learning-vault3description: Generate a dedicated Obsidian learning vault for any certification, course, or study goal. Creates structured notes with domains, concepts, lessons, scenarios, MoCs, dataview queries, action items, and multiple navigation paths. Inspired by the genome vault pattern. Use when the user wants to create a study vault, learning vault, certification prep vault, or structured knowledge base for a learning goal.4---5
6# Learning Vault Generator
7
8Create a fully structured Obsidian vault for any learning goal — certification exams, courses, skill acquisition, or research programs.
9
10## Trigger Phrases
11
12- "create a learning vault for X"
13- "build a study vault"
14- "set up a certification vault"
15- "learning vault for [topic]"
16- "/learning-vault"
17
18## Interactive Setup
19
20Ask the user these questions (use AskUserQuestion):
21
22### 1. Subject & Goal
23- What is the learning goal? (certification, course, skill, research)
24- What is the subject? (e.g., "AWS Solutions Architect", "Rust programming", "Machine Learning")
25- Is there a specific exam or assessment? If yes, get: format, passing score, domains/topics, timeline
26
27### 2. Structure
28- How many main topics/domains? (auto-detect from curriculum if URL provided)
29- Are there courses to track? (get URLs, lesson counts)
30- Are there scenarios/practice areas?
31
32### 3. Self-Assessment
33- For each domain/topic, ask: "How confident are you?" (expert/strong/moderate/needs-work/no-experience)
34- This drives the study priority ordering
35
36### 4. Configuration
37- Vault location (default: ~/Brains/{subject-slug}/)
38- Daily notes? (yes/no)
39- Dataview plugin assumed? (yes — required for queries)
40
41## Vault Architecture
42
43Based on the genome vault pattern at ~/Brains/genome/:
44
45```
46{vault}/
47├── Dashboard.md — central hub with dataview queries
48├── MoC - Courses.md — course progress tracker
49├── MoC - Domains.md — domain/topic overview
50├── MoC - Concepts.md — key concepts by domain
51├── MoC - Scenarios.md — practice scenarios (if applicable)
52├── Action Items.md — dataview task aggregator
53├── Question Index.md — navigate by question type
54├── Key Pitfalls.md — common mistakes to avoid
55├── Exam Cheat Sheet.md — last-minute review card
56├── Courses/ — one note per course
57│ └── {Course Name}.md
58├── Domains/ — one note per domain/topic
59│ └── {Domain Name}.md
60├── Concepts/ — atomic knowledge units
61│ └── {Concept Name}.md
62├── Scenarios/ — practice scenarios
63│ └── {Scenario Name}.md
64├── Lessons/ — individual lesson notes
65│ └── Lesson - {Name}.md
66├── Resources/ — links, study plans
67│ ├── Official Links.md
68│ └── Study Plan.md
69├── Templates/ — note templates
70│ ├── _Course.md
71│ ├── _Lesson.md
72│ ├── _Concept.md
73│ ├── _Scenario.md
74│ └── _Domain.md
75└── .obsidian/
76 ├── app.json
77 ├── community-plugins.json
78 └── plugins/
79 └── dataview/
80 ├── main.js — copy from reference vault
81 ├── manifest.json
82 ├── styles.css
83 └── data.json — enable DataviewJS, inline queries, HTML
84```
85
86## Dataview Plugin Setup
87
88The vault MUST include a working Dataview plugin — not just config, but the actual plugin binary. During generation:
89
901. **Copy the bundled plugin** from this skill's directory:
91 ```bash
92 SKILL_DIR="$(dirname "$0")" # or resolve from ~/.claude/skills/learning-vault/
93 mkdir -p {vault}/.obsidian/plugins/dataview
94 cp ~/.claude/skills/learning-vault/dataview-plugin/* {vault}/.obsidian/plugins/dataview/
95 ```
96 The `dataview-plugin/` directory inside this skill contains: `main.js`, `manifest.json`, `styles.css`, `data.json` — a complete, pre-configured Dataview plugin.
972. **Register in `community-plugins.json`**: `["dataview"]`
98
99No manual plugin installation needed — Dataview works on first vault open.
100
101## Frontmatter Schema
102
103### All Notes
104```yaml
105type: course | domain | concept | scenario | lesson | resource | moc | meta | dashboard
106created_date: 'YYYY-MM-DD'
107tags: []
108```
109
110### Course
111```yaml
112status: not-started | in-progress | completed
113priority: 1-5
114lessons_total: 0
115lessons_done: 0
116exam_weight: ""
117difficulty: easy | moderate | hard
118domains: [] # wikilinks
119```
120
121### Concept
122```yaml
123domain: "[[Domain Name]]"
124status: not-started | in-progress | completed
125confidence: low | medium | high
126importance: critical | high | medium | low
127```
128
129### Scenario
130```yaml
131number: 1-N
132domains: [] # wikilinks
133difficulty: easy | moderate | hard
134```
135
136### Lesson
137```yaml
138course: "[[Course Name]]"
139section: ""
140status: not-started | in-progress | completed
141concepts: [] # wikilinks
142```
143
144## Generation Rules
145
1461. **Every concept note** gets a `- [ ] #review Can I explain this without notes?` task
1472. **Every scenario note** gets a `- [ ] #practice Build a mini-project for this scenario` task
1483. **Every lesson note** gets a `- [ ] #review Review this lesson before exam` task
1494. **Wikilinks everywhere** — concepts link to domains, scenarios link to concepts, courses link to both
1505. **Question Index** maps common questions to concept notes (like genome vault's "search by concern, not gene")
1516. **Key Pitfalls** lists wrong answers the exam loves to test (attractive distractors)
1527. **Study Plan** generates phases based on: easy stuff first → gaps second → big course → practice → review
153
154## Dataview Queries Used
155
156The vault uses these Dataview query patterns:
157
158- `TABLE` from folders with filters on status, priority, confidence
159- `TASK` aggregation from all notes with tag filters (#review, #practice)
160- `GROUP BY` for domain-level summaries
161- `SORT` by priority, weight, confidence level
162- `LIST` for filtered views (not-started, in-progress, completed)
163
164## Self-Assessment → Priority Mapping
165
166| Self-Assessment | Confidence | Study Priority |
167|---|---|---|
168| no-experience | low | 1 (study first) |
169| needs-work | low | 2 |
170| moderate | medium | 3 |
171| strong | medium-high | 4 (review only) |
172| expert | high | 5 (quick check) |
173
174Higher exam weight × lower confidence = higher study priority.
175
176## Study Plan Generation
177
178Phases are generated based on:
1791. **Quick wins**: courses with few lessons + high confidence → build momentum
1802. **Gap-filling**: domains with low confidence + high exam weight
1813. **The big course**: the largest course by lesson count
1824. **Practice**: scenarios, hands-on projects
1835. **Final review**: cheat sheet, pitfalls, low-confidence concepts
184
185## Example Usage
186
187User: "Create a learning vault for the AWS Solutions Architect Associate exam"
188
189→ Ask: domains, courses (e.g., Udemy course URL), timeline, self-assessment
190→ Generate: vault at ~/Brains/aws-saa/ with domains (Compute, Storage, Networking, Security, etc.), concepts per domain, practice scenarios, course tracking, dataview-powered progress dashboard
191
192## Reference Implementation
193
194The CCAF vault at ~/Brains/ccaf/ is the canonical example:
195- 88 files, 462 wikilinks
196- 5 domains, 31 concepts, 8 scenarios, 7 courses, 21 lessons
197- Full dataview integration
198- Multiple navigation paths: by domain, by concept, by scenario, by question type