Loading...
Loading...
Format and validate Obsidian wiki links with proper filename, section, and folder conventions. Verify links exist before creation and fix broken links. Use when creating or checking wiki links in markdown files.
npx skill4agent add jykim/claude-obsidian-skills obsidian-links✅ CORRECT: [[2025-10-31 Project Notes]]
❌ INCORRECT: [[Project Notes]] (missing date)
❌ INCORRECT: [[2025-10-31]] (missing title)✅ CORRECT: [[Journal/2025-10-31]]
✅ CORRECT: [[Articles/2025-10-31 Perennial Seller]]
✅ CORRECT: [[Roundup/2025-10-31]]Source file header:
## PKM System Maintenance
✅ CORRECT:
[[Journal/2025-10-31#PKM System Maintenance]]
❌ INCORRECT:
[[Journal/2025-10-31#PKM System]] (truncated)
[[Journal/2025-10-31#pkm-system-maintenance]] (slug format)✅ CORRECT: [[Articles/2025-08-15 Skill Development]]
❌ INCORRECT: [[Topics/Career#Skill Development]]
Reason: Maintains source attribution and traceabilitysources:
- "[[Journal/2025-10-31]]"
- "[[Articles/2025-10-31 Title]]"
links:
- "[[Roundup/2025-10-31]]"
attendees:
- "[[People/John]]"Process:
1. Search for target file using Glob or Grep
2. Verify file exists
3. If section link, read file and verify header exists
4. Create link with exact filename and header text
❌ NEVER:
- Guess at filenames
- Assume files exist
- Fabricate section headersSteps:
1. Read target file
2. Search for exact header text
3. Copy character-for-character (including special characters)
4. Create section link
If unsure about exact header:
✅ Link to file only: [[Journal/2025-10-31]]
❌ Don't guess: [[Journal/2025-10-31#Guessed Header]]For specific file:
- Use Glob with full path pattern: "Journal/2025-10-31.md"
- Or Read the file directly
For finding files by keyword:
- Use Glob with pattern: "Articles/**/*keyword*.md"
- Check Topics directory before linking to topicsProcess:
1. Identify broken link
2. Search for correct target file
3. Update link with correct path/filename (use Edit tool)
4. Verify section header if applicable
5. Report fix to userStep 1: Determine Target
- Identify file to link to
- Note folder location
- Note complete filename
Step 2: Verify File Exists
- Use Glob: "**/{filename}.md"
- Or Read file directly
- If not found, search by keyword
Step 3: Verify Section (if needed)
- Read target file
- Search for exact header text
- Copy character-for-character
- If unsure, link to file only
Step 4: Format Link
- Use complete filename: [[YYYY-MM-DD Title]]
- Add folder prefix
- Add section if verified: [[File#Exact Header]]
- Wrap in quotes if in YAML property
Step 5: Create Link
- Link points to existing file
- Section header matches exactly (if used)
- Follows folder prefix conventionsStep 1: Detection
- Read document content
- Extract all wiki links
- For each link, verify file exists
- For section links, verify header exists
Step 2: Search for Correct Target
- Use context to determine intent
- Search vault with Glob/Grep
- Verify file exists
Step 3: Fix Link
- Use Edit tool to update broken link
- Replace with correct path/filename
- Verify section header if applicable
Step 4: Report
- Show old link (broken)
- Show new link (fixed)
- Explain reason for fixPath: Journal/YYYY-MM-DD.md
Format: [[Journal/YYYY-MM-DD]]
Section links:
- Headers may vary by language
- ALWAYS verify exact text before linking
- If unsure, link to file only
Validation:
1. Check file: Journal/YYYY-MM-DD.md
2. Read file content
3. Search for exact header
4. Use exact match or file-only linkCRITICAL: Search Topics directory BEFORE linking
Validation:
1. Use Glob: "Topics/**/*{keyword}*.md"
2. Find matching topic page
3. Use complete category path
Examples:
- [[Topics/Technology/PKM]]
- [[Topics/Career/Skills]]
❌ NEVER link to non-existent topic pagesSimple name: [[John]]
With context: [[People/John]] (if folder exists)
Validation: Verify person file exists before linking