Build a Second Brain with Hermes Agent

Connect Hermes Agent to Discord and build a personal AI knowledge curator.

Introduction

30 Second Summary

You have ideas throughout the day that vanish before you can act on them. Traditional note apps store information passively, leaving it buried and disconnected.

In this project, you will build a personal AI second brain that lives in Discord. It captures your ideas on the fly, categorizes them automatically, and delivers a daily briefing that connects your knowledge across sessions.

What You'll Build

A Discord bot powered by Hermes Agent that acts as an always-available knowledge curator with persistent memory, custom skills, and scheduled automations.

By the end of this project, you'll have:

  • A Discord bot connected to your Hermes Agent via the messaging gateway, giving you a 24/7-accessible second brain.
  • A customized SOUL.md identity and a knowledge-capture skill that structures how Hermes categorizes and stores information in persistent memory.
  • A scheduled daily briefing powered by a cron job that surfaces connections and themes from your accumulated knowledge.
  • Secret Mission: build a "knowledge connector" skill that uses session search to find surprising links between ideas across past conversations.

Are there any prerequisites?

Yes. You need Hermes Agent installed and working on your machine with a configured LLM provider (DeepSeek V4 Pro). You also need a Google account and a Discord account with access to a server you manage.

Connect Hermes to Discord

Your second brain only works if you can reach it anytime. Right now, Hermes Agent lives in your terminal. That means you need your computer open and a command line running to talk to it.

In this step, you'll create a Discord bot, wire it up to Hermes via the messaging gateway, and verify the two can communicate. Once connected, you'll be able to message your agent from your phone, tablet, or any device with Discord installed.

In this step, get ready to:
  • Create a Discord bot application in the Developer Portal.
  • Configure the Hermes gateway to connect with Discord.
  • Verify your bot responds to messages.
Create a Discord bot in the Developer Portal

Before Hermes can send and receive messages on Discord, it needs a bot account. You'll create this in the Discord Developer Portal.

  • Open the Discord Developer Portal by navigating to https://discord.com/developers/applications in your browser.
  • Click New Application in the upper right corner.
  • Enter Second Brain as the name, then click Create.
  • In the left sidebar, click Bot.
  • Scroll down to the Privileged Gateway Intents section.
  • Toggle Message Content Intent to enabled. This allows your bot to read message content from users.
  • Scroll back up to the Token section and click Reset Token.
  • Copy the generated token immediately and save it somewhere safe (like a password manager or a temporary text file).

Save your bot token now

Discord only shows your bot token once at the moment you reset it. If you navigate away without copying it, you'll need to reset the token again and any previous token becomes invalid.

What is a bot token?

A bot token is a secret credential that authenticates your application with Discord's servers. Hermes uses this token to connect and send messages as your bot user. Treat it like a password.

Invite the bot to your server and configure the gateway

Now you'll generate an invite link to add the bot to your Discord server, then configure Hermes to use it.

  • In the Developer Portal left sidebar, click OAuth2.
  • Click URL Generator.
  • Under Scopes, check the bot checkbox.
  • A Bot Permissions section appears below. Check the following permissions:
  • Send Messages.
  • Read Message History.
  • Create Public Threads.
  • Send Messages in Threads.
  • Add Reactions.
  • Scroll to the bottom of the page. Copy the Generated URL.
  • Paste the URL into your browser's address bar and press Enter.
  • In the installation prompt, select your Discord server from the dropdown, then click Authorize.

Your bot is now a member of your server. Next, you need to tell Hermes how to connect to it.

  • Before running the gateway setup, you'll need your Discord user ID. Enable Developer Mode in Discord by opening User Settings (the cogwheel icon near the bottom-left of the Discord client).
  • Click the Advanced tab in the left sidebar.
  • Toggle Developer Mode to on.
  • Close settings. Right-click your own username in a channel or the member list, then click Copy User ID. Save this ID alongside your bot token.

Why do you need your user ID?

Hermes uses the DISCORD_ALLOWED_USERS setting to restrict who can talk to your bot. Only Discord accounts with IDs on this list will get a response. This prevents strangers from consuming your AI credits.

  • Open your terminal and configure the Hermes Discord gateway by running this command:
hermes gateway setup
  • When prompted, select Discord as the platform.
  • Paste your bot token when asked.
  • Paste your Discord user ID when asked.

Gateway setup wizard not working?

There is a known issue where the interactive wizard may not fully handle Discord configuration. If it fails or skips a step, you can manually edit the configuration files instead.

Open ~/.hermes/.env in your text editor and add these two lines:

DISCORD_BOT_TOKEN=your-bot-token-here
DISCORD_ALLOWED_USERS=your-discord-user-id-here

Replace the placeholder values with the token and user ID you copied earlier. Save the file and continue.

Help me configure the Discord gateway manually.

  • Start the gateway by running this command:
hermes gateway

What does this command do?

The hermes gateway command starts the messaging gateway in the foreground of your terminal. It connects to Discord using your bot token, listens for incoming messages, and routes them to Hermes sessions.

This terminal window needs to stay open for your bot to remain online. You'll open a separate terminal for other commands.

  • Keep this terminal running. Open Discord and look at your server's member list.
  • Your bot ("Second Brain") should appear as online.
  • Send a test message by @mentioning your bot in any channel (e.g., type @Second Brain hello).
  • Wait a few seconds. You should see a response from your bot in the same channel.

Bot appears offline or doesn't respond?

Check the terminal where you ran hermes gateway for error messages. Common causes:

  • Invalid bot token. Double-check you pasted the full token without extra spaces.
  • Message Content Intent not enabled. Go back to the Developer Portal, open the Bot page, and confirm the toggle is on.
  • Bot not invited to the server. Re-check the OAuth2 URL Generator step and make sure you authorized it to the correct server.

Still stuck? Help me troubleshoot my Hermes Discord gateway connection.

Verify gateway status

With the gateway running, you can confirm the connection is healthy from a separate terminal window.

  • Open a new terminal window (keep the gateway running in the first one).
  • Check the gateway status by running this command:
hermes gateway status
  • Confirm the output shows the Discord adapter as connected.
  • Switch back to Discord and send a few more test messages to your bot to confirm round-trip communication works consistently.

What does connected mean?

A connected status means Hermes has an active WebSocket connection to Discord's gateway. Messages you send in Discord are relayed to Hermes in real time, and responses are sent back the same way.

Your second brain now has a permanent home in Discord. Next up, you'll shape its personality and teach it how to behave as a knowledge curator.

Shape Your Second Brain Identity

Your Hermes bot is online in Discord and responding to messages. That proves the connection works.

Right now, Hermes is using its default personality. To turn it into a second brain, you need to tell it who it is and who you are. Hermes uses two files for this: SOUL.md defines the agent's identity, and USER.md stores your personal preferences and context.

In this step, get ready to:
  • Create a custom SOUL.md identity that positions Hermes as a knowledge curator.
  • Seed USER.md with your knowledge interests and preferred categories.
  • Test the second brain behavior in Discord.
Create a SOUL.md identity for your knowledge agent

SOUL.md is Hermes Agent's primary identity file. It occupies slot #1 in the system prompt and completely replaces the built-in default personality.

You will write a custom identity that tells Hermes to behave as a dedicated knowledge management assistant with explicit protocols for capturing and retrieving information.

  • Open the file at ~/.hermes/SOUL.md in your text editor.
  • On Windows, this path resolves to C:\Users\<your-username>\.hermes\SOUL.md.
  • Select all the existing content and delete it.
  • Replace the contents with this custom knowledge curator identity:
# Knowledge Curator

You are a dedicated personal knowledge management assistant. Your purpose is to help the user capture, organize, and retrieve knowledge across sessions.

## Behavior Guidelines

- Always acknowledge new knowledge captures with a brief confirmation.
- Categorize all incoming information using the user's preferred categories.
- Look for connections between new information and existing knowledge.
- Be concise in responses. Prioritize clarity over verbosity.
- Never fabricate information. Only recall what has been stored.

## Capture Protocol

When the user shares new information:

1. Extract the core insight (one sentence).
2. Assign a category from the user's preferred list.
3. Save to memory using the memory tool.
4. Confirm what was captured and how it was categorized.

## Retrieval Protocol

When the user asks a question:

1. Search session history and memory for relevant entries.
2. Cross-reference related captures across categories.
3. Present findings with context about when they were captured.
4. Only say "I don't know" after exhausting memory and session search.

What does SOUL.md do?

SOUL.md is injected verbatim as the very first section of Hermes's system prompt. No wrapper language is added around it. Whatever you write here directly shapes how the agent thinks and speaks.

The Capture Protocol section ensures Hermes follows a consistent workflow whenever you share a piece of information. The Retrieval Protocol makes sure Hermes checks its memory and past sessions before giving up on a question.

  • Save the file.
  • Changes to SOUL.md take effect on the next session. Any currently running session will still use the old identity.

Not sure where to find the file?

Hermes automatically seeds a starter SOUL.md when first installed. If you do not see the file at ~/.hermes/SOUL.md, check that Hermes is installed correctly by running hermes in your terminal. The file should appear after your first session.

help me find my SOUL.md file

Seed your USER.md with your knowledge context

USER.md is Hermes's user profile file. It stores your preferences, interests, and communication style so the agent can personalize its responses across sessions.

How does USER.md get populated?

You do not edit USER.md directly. Instead, you tell Hermes about yourself during a conversation and it automatically saves relevant details using its memory tool. The file lives at ~/.hermes/memories/USER.md and has a limit of 1,375 characters (about 5-10 entries).

Memory writes happen immediately to disk, but the system prompt snapshot is frozen at session start. Your new preferences will be fully active in the next session.

  • Start a Hermes CLI session by running this command:
hermes
  • Tell Hermes about yourself. Share your learning interests, current projects, areas of focus, and preferred categories for organizing knowledge.
  • Here is an example of what you might say (customize it to match your actual interests):

What to tell Hermes about yourself

Try something like: "I want you to remember the following about me. My learning interests are cloud architecture and AI agents. My current project is building a second brain. My preferred knowledge categories are: tech, career, health, ideas, and books. I prefer concise responses with action items."

The more specific you are, the better Hermes can organize your knowledge later.

  • After sharing your details, exit the session by typing /exit or pressing Ctrl+C.
  • Verify that your preferences were saved by checking the file at ~/.hermes/memories/USER.md.
  • Open it in your text editor. You should see entries reflecting the interests and categories you shared.

USER.md is empty or missing entries?

Hermes saves to USER.md automatically when it learns something about you. If the file is empty, try being more explicit in your next session. Say "Remember that my preferred categories are tech, career, health, ideas, and books" to trigger a memory save.

help me get Hermes to save my preferences to USER.md

Test the second brain behavior via Discord

Now that your identity and user profile are configured, you will test the full second brain workflow through Discord. This confirms that the SOUL.md capture protocol is active and Hermes remembers your preferences.

  • Switch to Discord and @mention your bot in a channel (or send it a DM).
  • Share a piece of knowledge to test the capture protocol. For example:
I just learned that spaced repetition works because it exploits the spacing effect in memory consolidation
  • Watch how Hermes responds. It should acknowledge the capture, extract the core insight, assign a category, and confirm what it stored.
  • Next, test the retrieval protocol. Ask Hermes what it knows about your interests:
What do you know about my learning interests and focus areas?
  • Verify that Hermes recalls your preferences from USER.md (the interests and categories you shared in the CLI session).

Why does Hermes need a new session to see USER.md changes?

Memory is loaded as a frozen snapshot at session start. Changes written during a session are saved to disk immediately, but the system prompt does not update mid-session. When you messaged Hermes via Discord after seeding USER.md in the CLI, the gateway started a new session with the updated snapshot.

Hermes not using the capture protocol?

If Hermes responds normally without categorizing or confirming a capture, your SOUL.md may not have loaded. Restart the gateway (stop with Ctrl+C, then run hermes gateway again) to force a fresh session that picks up the new identity file.

Also confirm that ~/.hermes/SOUL.md is not empty and contains your Knowledge Curator content.

help me troubleshoot why my SOUL.md identity is not loading

Your second brain now has an identity. It knows who it is and who you are. Next up, you will create a custom skill that teaches Hermes a structured workflow for capturing knowledge consistently.

Create a Knowledge Capture Skill

Your second brain can already capture and recall information, but it does so in an unstructured way. Right now, every piece of knowledge you share gets handled slightly differently depending on how Hermes interprets your message.

In this step, you will create a custom skill that teaches Hermes a repeatable, structured workflow for capturing knowledge. Every time you share an insight, Hermes will follow the same process: extract the core idea, categorize it, rate its importance, and store it in a consistent format.

In this step, get ready to:
  • Create a skill directory and SKILL.md file for the knowledge-capture skill.
  • Define a 6-step capture workflow in the skill's Procedure section.
  • Test the skill in Discord to confirm Hermes follows the structured workflow.
Create the skill directory and SKILL.md

Hermes skills are Markdown files with YAML frontmatter stored in a specific directory structure. Each skill lives in its own folder under ~/.hermes/skills/, organized by category.

  • Create the skill directory by running this command in your terminal:
mkdir -p ~/.hermes/skills/productivity/knowledge-capture
  • Confirm the directory was created by running:
ls ~/.hermes/skills/productivity/knowledge-capture

You should see an empty directory listed with no errors.

Seeing 'No such file or directory'?

Make sure you included the -p flag in your mkdir command. This flag creates all intermediate directories (productivity/ and knowledge-capture/) in one go.

help me create the skill directory for Hermes

Define the capture workflow in the skill

The SKILL.md file tells Hermes exactly when and how to use this skill. The frontmatter declares the skill's name and trigger description, while the body sections define the step-by-step procedure.

  • Open your text editor and create a new file at ~/.hermes/skills/productivity/knowledge-capture/SKILL.md.
  • Paste the following content into the file:
---
name: knowledge-capture
description: "Use when the user shares a piece of knowledge, insight, article summary, or learning."
---

## When to Use

Use this skill when the user shares any of the following:
- A piece of knowledge or fact they want to remember
- An insight from an article, book, or conversation
- A learning or takeaway from a project or experience
- An idea they want to capture for later

## Procedure

1. Extract the core insight from what the user shared as one sentence.
2. Assign a category from the user's preferred categories stored in USER.md.
3. Rate importance (high/medium/low) based on relevance to the user's stated goals.
4. Save to persistent memory using the memory tool with format: "[CATEGORY] insight - source/context"
5. If memory is near capacity (above 80% of the 2,200 character limit), consolidate related entries before adding.
6. Acknowledge the capture with a brief confirmation showing category and insight.

## Pitfalls

- Do not create new categories without asking the user first. Use the categories defined in USER.md.
- Do not store raw quotes or full paragraphs. Always distill to a single-sentence insight.
- Do not skip the importance rating. It helps with future consolidation decisions.
- If the user shares multiple pieces of knowledge at once, process each one separately through the full procedure.

## Verification

After each capture:
- Confirm the entry was saved to MEMORY.md with the correct format.
- The user receives an acknowledgment showing the category and condensed insight.
- If consolidation was triggered, inform the user what was merged.

What does this file do?

The name and description in the YAML frontmatter are required. Hermes uses the description (which must start with "Use when...") to decide when to activate this skill automatically.

The Procedure section is the core workflow. It gives Hermes a repeatable 6-step process: extract, categorize, rate, save, consolidate if needed, and acknowledge. The [CATEGORY] insight - source/context format keeps your MEMORY.md entries scannable and consistent.

The Pitfalls section prevents common mistakes, like Hermes inventing new categories or storing full paragraphs that would quickly fill the 2,200 character memory limit.

  • Save SKILL.md.
  • Verify the file exists by running:
ls ~/.hermes/skills/productivity/knowledge-capture/SKILL.md

You should see the file path printed with no errors.

File not showing up?

Double check that you saved the file to the exact path ~/.hermes/skills/productivity/knowledge-capture/SKILL.md. The filename must be SKILL.md (all uppercase) for Hermes to recognize it.

help me verify my SKILL.md file is in the right location

Why a 2,200 character limit?

Hermes loads your entire MEMORY.md into the system prompt at the start of every session. A 2,200 character limit (~800 tokens) keeps this context focused and prevents it from consuming too much of the model's context window.

This is why step 5 in the Procedure instructs Hermes to consolidate related entries when memory gets full. Quality over quantity.

✔️ Awesome, I've got everything!

Great. Double check you have saved your SKILL.md file before moving on to test it.

ⓧ I'd like to double check the full code

Here is the complete SKILL.md file for the knowledge-capture skill:

---
name: knowledge-capture
description: "Use when the user shares a piece of knowledge, insight, article summary, or learning."
---

## When to Use

Use this skill when the user shares any of the following:
- A piece of knowledge or fact they want to remember
- An insight from an article, book, or conversation
- A learning or takeaway from a project or experience
- An idea they want to capture for later

## Procedure

1. Extract the core insight from what the user shared as one sentence.
2. Assign a category from the user's preferred categories stored in USER.md.
3. Rate importance (high/medium/low) based on relevance to the user's stated goals.
4. Save to persistent memory using the memory tool with format: "[CATEGORY] insight - source/context"
5. If memory is near capacity (above 80% of the 2,200 character limit), consolidate related entries before adding.
6. Acknowledge the capture with a brief confirmation showing category and insight.

## Pitfalls

- Do not create new categories without asking the user first. Use the categories defined in USER.md.
- Do not store raw quotes or full paragraphs. Always distill to a single-sentence insight.
- Do not skip the importance rating. It helps with future consolidation decisions.
- If the user shares multiple pieces of knowledge at once, process each one separately through the full procedure.

## Verification

After each capture:
- Confirm the entry was saved to MEMORY.md with the correct format.
- The user receives an acknowledgment showing the category and condensed insight.
- If consolidation was triggered, inform the user what was merged.
Test the skill in Discord

The best way to confirm your skill works is to feed Hermes several pieces of knowledge and check that it follows the structured capture workflow every time.

  • Switch to Discord and send /new to your bot to start a fresh session.
  • Share a piece of knowledge with your bot. For example, @mention it and type something like: "I just learned that spaced repetition works because it exploits the spacing effect in memory consolidation."
  • Observe Hermes' response. It should follow the 6-step procedure: extract the core insight, assign a category, rate importance, and confirm the capture.
  • Share 2-3 more pieces of knowledge from different categories (a project idea, a book takeaway, a career insight) to confirm the workflow is consistent across topics.

What should I see?

For each piece of knowledge you share, Hermes should respond with a structured acknowledgment showing the category it assigned and the condensed insight it stored. The exact wording will vary, but you should see a clear pattern: category, one-sentence insight, and importance level.

  • Verify your entries were stored by checking the memory file. Run this command in your terminal:
cat ~/.hermes/memories/MEMORY.md

You should see formatted entries like [TECH] spaced repetition exploits the spacing effect for long-term retention - personal learning.

Hermes not following the skill workflow?

Make sure you started a new session with /new after creating the skill file. Skills are loaded at session start, so an existing session will not pick up new skills.

Also confirm your SKILL.md frontmatter starts at the very first line of the file with --- (no blank lines above it). The Hermes validator requires frontmatter to begin at byte 0.

help me troubleshoot why my knowledge-capture skill isn't working

Your custom skill is locked in. Hermes now has a consistent, repeatable process for capturing knowledge. Next up, you will create a scheduled daily briefing that surfaces connections from everything you have stored.

Set Up a Daily Knowledge Briefing

Your second brain now captures and categorizes knowledge on demand. The next piece of the puzzle is making it proactive.

A good second brain does not wait for you to ask. It surfaces patterns, reminds you of connections, and prompts you to act on what you know. In this step, you will create a blueprint skill that runs on a cron schedule, delivering a daily knowledge briefing to your Discord channel every morning.

In this step, get ready to:
  • Create a daily-briefing skill with a blueprint schedule that fires at 9 AM.
  • Activate the cron job by restarting the gateway.
  • Verify the briefing arrives in Discord with real connections from your memory.
Create a briefing skill with a blueprint schedule

Blueprint skills are ordinary skills with an extra block in their YAML frontmatter that declares a schedule. When Hermes detects the blueprint, it registers a cron job that fires automatically.

  • Create the skill directory by running this command:
mkdir -p ~/.hermes/skills/productivity/daily-briefing
  • Confirm the directory exists by running:
ls ~/.hermes/skills/productivity/daily-briefing

You should see an empty directory listed with no errors.

Seeing "No such file or directory"?

Make sure you included the -p flag in the mkdir command. Without it, the shell cannot create nested directories that do not already exist.

help me fix my mkdir command for creating nested skill directories

  • Open the file ~/.hermes/skills/productivity/daily-briefing/SKILL.md in your text editor and paste the following content:
---
name: daily-briefing
description: "Use when delivering a scheduled morning briefing that summarizes stored knowledge and highlights connections."
metadata:
  hermes:
    blueprint:
      schedule: "0 9 * * *"
      deliver: origin
      prompt: "Review current MEMORY.md entries. Identify 2-3 connections or themes across recent captures. Suggest one action item or follow-up question based on stored knowledge. Present everything as a concise morning briefing."
---

# Daily Briefing

## When to Use

Triggered automatically at 9 AM daily via cron schedule. Can also be invoked manually when the user asks for a knowledge briefing.

## Procedure

1. Load the current MEMORY.md entries
2. Identify 2-3 connections or recurring themes across recent captures
3. Suggest one actionable follow-up question or task based on the patterns found
4. Format as a concise morning briefing with sections: Themes, Connections, Action Item

## Pitfalls

- Do not repeat entries verbatim; synthesize and summarize
- If MEMORY.md has fewer than 3 entries, note that more captures are needed for richer connections
- Keep the briefing under 300 words

## Verification

- Briefing references at least 2 specific MEMORY.md entries
- At least one connection drawn between different categories
- One clear action item or follow-up question provided

What does this skill do?

The metadata.hermes.blueprint block is what turns an ordinary skill into a scheduled automation. The three fields inside it control the behavior:

  • schedule: "0 9 * * *" is a standard cron expression meaning "minute 0, hour 9, every day, every month, every weekday." This fires at 9 AM daily.
  • deliver: origin tells Hermes to send the output back to whichever platform set up the job. Since you configured Discord, the briefing arrives there.
  • prompt is the self-contained instruction Hermes follows each time the cron fires. The prompt must include everything the agent needs because cron jobs run in fresh sessions.
  • Save SKILL.md.

File won't save?

Check that the directory path matches exactly: ~/.hermes/skills/productivity/daily-briefing/SKILL.md. If you accidentally created the file in the wrong folder, Hermes will not detect the blueprint.

help me verify my daily-briefing SKILL.md is in the right location

✔️ Awesome, I've got everything!

Great. Double check you have saved the file before moving on.

ⓧ I'd like to double check the full code

Here is the complete SKILL.md for reference:

---
name: daily-briefing
description: "Use when delivering a scheduled morning briefing that summarizes stored knowledge and highlights connections."
metadata:
  hermes:
    blueprint:
      schedule: "0 9 * * *"
      deliver: origin
      prompt: "Review current MEMORY.md entries. Identify 2-3 connections or themes across recent captures. Suggest one action item or follow-up question based on stored knowledge. Present everything as a concise morning briefing."
---

# Daily Briefing

## When to Use

Triggered automatically at 9 AM daily via cron schedule. Can also be invoked manually when the user asks for a knowledge briefing.

## Procedure

1. Load the current MEMORY.md entries
2. Identify 2-3 connections or recurring themes across recent captures
3. Suggest one actionable follow-up question or task based on the patterns found
4. Format as a concise morning briefing with sections: Themes, Connections, Action Item

## Pitfalls

- Do not repeat entries verbatim; synthesize and summarize
- If MEMORY.md has fewer than 3 entries, note that more captures are needed for richer connections
- Keep the briefing under 300 words

## Verification

- Briefing references at least 2 specific MEMORY.md entries
- At least one connection drawn between different categories
- One clear action item or follow-up question provided
Activate the cron job

Hermes only detects new skills when the gateway starts. You need to restart it so the blueprint is picked up and registered as a cron job.

  • Switch to the terminal window where hermes gateway is running.
  • Stop the gateway by pressing Ctrl+C.
  • Restart the gateway by running:
hermes gateway

Why restart the gateway?

The gateway loads the skills directory at startup. Any skill added while it was running is invisible until the next restart. After the restart, Hermes detects the blueprint block and registers the schedule.

Cron jobs only fire while the gateway is running. If you close your laptop, the agent sleeps with it.

  • Verify the cron job is registered by asking Hermes in Discord:
What cron jobs are scheduled?

Hermes should respond listing your daily-briefing job with a next run time of 9:00 AM tomorrow.

Don't see the cron job listed?

Make sure you stopped and restarted the gateway after saving the SKILL.md file. The gateway must be fully stopped (not just paused) before restarting.

Also verify your SKILL.md frontmatter starts with --- as the very first characters in the file. No blank lines are allowed before it.

help me troubleshoot why my daily-briefing blueprint is not registering as a cron job

Verify the briefing arrives

Waiting until 9 AM tomorrow is not ideal for testing. You can trigger the briefing manually to confirm everything works right now.

  • In Discord, send this message to trigger a manual test:
Give me my knowledge briefing for today
  • Hermes should respond with a briefing message that references actual entries from your MEMORY.md and draws connections between them.

What should the briefing look like?

A good briefing includes themes it noticed across your captures, at least one connection between items from different categories, and a suggested action item or question.

If your MEMORY.md only has a few entries, the connections may be shallow. Feed more knowledge in over time and the briefings become richer.

Test the scheduled delivery too

If you want to see the cron delivery in action without waiting until tomorrow, temporarily edit the schedule in your SKILL.md to a time a few minutes from now. For example, change 0 9 * * * to match the current hour and a minute or two ahead.

Restart the gateway after editing, then wait for the message to arrive in Discord. Remember to change it back to 0 9 * * * afterward.

Briefing is empty or generic?

Cron jobs run in fresh sessions with no memory of your current chat. The briefing relies entirely on what is stored in MEMORY.md. If you only captured one or two items during testing, go back to Discord and share 3-5 more pieces of knowledge first.

Also remember that MEMORY.md has a 2,200 character limit. If entries are missing, Hermes may have consolidated them to stay within the limit.

help me figure out why my daily briefing is not referencing my stored knowledge

Your second brain now has all three pillars working together: capture, organize, and surface. The knowledge-capture skill handles the first two. The daily briefing handles the third. Next up, you will take this further in the Secret Mission by building a skill that finds surprising connections across your full conversation history.

Secret mission

Build a Knowledge Connector

Your second brain captures and organizes knowledge. But the real magic of a second brain is finding surprising connections between ideas you never thought were related. In this mission, you'll build a skill that uses session_search to dig through your full conversation history and surface non-obvious links across categories.

Clean Up Your Resources

Clean Up Your Resources

This project runs entirely locally and uses a free Discord bot. There are no ongoing cloud costs. Decide whether to keep your second brain running, pause it to come back later, or delete everything entirely.

Resources you used:

  • Discord bot application ("Second Brain") in the Developer Portal.
  • Hermes gateway process running locally on your machine.
  • Custom Hermes files: SOUL.md, skills in ~/.hermes/skills/productivity/, and memory entries in ~/.hermes/memories/.

Keep everything running

No action needed. Choose this if you want your second brain accessible via Discord whenever your computer is on.

  • Leave hermes gateway running in your terminal window. Your bot stays online in Discord as long as your PC is awake.
  • Cron jobs (like your daily briefing) only fire while the gateway is running. If you close your laptop, the agent sleeps with it.
  • Your memory, skills, and session history all persist to disk in ~/.hermes/ and resume automatically on next start.

Pause - I'll come back to this later

Stop the gateway to free up system resources. Your files, skills, and memory all persist to disk and resume when you start the gateway again.

  • Stop the gateway by running:
hermes gateway stop
  • Your bot will appear offline in Discord, but all configuration remains intact.
  • To resume later, run hermes gateway in your terminal. Your skills, memory, and cron jobs pick up right where you left off.

Delete - I don't want to use this again

Remove all project resources completely. This deletes your Discord bot, custom skills, memory entries, and gateway configuration.

  • Stop the gateway first by running:
hermes gateway stop
  • Delete your custom skills by running:
rm -rf ~/.hermes/skills/productivity/knowledge-capture
rm -rf ~/.hermes/skills/productivity/daily-briefing
rm -rf ~/.hermes/skills/productivity/knowledge-connector
  • Delete your custom SOUL.md by running:
rm ~/.hermes/SOUL.md

What about MEMORY.md and USER.md?

Deleting MEMORY.md and USER.md erases everything Hermes remembers about you. If you might use Hermes for other projects in the future, consider keeping these files.

To delete them, run:

rm ~/.hermes/memories/MEMORY.md
rm ~/.hermes/memories/USER.md
  • Delete the Discord bot application. Go to the Discord Developer Portal at https://discord.com/developers/applications, select your "Second Brain" application, and find the option to delete it in the application settings. Confirm the deletion when prompted. Once the application is deleted, the bot will automatically disappear from your Discord server.

Nice Work!

Nice Work!

You just built a personal AI second brain that lives in Discord, powered by Hermes Agent. Your agent captures knowledge, organizes it with a structured workflow, and proactively surfaces insights on a daily schedule.

Here's what you accomplished:

  • Connected Hermes Agent to Discord via the messaging gateway, creating a 24/7-accessible second brain you can message anytime.
  • Customized the agent's identity with SOUL.md and created a knowledge-capture skill that structures how Hermes categorizes and stores information in persistent memory.
  • Set up a daily cron briefing that surfaces connections and themes from your accumulated knowledge every morning.
  • Secret Mission: Built a knowledge-connector skill that uses session_search to find surprising links across past conversations.

Ready to quiz yourself?