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):
- "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 Date Fields:
- created, date-created, created-date, creation-date
Modification Date Fields:
- modified, last-modified, updated, date-modified
Identifier Fields:
- id, uuid, uid, permalink, url, link
These fields are protected because they're typically:
- System-generated (like creation/modification dates)
- Unique identifiers that shouldn't be changed
- Permanent references (permalinks, URLs)
Additional Restrictions
Beyond these protected fields, Nova also has these limitations:
- Won't create new frontmatter for general metadata operations (only exception is for tags)
- Won't add new properties to documents without existing frontmatter
- Won't edit other documents - only the current active file
- Won't modify file names or folder structures
The protection is case-insensitive, so variations like Created, CREATED, or Date-Created are all protected.
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 When You:
- Give specific instructions about content creation
- Place cursor and request new content to be added
- Use action words: add, create, write, edit, fix, improve, rewrite
Nova Responds in Chat When You:
- Ask questions or seek advice
- Request explanations or clarifications
- Brainstorm or discuss ideas
- Use 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. Using the /fill Slash Command
- Add one or more placeholders to your document
- Open the Nova sidebar chat and type
/fill - Nova processes placeholders sequentially from top to bottom
- Watch as content streams in real-time, replacing each placeholder
2. Using the Command Palette
- Press Cmd/Ctrl+P to open Obsidian's command palette
- Search for "Nova: Smart fill (/fill)"
- Press Enter to fill all placeholders in the document
- Great for keyboard-focused workflows
3. Using the Right-Click Context Menu
- Right-click anywhere in your document
- Select "Nova: Smart fill (/fill)" from the context menu
- All placeholders in the document are filled
- Convenient when your hands are already on the mouse
4. Using the Margin Indicator
When placeholders are present, a 📝 icon appears in the editor margin:
- Click the 📝 icon next to any placeholder
- Nova fills that specific placeholder immediately
- Perfect for filling placeholders one at a time
- Most precise method for selective fills
Key Features
Contextual Awareness
Smart Fill understands your document's context:
- Reads surrounding content to maintain consistency
- Adapts tone and style to match existing writing
- References earlier sections when needed
- Maintains document structure and formatting
Sequential Processing
When using /fill, placeholders are processed in order:
- Top-to-bottom execution ensures logical flow
- Earlier fills inform later ones
- Each placeholder sees the completed content above it
- Creates coherent, connected sections
Real-Time Streaming
- Content appears progressively as it's generated
- See exactly what's being written in real-time
- Cancel at any time with Cmd+. or Ctrl+.
- Undo with standard Cmd/Ctrl+Z
Visual Feedback
- 📝 icon shows placeholder locations in the margin
- Active placeholder highlights during generation
- Progress indication for multiple placeholders
- Clear visual state for completed fills
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
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. This ensures the AI has the most up-to-date information without manual copying.
- 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: You can enable or disable Auto-Context at any time from the Nova sidebar.
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]]
- Use the methodology from [[Research Notes]] to improve this
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