Most people start their day the same way.
They open Twitter and spend 20 minutes scrolling through noise looking for the three things that actually matter. They open their email and get pulled into reactive mode before they have done a single thing they intended to do. They check their RSS reader and feel overwhelmed by 200 unread items they will never get through. They open a news aggregator and read three articles about things that have no bearing on their work or their life.
Forty-five minutes later they are behind, stressed, and no better informed than if they had slept fifteen minutes longer.
The Claude research agent solves this problem permanently.
Every morning before you open anything, a Claude agent has already read every source that matters to your work, filtered everything irrelevant, synthesized the developments worth knowing, and deposited a structured 5-minute brief in your Obsidian vault.
You wake up. You read the brief. In five minutes you know everything you need to know. You start working.
This article is the complete build guide from zero to a running agent that briefs you every morning automatically.
What the Research Agent Actually Does
Before the technical build, understand exactly what you are building and why each component matters.
The research agent performs four functions every morning automatically.
Source monitoring. It reads every information source you configure. Industry news. Competitor websites. Academic papers in your field. Specific newsletters. YouTube channels that publish research. Podcast transcripts. GitHub repositories you follow. Reddit communities in your niche. Any source where important information for your work might appear.
Signal filtering. It does not summarize everything it reads. It identifies what is actually significant based on criteria you define. A new product launch from a competitor is significant. A blog post rehashing the same information published last week is not. The filtering layer is what makes the brief genuinely useful rather than just a compressed version of everything.
Synthesis. It does not list the significant items as bullet points. It synthesizes them into a structured narrative that tells you what happened, why it matters, how it connects to things you already know, and what you should probably do about it.
Delivery. It deposits the brief in a specific location in your Obsidian vault every morning at a configured time so it is waiting when you open your laptop rather than requiring you to trigger it manually.
These four functions replace forty-five minutes of daily information gathering with five minutes of reading.
The Technical Architecture
The research agent has five components. Each one has a specific role. Remove any one of them and the system produces worse results.
Claude is the intelligence layer. It reads raw information from sources, applies your criteria to filter what matters, and synthesizes the filtered information into a structured brief.
The Filesystem MCP connects Claude to your Obsidian vault. It gives Claude direct read and write access to your vault so it can read your CLAUDE.md for context and deposit the brief in the correct folder automatically.
Brave Search MCP gives Claude access to real-time web search. Without this Claude can only reason about information up to its training cutoff. With it Claude searches the live web and finds the most current information on any topic you specify.
N8N schedules the entire workflow. It fires the research agent at your configured time every morning, passes the correct context to Claude, receives the output, and saves it to your vault.
CLAUDE.md is the context layer that makes the brief relevant to your specific situation rather than generically informative. It tells Claude what you do, what you care about, what you already know, and what kind of information is actually actionable for you.
Setting Up the Foundation
Before you build the workflow you need three things in place.
Claude Desktop with MCP connections.
Install Claude Desktop from claude.ai/download.
Configure your claude_desktop_config.json with the Filesystem and Brave Search MCP servers:
{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/obsidian/vault" ] }, "brave-search": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-brave-search"], "env": { "BRAVE_API_KEY": "your-brave-api-key" } } } }
Get your Brave Search API key at brave.com/search/api. The free tier allows 2,000 queries per month which is more than sufficient for a daily research agent.
Restart Claude Desktop after saving the config. Verify the connections are live by asking Claude to search for something and checking that it returns real-time results.
Your Obsidian vault structure.
Create a folder called BRIEFINGS inside your vault if you do not already have one. This is where every morning brief will be deposited.
vault/ BRIEFINGS/ [YYYY-MM-DD]-morning-brief.md ← auto-generated daily CLAUDE.md [rest of your vault]
N8N self-hosted.
Self-hosted N8N on a $5 DigitalOcean droplet gives you unlimited workflow runs with no per-execution pricing.
If you do not have N8N set up follow this sequence: create a DigitalOcean account, spin up the smallest Ubuntu droplet, SSH in, install N8N via npm, and configure it to run as a service.
The full N8N setup takes about 30 minutes the first time. Every workflow you build after that uses the same infrastructure.
Writing the CLAUDE.md Research Context
The CLAUDE.md is what makes the brief relevant to you specifically.
A generic research agent produces generic briefs. A research agent configured with your specific context produces briefs where every item is directly relevant to your work and your decisions.
Add a Research Context section to your existing CLAUDE.md or create a dedicated research CLAUDE.md in your vault:
# Research Agent Context
Who I Am
[Your name, your role, what you do]
My Primary Focus Areas
[List the specific topics, industries, or domains where you need to stay informed]
What Constitutes Significant News for Me
[Be specific. Not "AI news" but "Claude Code updates, new MCP servers, multi-agent frameworks, AI agent security developments"]
My Competitive Landscape
[Specific companies, people, products you monitor]
What I Already Know Well
[Topics where you have deep expertise and therefore only need significant new developments, not introductory coverage]
What I Am Currently Working On
[Active projects where relevant news would be directly actionable — UPDATE WEEKLY]
Sources I Trust
[Specific publications, newsletters, researchers, YouTube channels, subreddits worth prioritizing]
What I Specifically Do NOT Want
[Topics that show up in your niche but waste your time — generic AI hype pieces, rehashed content, announcements from companies you do not care about]
Brief Format Preference
[How you want the output structured — see template below]
The What I Specifically Do NOT Want section is the most important one most people skip.
Without it Claude includes everything tangentially related to your topics. With it Claude filters aggressively and the brief contains only what you would actually act on.
The Research Agent Prompt
This is the core prompt that runs every morning. It goes into your N8N workflow as the message sent to the Claude API.
You are my personal research agent. Your job is to produce my morning intelligence brief.
Read my research context from CLAUDE.md in my vault.
Then execute the following research sequence:
STEP 1: PRIMARY TOPIC SEARCH For each focus area in my research context, search for significant developments from the last 24 hours.
Use these search queries as a starting point but adapt based on what you find: [CLAUDE will generate appropriate queries based on your CLAUDE.md focus areas]
STEP 2: SIGNAL FILTERING From everything you find, apply these filters:
INCLUDE:
- New product launches or significant updates from
companies or tools I follow
- Research findings that change how we understand
something I care about
- Strategic moves by competitors I monitor
- Regulatory or policy changes affecting my domain
- New tools, frameworks, or techniques worth knowing
- Significant market movements in my focus areas
EXCLUDE:
- Anything I noted in my "What I Do NOT Want" section
- Rehashed content summarizing things published
more than 48 hours ago
- Opinion pieces without new information
- Announcements from companies I do not follow
- General AI hype without specific actionable detail
If nothing significant happened in a category: say nothing happened rather than filling space.
STEP 3: COMPETITIVE INTELLIGENCE Search specifically for any news about the companies and people listed in my competitive landscape.
Highlight anything that represents a strategic shift, new product, or significant announcement.
STEP 4: SYNTHESIS Produce the brief in this exact format:
# Morning Brief — [DATE] Generated: [TIME]
THE ONE THING
[The single most important development today. One paragraph. Why it matters for my specific situation.]
WHAT HAPPENED
[3-7 significant items, each with:]
- [Source/Company/Topic]: What happened and
why it matters for my work. One to three sentences max.
COMPETITIVE WATCH
[Any significant moves from my competitive landscape. If nothing notable, say "Nothing significant today."]
WHAT TO DO ABOUT IT
[1-3 specific actions worth considering based on today's developments. Only include if genuinely actionable. Skip this section if nothing warrants action.]
READING LIST
[2-3 links to the most important full articles for deeper reading on today's top items]
IMPORTANT FORMATTING RULES:
- The entire brief should take 5 minutes to read,
not 15.
- Every item must connect directly to something
in my research context.
- No filler. No hedging. If something matters say
why it matters specifically.
- If it was a slow news day say so directly rather
than inflating thin content.
Save the brief to: BRIEFINGS/[YYYY-MM-DD]-morning-brief.md
Building the N8N Workflow
The N8N workflow has five nodes. Each one performs a specific function in the sequence.
Node 1: Schedule Trigger
Set the trigger to fire at your preferred morning time. 6AM works well for most people because it means the brief is ready before you open your laptop.
Configure the cron expression for your timezone:
0 6 * * 1-5 ← 6AM Monday through Friday 0 6 * * * ← 6AM every day including weekends
Node 2: Read CLAUDE.md
This node reads your research CLAUDE.md from your vault using a Read File operation pointed at the correct path.
Output: The full text of your CLAUDE.md research context.
Node 3: Prepare API Request
This node constructs the API call to Claude. It combines the research prompt template with the CLAUDE.md content read in Node 2.
const claudeMd = $node["Read CLAUDE.md"].json.content; const today = new Date().toISOString().split('T')[0]; const time = new Date().toLocaleTimeString();
const systemPrompt = `You are a personal research agent. Today's date is ${today}. Current time is ${time}. You have access to real-time web search through the Brave Search MCP. Use it extensively.
Research context from the user's CLAUDE.md: ${claudeMd}`;
return { model: "claude-opus-4-5", max_tokens: 4096, system: systemPrompt, messages: [{ role: "user", content: "Generate my morning research brief following the format and instructions in my research context." }] };
Node 4: Claude API Call
HTTP Request node calling the Anthropic API:
URL: https://api.anthropic.com/v1/messages Method: POST Headers: x-api-key: [YOUR ANTHROPIC API KEY] anthropic-version: 2023-06-01 content-type: application/json Body: [Output from Node 3]
Node 5: Save to Vault
Write File node that saves the Claude output to your BRIEFINGS folder:
File path: /path/to/vault/BRIEFINGS/[date]-morning-brief.md Content: [Extracted text from Claude API response]
Extract the text content from the Claude API response:
const response = $node["Claude API Call"].json; const content = response.content[0].text; const date = new Date().toISOString().split('T')[0];
return { filename: `${date}-morning-brief.md`, content: content };
Optional Node 6: Telegram Notification
Add a Telegram bot notification that fires when the brief is ready:
Message: "Morning brief ready: BRIEFINGS/[DATE]-morning-brief.md"
This means your phone receives a notification when the brief is deposited. You can read it on your phone before you get out of bed.
Configuring Your Source List
The Brave Search MCP handles open web search automatically. But some of your most valuable sources are not well-indexed by standard search.
For sources that require specific monitoring add them to your CLAUDE.md research context with explicit instructions:
Specific Sources to Monitor
### Daily Checks
- news.ycombinator.com — check front page for AI and developer tools
- reddit.com/r/MachineLearning — significant paper releases only
- reddit.com/r/ClaudeAI — new Claude features and community builds
### Weekly Checks
- arxiv.org/list/cs.AI — significant papers published this week
- github.com/trending — trending repositories in my tech stack
### Alert-Level Monitoring [Companies or people where any news is significant]
- Anthropic blog: anthropic.com/news
- [Competitor 1] blog: [URL]
- [Competitor 2] press releases: [URL]
### Sources to Explicitly Ignore [Publications or websites that consistently produce low-signal content in your domain]
The Feedback Loop That Improves the Brief Over Time
The brief gets better every week if you spend two minutes giving Claude feedback after reading it.
At the bottom of each brief add a section for your notes:
My Notes on This Brief
[Your annotation — what was useful, what was noise, what was missing]
Every Sunday run this prompt in Claude:
Read all morning briefs from the past week in my BRIEFINGS folder and read all my annotations in the "My Notes on This Brief" sections.
Based on my annotations, update my research CLAUDE.md with:
1. Sources that consistently produced useful
signal → add to priority list
2. Topics that consistently produced noise →
add to the Do Not Want section
3. New search queries that would have surfaced
the information I noted as missing
4. Any patterns in what I found useful that
should be captured as explicit preferences
Show me the proposed changes to CLAUDE.md before making them.
This feedback loop means the brief in month three is dramatically better calibrated to your specific information needs than the brief in week one.
The agent learns what you care about from your own annotations without you having to manually tune the configuration.
Advanced Configurations
Once the basic morning brief is running reliably you can extend the system in several directions.
Topic Deep Dives
When a significant development appears in the morning brief add it to a queue for deeper research:
DEEP-DIVE: [topic from today's brief]
The queue processor picks this up and runs a more comprehensive research session producing a detailed analysis note rather than a brief summary.
Competitive Intelligence Alerts
Configure a separate lightweight workflow that checks for competitor news every four hours rather than once per day. When it finds something significant it sends an immediate Telegram notification rather than waiting for the morning brief.
Weekly Synthesis
Every Sunday morning instead of the standard daily brief Claude reads all seven daily briefs from the week and produces a weekly synthesis:
The biggest theme of the week and what it signals for your domain long-term.
The most important single development and what you should do about it.
What you expected to happen that did not and what that means.
The weekly synthesis often reveals patterns invisible in any individual daily brief.
Research on Demand
Drop any topic in your QUEUE folder prefixed with RESEARCH:
RESEARCH-quantum-computing-applications-in-finance.md
The queue processor runs a deep research session on the topic and deposits a comprehensive research brief in GENERATED rather than waiting for the morning cycle.
What Changes After 30 Days
The morning brief delivers immediate value from day one.
The compounding effect becomes visible at month two.
After 30 days the brief is calibrated to your specific annotations. Topics that consistently produced noise have been removed. Sources that consistently produced signal have been prioritized. The five-minute reading time contains more genuinely actionable information than it did in week one.
After 60 days the weekly synthesis starts revealing patterns you could not see from inside any individual brief. Trends that were invisible in daily snapshots become visible across eight weeks of data.
After 90 days you have a research operation that knows your domain as well as a dedicated analyst who has been briefing you for three months.
The information advantage this creates compounds every week.
Your competitors are still spending forty-five minutes every morning scrolling through noise.
You spend five minutes reading signal.
That difference is not just time saved.
It is the quality of decisions made from better information consistently over time.
Build the workflow this weekend.
The first brief runs Monday morning.
Follow @cyrilXBT for the exact N8N workflow templates, CLAUDE.md research context structures, and Brave Search query patterns that make this entire system run.

