Building a Strong Foundation
Start with Manual Tagging
The plugin needs examples to learn from. Before expecting good suggestions:Tag your existing notes
Go through your vault and add tags to at least 20-30 notes manually. Focus on notes you consider well-organized or representative of your content.
Use each tag multiple times
Remember: tags must appear in at least 2 documents to be suggested (see
src/model.ts:119). Aim for 3-5 examples minimum for reliable suggestions.The plugin only learns from notes that already have tags. Untagged notes are counted in statistics but don’t influence the model.
Be Consistent
Consistency is more important than quantity.- ✅ Good Practice
- ❌ Bad Practice
Pick one tag format and stick with it:Use tags for similar content:
- Tag all Python tutorials with
#python - Tag all project planning notes with
#planning - Tag all meeting notes with
#meeting
Optimizing Tag Quality
Tag Granularity
Balance between too broad and too specific: Too broad:#notes(applies to everything)#stuff#important
#python-pandas-dataframe-merge-tutorial-2024#meeting-with-john-about-project-x
#python+#pandas#meeting+#project-x
The TF-IDF algorithm automatically weights distinctive words higher (see
src/model.ts:294-301). Broad tags that appear in many different contexts will naturally have lower, more diffuse vectors.Use Tag Hierarchies
Obsidian supports nested tags with forward slashes. The plugin treats these as single tags:- Organize related tags hierarchically
- The plugin learns associations at each level
- You can use Obsidian’s tag pane to collapse/expand categories
#programming/python together with #data/science, the plugin will learn this pattern and boost #data/science when it sees #programming/python in a note (from src/model.ts:133-142).
Content Quality Matters
The plugin analyzes note content, not just titles:What makes good training content?
What makes good training content?
Strong signals:
- Descriptive body text (at least 50-100 words)
- Technical terms and domain-specific vocabulary
- Consistent terminology across similar notes
- Very short notes (< 20 words)
- Notes with mostly links and no prose
- Notes that are just lists of tasks
- Generic placeholder text
- Stop words (“the”, “and”, “is”, etc.)
- Words shorter than 3 characters
- Pure numbers
- Code blocks and inline code
- Frontmatter (except tags)
src/model.ts:197-217 for full tokenization logic.
Working with Suggestions
Understanding the Suggestion Notice
When a suggestion appears, you have several options (fromsrc/main.ts:183-255):
Add
Accept the suggestion. The tag is inserted according to your “Tag placement” setting, and the next suggestion appears.
Skip
Reject this suggestion but continue to the next one. The plugin won’t suggest this tag again for the current note (even after edits).
Skip all
Dismiss all pending suggestions for this note. Only appears when there are multiple suggestions.
Skipped suggestions are tracked per file. If you close and reopen the note, you’ll see suggestions again (from
src/main.ts:38).When to Manually Trigger Suggestions
Use the command palette command “Suggest tags for current note” when:- You’ve just written a lot of content and want to review all suggestions
- You have “Auto-suggest while editing” disabled
- You want to re-evaluate tags after skipping some
- You want to see the full modal view immediately
src/main.ts:96-104).
Tuning for Your Vault
Small Vaults (under 100 notes)
Challenges:- Limited training data
- Fewer tag examples
- More variance in suggestions
- Be extra consistent with tagging
- Use fewer, more general tags
- Manually tag at least 30-40 notes
- Accept that suggestions will improve over time
Medium Vaults (100-500 notes)
Optimal conditions for the plugin:- Enough data to learn patterns
- Not too large to slow down processing
- Experiment with co-occurrence by using related tags together
- Develop a tag hierarchy for your main topics
- Rescan after adding 20+ tagged notes
Large Vaults (500+ notes)
Considerations:- Initial scan takes longer (but only happens once)
- More unique words and tags in the model
- Very robust suggestions if tagging is consistent
- Consider disabling auto-suggest if you notice slowdowns
- Use manual trigger instead for better control
- Be patient during initial scan (may take 30-60 seconds)
- Higher confidence thresholds can reduce noise
Specialized Vaults
- Academic Research
- Project Management
- Personal Knowledge
- Multi-language
Characteristics:
- Technical terminology
- Citation-heavy notes
- Topic clusters
- Tag by methodology (
#qualitative,#quantitative) - Tag by field/subfield
- Use co-occurrence for paper-topic relationships
- The plugin excels with technical jargon
Troubleshooting Poor Suggestions
No Suggestions Appearing
Check if model is ready
Look at the settings page. Do you see model statistics? If not, wait for the initial scan to complete or trigger a manual rescan.
Verify minimum requirements
- Is your note longer than 3 words after tokenization?
- Do you have at least 2 documents with some tags?
- Are you below the minimum confidence threshold?
Check auto-suggest setting
Is “Auto-suggest while editing” enabled? If not, use the command palette to manually trigger.
Suggestions Are Not Relevant
Possible causes and fixes:Inconsistent training data
Inconsistent training data
Symptom: Random or unexpected suggestionsSolution: Review how you’ve tagged similar notes. Are you using the same tags for the same topics? Standardize your tagging and rescan.
Minimum confidence too low
Minimum confidence too low
Symptom: Many weak, barely-related suggestionsSolution: Increase “Minimum confidence” to 0.02-0.05 in settings. This filters out low-quality matches.
Note content too generic
Note content too generic
Symptom: Suggestions don’t match the specific topicSolution: Add more distinctive, topic-specific words to your note. Generic language produces generic suggestions.
Stale model
Stale model
Symptom: Old tags suggested even though you’ve changed your systemSolution: Click “Rescan vault” in settings to rebuild the model with current data.
Performance Issues
- Increase check delay to 3000-5000ms
- Disable auto-suggest and use manual triggering instead
- Reduce max suggestions to 3
- Check vault size - initial scan of 1000+ notes may take time
src/model.ts:63-76), but very large vaults may still experience brief pauses.
Advanced Patterns
Using Multiple Tag Strategies
Combine different tag types:- Frontmatter: Metadata and status tags
- First line: Primary topic tags
- Inline: Contextual, paragraph-specific tags
Leveraging Co-occurrence
Explicitly train tag relationships:- Identify tags that should appear together (e.g.,
#project-x+#planning) - Manually add both tags to several related notes
- Rescan vault
- The plugin will automatically boost
#planningwhen it sees#project-x
src/model.ts:140-141).
Periodic Maintenance
Set a reminder to:- Monthly: Review and standardize tags using Obsidian’s tag pane
- After bulk imports: Always rescan
- Quarterly: Audit tag consistency across your most important notes
- When suggestions degrade: Rescan and check for tag drift
Getting Help
If suggestions still aren’t working well after following these tips:- Check the console (Ctrl+Shift+I / Cmd+Opt+I) for error messages
- Verify your vault has at least 2 tagged documents with each tag
- Try the “Suggest tags for current note” command on a well-tagged note to verify the model is working
- Consider starting with default settings and adjusting one at a time