Chat Commands & Cursor-Based Editing
Nova's chat system is designed around cursor-based editing with intelligent intention detection. Place your cursor where you want Nova to work and describe what you need—Nova automatically determines whether you want a conversational response or direct document editing.
How Intention Detection Works
Nova analyzes your message to understand your intent:
Editing Commands Nova edits your document directly:
- "add a conclusion here"
- "insert a methodology section"
- "create a methodology section"
- "add tags: productivity, writing"
Chat Responses Nova responds conversationally:
- "what should I write about?"
- "explain the difference between X and Y"
- "help me brainstorm ideas"
- "what's the best approach for this?"
Cursor-Based Document Editing
When Nova detects an editing intent, it writes directly at your cursor position with real-time streaming updates.
Adding New Content
Place your cursor and describe what you want:
- add a paragraph about the benefits of exercise
- create an introduction for this chapter
- write a conclusion summarizing the key points
- insert a methodology section here
- add literature review using [[Research Notes]]
- create dialogue showing tension between these characters
- add error handling examples from [[API Guidelines]]
- write a detailed analysis of the current market trends
- develop a comprehensive project timeline
- create a character backstory with psychological depth
Nova can generate sophisticated content at your cursor position, from simple paragraphs to complex sections that incorporate context from referenced documents. The AI draws on its training to create detailed, contextually appropriate content based on your specific request.
Document Operations
Nova can modify document metadata and properties:
- add tags: productivity, writing
- set status to complete
- update the title property
- clean up tags
Tag and Metadata Commands
Nova includes specialized commands for document properties:
Tag Management
add tags: productivity, writing, AI Adds specific tags to the document
add suggested tags Analyzes content and suggests relevant tags
clean up tags Removes duplicates and optimizes tag structure
remove tag: draft Removes specific tags from the document
Frontmatter Operations
set status to complete Updates frontmatter properties
add creation date Adds date fields to document metadata
update the title property Modifies document properties in frontmatter
What Tag Commands Edit:
- ✅ Current document's frontmatter - Tags and properties in the active file
- ✅ Document metadata - YAML frontmatter fields
- ❌ Other documents - Commands only affect the current file
- ❌ File names or folders - Only document content and properties
Protected Fields — Nova Won't Edit These
Creation dates: created, date-created, created-date, creation-date
Modification dates: modified, last-modified, updated, date-modified
Identifiers: id, uuid, uid, permalink, url, link
Protection is case-insensitive (Created, CREATED, Date-Created are all protected).
🚫 Won't create new frontmatter For general metadata operations (only exception is for tags)
🚫 Won't add properties without existing frontmatter Documents need existing frontmatter for property edits
🚫 Won't edit other documents Only the current active file can be modified
🚫 Won't modify file names or folders Only document content and properties
Natural Language Flexibility
Nova understands natural language variations. These all work for adding content:
- "add a conclusion"
- "write a summary at the end"
- "create a new section about results"
- "I need a paragraph explaining the process"
For selection-based custom instructions, use the "Custom prompt" menu option for maximum flexibility with existing text.
Undo Integration
Nova integrates seamlessly with Obsidian's native undo system:
- First Ctrl/Cmd+Z: Removes Nova's addition
- Second Ctrl/Cmd+Z: Restores original content (if text was replaced)
- Works exactly like any other Obsidian edit
- No special Nova-specific undo needed
When Chat Responds vs. Edits
Nova Edits Your Document - Specific instructions about content creation
- Cursor placed where new content should go
- Action words: add, create, write, edit, fix, improve, rewrite
Nova Responds in Chat - Questions or advice-seeking
- Explanations or clarifications
- Brainstorming or discussing ideas
- Inquiry words: what, why, how, should, could, explain
Smart Fill
Smart Fill enables AI-powered placeholder completion for structured documents. Insert special placeholders with instructions anywhere in your documents, then generate content using the command palette, right-click context menu, the /fill command in the Nova sidebar, or the sidebar fill button.
Placeholder Syntax
Smart Fill uses HTML comment syntax for placeholders:
Basic Format:
<!-- nova: your instruction here -->
Single-Line Examples
<!-- nova: write a brief introduction -->
<!-- nova: summarize the key findings -->
<!-- nova: add a code example in Python -->
<!-- nova: explain the methodology -->
Multiline Instructions
For complex requirements, use multiline placeholders:
<!-- nova:
Write a detailed analysis that:
- Covers market trends
- Includes data from Q4 2025
- References the methodology section
-->
Insert Placeholder Command
You can also insert a placeholder using the "Nova: Insert smart fill placeholder" command, available via the command palette (Cmd/Ctrl+P) or the right-click context menu. This inserts a blank <!-- nova: --> template at your cursor so you can type your instruction directly.
Generating Content
Nova provides four ways to fill placeholders:
1. /fill Slash Command Type /fill in the Nova sidebar. Processes placeholders sequentially top to bottom with real-time streaming.
2. Command Palette Cmd/Ctrl+P → search "Nova: Smart fill (/fill)" → Enter. Great for keyboard-focused workflows.
3. Right-Click Menu Right-click anywhere → "Nova: Smart fill (/fill)". Fills all placeholders. Convenient for mouse-driven workflows.
4. Margin Indicator Click the 📝 icon next to any placeholder. Fills that specific one immediately — the most precise method.
Key Features
Contextual Awareness Reads surrounding content, adapts tone and style, references earlier sections, and maintains document structure.
Sequential Processing Top-to-bottom execution ensures logical flow. Earlier fills inform later ones, creating coherent connected sections.
Real-Time Streaming Content appears progressively as it's generated. Cancel anytime with Cmd/Ctrl+. or undo with Cmd/Ctrl+Z.
Visual Feedback 📝 icons in the margin, active placeholder highlights, progress indication, and clear completion states.
Writing Effective Instructions
Do: Be Specific and Clear
<!-- nova: write a 3-paragraph introduction explaining the benefits of AI writing assistants -->
<!-- nova: create a comparison table of the top 5 features -->
<!-- nova: add Python code example showing how to implement authentication -->
Don't: Be Vague or Ambiguous
<!-- nova: add something here -->
<!-- nova: write stuff -->
<!-- nova: continue -->
Best Practices:
- Specify length: "Write a 2-paragraph summary" vs "Write a summary"
- Define scope: "Explain the authentication flow" vs "Explain this"
- Set tone: "Write a formal analysis" vs "Write an analysis"
- Include examples: "Add a Python code example using FastAPI"
- Reference context: "Summarize the findings from the methodology section above"
Canceling and Undo
Stopping Generation
Cancel placeholder fills at any time:
- Keyboard shortcut: Cmd+. (Mac) or Ctrl+. (Windows/Linux)
- Stop button: Click the stop button in Nova's interface
- Partially generated content is preserved
- Placeholder comment remains if generation was incomplete
Undoing Fills
Smart Fill integrates with Obsidian's undo system:
- First Cmd/Ctrl+Z: Removes the generated content
- Second Cmd/Ctrl+Z: Restores the original placeholder
- Works like any other edit in Obsidian
Error Handling
If placeholder generation fails:
- Placeholder preservation: The original placeholder comment stays in place
- Error notification: Nova displays a clear error message
- Continuation: When using
/fill, remaining placeholders continue processing - Retry option: Simply run
/fill again or click the 📝 icon
Common Issues:
- API errors: Check your provider settings and API key
- Rate limiting: Wait briefly and retry
- Context too large: Reduce document size or remove document references
- Network issues: Check internet connection
Best Practices
Document Structure
- Use Smart Fill for repetitive sections across similar documents
- Place placeholders in logical order (top to bottom)
- Group related placeholders together
- Use descriptive instructions that reference surrounding context
Template Workflows
Create reusable templates with Smart Fill placeholders:
- Meeting notes: Placeholders for agenda, discussion points, action items
- Project docs: Sections for overview, requirements, technical details
- Research papers: Introduction, methodology, findings, conclusion
- Blog posts: Hook, main points, examples, call-to-action
Iterative Refinement
- Start with broad placeholder instructions
- Generate initial content with
/fill - Review and refine the generated sections
- Use selection-based editing or chat commands for polish
- Save successful patterns as templates
Integration with Templater
Smart Fill works seamlessly with the Templater plugin:
- Template creation: Add Smart Fill placeholders to Templater templates
- Dynamic content: Combine Templater variables with Smart Fill instructions
- Workflow: Insert template → Fill Templater variables → Run
/fill
Example Template
---
title: <% tp.file.title %>
date: <% tp.date.now("YYYY-MM-DD") %>
---
# <% tp.file.title %>
<!-- nova: write an introduction based on the title -->
## Key Points
<!-- nova: generate 3-5 key discussion points -->
Performance Considerations
Document Size
- Smart Fill works best with documents under 10,000 words
- Larger documents may process slower or hit context limits
- Consider splitting very large documents into sections
Placeholder Limits
- No hard limit on placeholder count
- Processing 5-10 placeholders at once is typically optimal
- Very large batches may take longer or hit rate limits
- Use margin indicators to fill placeholders individually for fine control
Rate Limits
- AI providers have different rate limits
- If rate limited, wait briefly and retry
- Consider spreading large fill operations over time
Settings
Smart Fill can be configured in Nova settings:
- Enable/Disable: Toggle Smart Fill feature on or off
- Margin indicators: Show or hide 📝 icons in the editor
- Auto-remove placeholders: Automatically remove placeholder comments after successful fill
- Confirmation prompts: Require confirmation before filling multiple placeholders
Access settings: Obsidian Settings → Community Plugins → Nova → Smart Fill
Troubleshooting
Placeholders Not Detected
Solutions:
<!-- nova: instruction -->
- Ensure "nova:" prefix is present with colon
- Check for typos in the comment syntax
- Make sure Smart Fill is enabled in settings
Margin Icons Not Appearing
Solutions:
- Check Nova settings for margin indicator toggle
- Restart Obsidian to refresh the editor
- Verify placeholders use correct syntax
Generated Content Doesn't Match Instructions
Solutions:
- Make instructions more specific and detailed
- Add context references to surrounding sections
- Try a different AI provider or model
- Use Cmd/Ctrl+Z to undo and refine the placeholder instruction
/fill Command Not Working
Solutions:
- Ensure at least one valid placeholder exists in the document
- Check AI provider configuration and API key
- Verify internet connection
- Try clicking individual 📝 margin icons instead
Quick Reference
Create a placeholder:
<!-- nova: instruction -->
Or use the "Nova: Insert smart fill placeholder" command (command palette or right-click) to insert a blank template at your cursor.
Fill all placeholders (4 methods):
- Type
/fill in the Nova sidebar chat - Command palette: "Nova: Smart fill (/fill)"
- Right-click context menu: "Nova: Smart fill (/fill)"
- Click 📝 icon in margin (fills specific placeholder)
Cancel generation:
Cmd/Ctrl + .
Undo fill operation:
Cmd/Ctrl + Z
Writing Analysis
Nova includes a deterministic writing analysis engine that runs entirely locally — no AI calls, no API costs. It provides real-time feedback on your writing quality directly in the editor. For a vault-wide view, see the Writing Dashboard.
What It Analyzes
📊 Readability grade Flesch-Kincaid grade level with a plain-language label (e.g., "Grade 7 — easy to read")
📏 Sentence length Highlights long sentences (25+ words) and very long sentences (40+ words) with color-coded underlines
🔍 Passive voice Detects and highlights passive constructions
📝 Adverb density Identifies adverb overuse throughout your writing
⚠ Weak intensifiers Flags words like "very," "really," "quite," "basically," "literally" that weaken writing
The Writing Stats Panel
A collapsible "Writing" panel appears in the Nova sidebar showing:
Metrics - Word count, sentence count, reading time
- Readability grade and label
- Passive voice percentage
- Adverb density
- Weak intensifier count
Controls - Toggle button to show/hide inline highlights
- Analyze button to re-run on demand
Inline Highlights
When enabled, Nova underlines issues directly in the editor with color-coded severity:
Long sentences Very long sentences Passive voice Adverbs & intensifiers
Toggle highlights on/off from the Writing panel without losing the analysis data.
Settings
Configure in Obsidian Settings → Community Plugins → Nova → Writing Analysis:
- Enable/disable writing analysis
- Adjust long sentence threshold (default: 25 words)
- Adjust very long sentence threshold (default: 40 words)
- Toggle individual highlight types (long sentences, passive voice, adverbs, weak intensifiers)
- Show/hide the stats panel
Opting Out Per Document
Add nova-analysis: false to any note's frontmatter to disable writing analysis for that specific document:
---
nova-analysis: false
---
Key Differentiator
Writing analysis is completely free — it runs locally using deterministic algorithms, not AI. No API key required, no token costs, works offline. Think of it as having ProWritingAid-style analysis built right into Obsidian.
Writing Dashboard
The Writing Dashboard gives you a vault-wide view of your writing quality. Open it from the command palette: Nova: Open writing dashboard.
Composite Score
Every note with at least 50 words gets a composite score from 0 to 100, built from four pillars:
How close your readability grade is to your target level. Default target is grade 8.
Penalizes passive voice and very long sentences. Tighter writing scores higher.
Rewards natural sentence length variation. A mix of short and long reads better than uniform length.
Flags adverb overuse and weak intensifiers. Show, don't tell.
Excellent 80–100 Good 60–79 Fair 40–59 Needs Work 0–39
Dashboard Layout
The dashboard has three sections:
■ Summary cards Vault average score (with trend arrow), total documents, analyzed count, and word count.
▲ Trends & pillars Sparkline charts showing your composite score and passive voice percentage over time. Pillar breakdown bars show vault-wide averages for each scoring dimension.
☰ Document table Sortable, filterable list of every note. Click a column header to sort. Click a document name to open it. Hover any metric for an explanation of how it's scored.
Trend Tracking
Each time you open the dashboard, Nova takes a snapshot of your vault's writing quality. Over time, this builds a trend line — "Your passive voice dropped 4% this month" is the kind of feedback that makes writing habits stick. Open the dashboard regularly to build your trend data.
Settings
Configure in Obsidian Settings → Community Plugins → Nova → Writing Dashboard:
- Excluded folders — Skip folders like
templates/, daily/, or archive/ from analysis. - Target readability grade — The grade level your writing aims for (default: 8). Academic writing may target 12–14.
Caching & Performance
The dashboard caches analysis results. On repeat visits, only files that changed get re-analyzed — a 500-file vault loads in seconds. Use the rescan button to force a full re-analysis if needed.
Opting Out
The same nova-analysis: false frontmatter flag that disables per-document writing analysis also excludes a note from the dashboard.
Document Context System
Nova can work with multiple documents simultaneously by referencing them in your conversations or by using the Auto-Context system.
Auto-Context
Nova's Auto-Context system automatically pulls in relevant notes from your vault as you write.
🔗 Outgoing Links Nova reads all notes linked in your current document
🔙 Backlinks When enabled, Nova also reads notes that link back to your current document
🔄 Toggle Enable or disable Auto-Context at any time from the Nova sidebar
Live wikilink tracking (v1.4): Adding or removing [[wikilinks]] in your document now updates the context panel automatically — no need to switch files.
Quick Panel
The Quick Panel in the Nova sidebar provides a real-time view of your current context.
📂 Collapsed/Expanded Click the context header to toggle the visibility of active documents
📋 Context List See exactly which notes are being used as context for the current turn
🔌 Manual Toggles Temporarily disable specific notes from the context without removing links
Document Reference Syntax
Basic Reference: [[document name]]
Manual references still work perfectly alongside Auto-Context. If you mention a note using wikilinks, Nova prioritizes that content.
Compare this section with [[Project Requirements]] Reference another note for comparison
Use the methodology from [[Research Notes]] to improve this Pull context from a linked document
Managing Context
➕ Adding Documents Type [[document name]] anywhere in your message
📋 Context Panel Shows which documents are currently in context
⚠ Context Limitations Each AI provider has different context limits