Validate frontmatter across all notes in your vault or specific directories.
Validates frontmatter across all notes in your vault or specific directories.
/plugin marketplace add nathanvale/side-quest-marketplace/plugin install claude-code-docs@side-quest-marketplaceValidate frontmatter across all notes in your vault or specific directories.
Run the para-obsidian CLI bulk validation command:
bun ${CLAUDE_PLUGIN_ROOT}/src/cli.ts frontmatter validate-all $ARGUMENTS --format json
# Validate all notes in default search directories
/para-obsidian:validate
# Validate specific directories
/para-obsidian:validate --dir 01_Projects
/para-obsidian:validate --dir 01_Projects,02_Areas
# Validate only notes of a specific type
/para-obsidian:validate --type project
/para-obsidian:validate --type area --dir 02_Areas
# Get markdown output instead of JSON
/para-obsidian:validate --format md
For each note, the validation checks:
JSON mode (default for slash commands):
{
"summary": {
"total": 42,
"valid": 38,
"invalid": 4,
"byType": {
"project": { "total": 15, "valid": 14, "invalid": 1 },
"area": { "total": 8, "valid": 8, "invalid": 0 }
}
},
"issues": [
{
"file": "01_Projects/My Project.md",
"type": "project",
"valid": false,
"errors": [
{ "field": "status", "message": "missing required field" },
{ "field": "template_version", "message": "outdated (found 1, expected 2)" }
]
}
]
}
Markdown mode:
4 of 42 file(s) have issues (38 valid)
By type:
✗ project: 14/15 valid
✓ area: 8/8 valid
Files with issues:
01_Projects/My Project.md:
- status: missing required field
- template_version: outdated (found 1, expected 2)
After validation, you can fix issues using the para-obsidian CLI:
# Update specific frontmatter fields
bun run src/cli.ts frontmatter set <file> key=value
# Example: Fix status and priority
bun run src/cli.ts frontmatter set "Tasks/My Task.md" status=in-progress priority=high
# Remove fields
bun run src/cli.ts frontmatter set <file> --unset field1,field2
# Migrate single file to latest template version
bun run src/cli.ts frontmatter migrate <file>
# Bulk migrate all notes of a specific type
bun run src/cli.ts frontmatter migrate-all --type project
# Dry-run to preview changes
bun run src/cli.ts frontmatter migrate-all --type project --dry-run
# Rename files to Title Case with proper prefixes
bun run src/cli.ts rename "old-name.md" "New Name.md"
Validation scans PARA-managed folders by default:
00 Inbox01 Projects02 Areas03 Resources04 ArchivesTasksDaily NotesWeekly NotesAttachments (included for git operations, typically no markdown files)Excluded: _Sort, Templates, .obsidian, and other non-PARA folders