Add reusable CollapsibleSection component with animated chevron and persisted collapse state. Applied to Sources, Templates, and Output tabs where natural content groupings exist. General and History tabs stay flat. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| .npmrc | ||
| AGENTS.md | ||
| esbuild.config.mjs | ||
| eslint.config.mts | ||
| LICENSE | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| version-bump.mjs | ||
| versions.json | ||
Claude Context
The ultimate context management plugin for AI-powered Obsidian workflows.
Copy your vault's conventions, structure, and content to any LLM with a single hotkey. Supports Claude, GPT-4, Gemini, and any other AI assistant.
Features • Installation • Quick Start • Documentation
The Problem
When working with AI assistants on your Obsidian vault, you constantly need to explain:
- How you organize files and folders
- What link style you use (wikilinks vs markdown)
- Your tag conventions and hierarchy
- Your frontmatter requirements
- Your workflows and processes
This is repetitive, error-prone, and wastes tokens. The AI forgets context between sessions, you forget to mention something, and inconsistencies creep in.
The Solution
Claude Context is a comprehensive context management system that:
- Stores your vault's conventions in a dedicated folder
- Copies everything to clipboard with one hotkey
- Adapts output for different LLMs (Claude, GPT-4, Gemini, etc.)
- Tracks history of generated contexts
- Supports templates for common prompt patterns
Paste the context into any AI chat, and the assistant immediately understands your vault.
Features
One-Click Context Copy
Press a hotkey or click the ribbon icon to copy all context files to clipboard. Output is formatted with clear separators and optional filename headers.
# === VAULT.md ===
Your vault conventions here...
---
# === structure.md ===
Your folder structure here...
Multi-LLM Output Targets
| Target | Tokens | Format | Strategy |
|---|---|---|---|
| Claude | 200,000 | XML | Summarize headers |
| GPT-4o | 128,000 | Markdown | Summarize headers |
| Compact | 8,000 | Plain | Drop sections |
Configure multiple output targets with different:
- Token limits - Automatic truncation to fit context windows
- Formats - XML (best for Claude), Markdown, or Plain text
- Truncation strategies - Smart prioritization keeps important content
- Wrappers - Add
<context>...</context>tags for structured prompts
Primary target goes to clipboard. Secondary targets are saved as files.
Prompt Templates
Create reusable prompt templates that wrap around your context:
You are a code reviewer. Analyze the following context and provide feedback.
{{context}}
Focus on:
- Code quality
- Best practices
- Potential bugs
{{#if activeNote}}
The user is currently working on: {{activeNote}}
{{/if}}
Available placeholders:
{{context}}- The generated context{{activeNote}}- Currently open note name{{activeNotePath}}- Full path to active note{{date}}- Current date (YYYY-MM-DD){{time}}- Current time (HH:MM){{vaultName}}- Your vault's name
Conditionals: {{#if variable}}...{{else}}...{{/if}}
Additional Context Sources
Extend your context with content from outside the vault:
| Source Type | Description | Example |
|---|---|---|
| Freetext | Custom text snippets | Project-specific instructions |
| External File | Files outside the vault | ~/.config/rules.md |
| Shell Command | Command output | git log --oneline -10 |
Sources can be positioned as prefix (before vault content) or suffix (after).
# === PREFIX: Project Notes ===
Custom context here...
---
# === VAULT.md ===
Vault content...
---
# === SUFFIX: git log ===
abc1234 feat: add new feature
def5678 fix: resolve bug
...
Granular Section Selection
Don't need the entire file? Select specific sections:
- Expand files to see their heading structure
- Check/uncheck individual sections
- See token counts per section
- Reference syntax:
NoteName#HeadingorNoteName^blockid
Perfect for large context files where you only need specific parts.
Context History
Track every context you generate:
- Automatic saving with timestamps
- Search and filter past contexts
- Diff comparison between versions
- One-click restore to clipboard
- Configurable retention (max entries, auto-cleanup)
Never lose track of what context you sent to which conversation.
Frontmatter Presets
Define context configuration directly in your notes:
---
ai-context:
template: "code-review"
include-linked: true
link-depth: 2
include-tags:
- project/current
exclude-paths:
- archive/
max-tokens: 50000
---
Then use "Copy context from frontmatter preset" - the plugin automatically:
- Reads the preset configuration
- Traverses linked notes (up to specified depth)
- Collects notes with matching tags
- Applies exclusions
- Fits within token budget
- Applies the specified template
One hotkey, perfectly configured context.
Context Generator
Don't want to write context files manually? The generator walks you through:
| Section | Options |
|---|---|
| Language | English, German |
| File Naming | kebab-case, snake_case, camelCase, free |
| Link Style | Wikilinks [[note]] or Markdown [note](path) |
| Tag Style | Hierarchical #area/tag, Flat #tag, None |
| Frontmatter | Required fields for all notes |
| Rules | Custom conventions and forbidden actions |
| Structure | Auto-detected folders with purpose descriptions |
| Templates | Note templates with target folders |
Click "Generate" and your context files are created instantly.
Installation
From Community Plugins (Recommended)
- Open Settings > Community Plugins
- Click Browse and search for "Claude Context"
- Click Install, then Enable
From Source
# Clone into your vault's plugins folder
cd /path/to/vault/.obsidian/plugins
git clone https://github.com/yourusername/obsidian-claude-context.git claude-context
# Install and build
cd claude-context
npm install
npm run build
# Enable in Obsidian Settings > Community Plugins
Development
npm run dev # Watch mode with hot reload
Quick Start
1. Generate Context Files
Ctrl+P > "Claude Context: Generate context files"
Configure your preferences and click Generate.
2. Add Built-in Targets
Go to Settings > Claude Context > Output Targets and click "Add Built-in Targets".
3. Copy Context
Ctrl+P > "Claude Context: Copy context to clipboard"
Or click the clipboard ribbon icon.
4. Paste into AI Chat
The context is now in your clipboard. Paste it into Claude, ChatGPT, or any AI assistant.
Documentation
Commands
| Command | Description |
|---|---|
| Copy context to clipboard | Copy all context files |
| Copy context with current note | Copy context + active note |
| Copy context (select sections) | Choose specific headings |
| Copy context from frontmatter preset | Use note's ai-context config |
| Generate context files | Open the generator |
| View context history | Browse past contexts |
Settings
| Setting | Description | Default |
|---|---|---|
| Context folder | Folder with context files | _claude |
| Separator | Text between files | --- |
| Include filenames | Add # === file.md === headers |
On |
| Show preview | Preview before copying | Off |
| Include active note | Always append current note | Off |
| Excluded files | Files to skip | - |
Context Sources
| Setting | Description |
|---|---|
| Freetext | Static text snippets |
| External File | Absolute path to file outside vault |
| Shell Command | Command + args with timeout |
| Position | Prefix (before) or Suffix (after) vault content |
| Show labels | Add source name headers to output |
Prompt Templates
| Setting | Description |
|---|---|
| Name | Display name |
| Content | Template with placeholders |
| Default | Use automatically when copying |
History
| Setting | Description | Default |
|---|---|---|
| Enabled | Save generated contexts | On |
| Storage folder | Where to store history | .context-history |
| Max entries | Limit stored entries | 50 |
| Auto-cleanup | Delete after X days | 30 |
Output Targets
| Setting | Description |
|---|---|
| Name | Display name (e.g., "Claude", "GPT-4") |
| Max tokens | Token limit for truncation |
| Format | markdown, xml, or plain |
| Strategy | summarize-headers, drop-sections, truncate |
| Wrapper | Prefix/suffix text around content |
| Primary | Which target goes to clipboard |
| Output folder | Where to save secondary targets |
Advanced Usage
Truncation Strategies
When content exceeds token limits:
| Strategy | Behavior |
|---|---|
| summarize-headers | Keep headers, summarize content. Best for structure preservation. |
| drop-sections | Remove low-priority sections entirely. Keeps high-priority complete. |
| truncate | Simple cut-off. Fast but loses structure. |
Priority Order
Sections are prioritized for truncation:
- VAULT.md - Never truncated (highest priority)
- context files - High priority
- conventions - High priority
- structure - Medium priority
- Active note - Medium priority
- examples, templates - Low priority (truncated first)
Frontmatter Preset Options
ai-context:
# Apply a saved template by name
template: "code-review"
# Include linked notes
include-linked: true
link-depth: 2 # How deep to traverse (0-10)
# Include notes with these tags
include-tags:
- project/myproject
- status/active
# Exclude paths
exclude-paths:
- archive/
- templates/
# Exclude notes with these tags
exclude-tags:
- draft
- private
# Token budget
max-tokens: 50000
# Include the note itself
include-active-note: true
XML Format (Claude Optimized)
When using XML format, files are wrapped in tags:
<context>
<file name="VAULT.md">
Your vault conventions here...
</file>
<file name="structure.md">
Your folder structure here...
</file>
</context>
This format is especially effective with Claude models.
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run
npm run buildto verify - Submit a pull request
License
MIT License - see LICENSE for details.
Support
- Bug reports: GitHub Issues
- Feature requests: GitHub Discussions
- Documentation: Wiki
Made with care for the Obsidian community
If this plugin helps your AI workflow, consider starring the repository!