Help us improve
Share bugs, ideas, or general feedback.
From obsidian-vault-agent
Researches any topic by decomposing the question, searching the web and vault, and synthesizing findings into a structured vault note with source links and confidence levels.
npx claudepluginhub tuan3w/obsidian-vault-agent --plugin obsidian-vault-agentHow this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian-vault-agent:research <topic or question><topic or question>This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<Purpose>
Iterative multi-source research that explores complex topics from multiple perspectives, detects contradictions, and produces a vault note with fact-level citations and a confidence map.
Research topics and document findings in Notion with organized structure and sources
Investigates topics from scratch: web searches sources, captures them, identifies concepts, generates cross-linked wiki pages with confidence scores, detects contradictions.
Share bugs, ideas, or general feedback.
<Use_When>
<Do_Not_Use_When>
Parse the topic from $ARGUMENTS. If vague, ask one clarifying question.
Break the research topic into 3-5 specific sub-questions that together cover the topic well. Think about:
Present the sub-questions to the user briefly:
Researching "topic". Sub-questions:
1. ...
2. ...
3. ...
Searching now.
Don't wait for confirmation unless the topic is ambiguous — just show and go.
Before hitting the web, check what the vault already contains:
Grep(pattern="KEYWORD", path="notes/", glob="*.md", head_limit=15)
Also try MCP search if available:
mcp__obsidian-vault__search_notes(query="KEYWORD", limit=10)
Note any existing vault notes that are relevant — these become [[wikilinks]] in the output and inform what the web search should FOCUS on (gaps, not repeats).
For each sub-question, run a targeted WebSearch:
WebSearch(query="specific sub-question query", num_results=5)
Then WebFetch the 3-5 most promising URLs to get full content:
WebFetch(url="URL", prompt="Extract key facts, data, and insights about [sub-question]. Include specific numbers, dates, names, and technical details.")
Search strategy:
Run searches in parallel where possible (multiple WebSearch calls in one turn).
After the first search round, review what you have:
Run 1-2 targeted follow-up searches to fill gaps. This second pass is what separates good research from a quick Google.
Read the agent definition:
Read("${CLAUDE_SKILL_DIR}/agents/research-noter.md")
Launch the research-noter agent:
Agent(
subagent_type="general-purpose",
model="sonnet",
prompt="You are Research Noter. Follow these instructions exactly:
[INSERT FULL CONTENT OF agents/research-noter.md HERE]
RESEARCH TOPIC: [topic]
SUB-QUESTIONS: [list]
VAULT CONTEXT (existing notes on this topic):
[vault search results]
WEB FINDINGS:
[organized by sub-question, with source URLs]
Produce the note body following the Output Format. Do NOT include frontmatter."
)
Generate timestamp ID: date +%Y%m%d%H%M%S
Determine subfolder — if the topic clearly fits an existing folder, use it.
Otherwise default to notes/research/. Create the folder if needed.
Create the note:
---
id: YYYYMMDDHHMMSS
type: note
processing_status: processed
created_date: YYYY-MM-DD
updated_date: YYYY-MM-DD
---
[AGENT OUTPUT — starts with # title]
<Tool_Usage>
<Escalation_And_Stop_Conditions>
$ARGUMENTS