learning-vault
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.
How do I install this agent skill?
npx skills add https://github.com/glebis/claude-skills --skill learning-vaultIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill is a vault generator for the Obsidian note-taking app. It automates the creation of a structured directory for study goals and installs a bundled version of the Dataview plugin to enable advanced querying. The analysis found no evidence of malicious behavior, as the file operations are localized to the user's specified study directory and the commands are consistent with the skill's stated purpose.
- Socketwarn
1 alert: gptSecurity
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
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:
TheSKILL_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/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 scenariotask - Every lesson note gets a
- [ ] #review Review this lesson before examtask - 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:
TABLEfrom folders with filters on status, priority, confidenceTASKaggregation from all notes with tag filters (#review, #practice)GROUP BYfor domain-level summariesSORTby priority, weight, confidence levelLISTfor 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
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/glebis/claude-skills/learning-vault">View learning-vault on skillZs</a>