validate-vault
Validates an EstudeMe vault: checks frontmatter against the schema for each document type and reports broken wikilinks. Use when the user asks 'validate my vault', 'check my vault', 'any broken links', 'is my vault healthy'. Don't use to inspect a specific trail's progress — use inspect-trail.
- License 许可
- MIT
- 最近更新
- 2026-05-25
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- validate-vault
- license
- MIT
- description
- Validates an EstudeMe vault: checks frontmatter against the schema for each document type and reports broken wikilinks. Use when the user asks 'validate my vault', 'check my vault', 'any broken links', 'is my vault healthy'. Don't use to inspect a specific trail's progress — use inspect-trail.
- compatibility
- claude-code, gemini-cli, copilot, codex
03 SKILL.md 正文
Skill: Validate Vault
Instructions
Step 1: Confirm vault path
- [ ] Ask the user for the vault path if not provided.
Step 2: Run the CLI
- [ ] Execute:
estudeme validate <vault-path> - [ ] Capture stdout (structured findings) and exit code.
Step 3: Report
- [ ] If the validation reports zero errors and warnings: confirm "vault is healthy" and stop.
- [ ] If errors or warnings exist: group them by file, summarize the most
common issue type, and propose concrete fixes (e.g., "three notes
missing
type:field — addtype: noteto their frontmatter").
Critical
- Read-only skill. Never auto-fix issues without explicit user approval.
- The CLI returns exit 0 for clean and non-zero for issues found. Treat both as successful runs of the skill; the difference is what to report.
Examples
Example 1: Clean vault
User says: "Validate ~/study/my-vault."
Actions:
- Run
estudeme validate ~/study/my-vault - Output reports zero issues
Result: Confirm to the user: "Vault is healthy. No frontmatter errors or broken wikilinks found."
Example 2: Issues found
User says: "Any broken links in my vault?"
Actions:
- Run
estudeme validate ~/study/my-vault - Output reports 3 broken wikilinks in 2 files
Result: Present each broken link with the file path and the target that could not be resolved. Suggest the user check the target name or create the missing note.
Troubleshooting
Error: Cannot find vault directory
- Cause: wrong path.
- Solution: confirm with the user.
Validation hangs on a large vault
- Cause: very large vault (thousands of files).
- Solution: wait — the parser is single-pass. If it truly hangs, ask the user to confirm the vault size and file the issue.
Performance Notes
- Validation walks every Markdown file. For vaults under 1000 files, it completes in well under a second.
04 同仓库更多 Skills
list-trails
A test skill that should be ignored by the vault parser.
review-vault-state
Gives a complete state overview of an EstudeMe vault by orchestrating validation, trail listing, and metrics into a single coherent report. Use when the user asks 'how is my vault', 'give me an overview', 'state of my study system', 'review my vault'. Don't use for a single trail — use inspect-trail.
report-metrics
Reports vault-wide metrics in an EstudeMe vault: trail count, module count, notes per trail, cards per trail, overall structure summary. Use when the user asks 'show vault metrics', 'how is my progress overall', 'give me numbers on my vault'. Don't use to inspect a single trail — use inspect-trail.
list-trails
Lists all trails (learning tracks) in an EstudeMe vault. Use when the user asks 'what trails do I have', 'list my trails', 'show me my trails', or wants an overview of their learning tracks. Don't use for progress detail on a specific trail — use inspect-trail.
list-cards
Lists all flashcards in an EstudeMe vault. Use when the user asks 'list my cards', 'what flashcards do I have', 'show me my cards', or wants a card inventory. Don't use to export cards to an external format — use export-cards.
inspect-trail
Shows detailed progress and status for a specific trail in an EstudeMe vault: modules covered, notes per module, completion percentage. Use when the user asks 'how is my trail X', 'status of trail X', 'progress on the Java trail'. Don't use to list multiple trails — use list-trails.