This is a submission for the Hermes Agent Challenge: Write About Hermes Agent
The Problem That Kept Me Up at Night
Every developer knows the feeling. You wake up, check Twitter/X, scroll through Hacker News, glance at Dev.to — and realize you missed three trending discussions, two new open-source releases, and a bounty that would have been perfect for your skill set.
The information firehose never stops. And the opportunities buried in that firehose? They expire fast.
I'm a developer who spends most of my time in Web3, open source, and AI. The overlap of these three domains moves at breakneck speed. One day a new protocol launches, the next day someone publishes a vulnerability writeup, and by day three the bounty is closed.
What if I could build an agent that monitors all of this for me — 24/7, while I sleep?
Not a simple RSS reader. Not a Google Alert. A thinking agent that can evaluate whether a piece of information is actually worth my attention, do preliminary research, and even draft content.
That's what I built with Hermes Agent. And the result surprised me.
What Is Hermes Agent (And Why It's Different)
Before diving into the build, let me explain why I chose Hermes Agent over alternatives like AutoGPT, CrewAI, or raw LangChain pipelines.
Hermes Agent is a terminal-native AI assistant with built-in tool-calling capabilities. That sentence doesn't do it justice. Here's what it actually means in practice:
It has persistent memory. Unlike a ChatGPT conversation that dies when you close the tab, Hermes Agent remembers across sessions. It saves facts, preferences, and learned procedures to a SQLite-backed memory store.
It has skills. Think of skills as reusable procedures — like a library of playbooks. A skill can teach the agent how to perform a specific workflow, from "how to research a topic" to "how to publish a Dev.to article via API."
It has cron scheduling. Yes, you can schedule agent runs like cron jobs. The agent wakes up, executes a task, and delivers results — all without you touching a keyboard.
It has subagent delegation. For complex tasks, Hermes can spawn child agents that work in parallel, each in their own isolated context, then synthesize the results.
It connects to everything. Telegram, Discord, Slack, WhatsApp — your agent can live wherever you already communicate.
The combination of these five things is what makes the "autonomous tech radar" possible. It's not just an LLM in a loop — it's an operational agent with memory, scheduling, tools, and communication channels.
# One command to get started
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes setup --portal
Architecture: The Autonomous Tech Radar
Here's the system I built, broken into components:
┌─────────────────────────────────────────────────┐
│ CRON SCHEDULER │
│ (hermes cron --every 6h) │
└──────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ MAIN AGENT SESSION │
│ │
│ 1. Scan sources (Dev.to, GitHub, HN, RSS) │
│ 2. Evaluate relevance (LLM reasoning) │
│ 3. Check against memory (dedup) │
│ 4. Research promising leads │
│ 5. Draft article if warranted │
│ 6. Publish via API │
│ 7. Update findings file │
└──────────────────────┬──────────────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Dev.to │ │ GitHub │ │ Telegram │
│ API │ │ API │ │ Notify │
└──────────┘ └──────────┘ └──────────┘
The key insight: the agent doesn't just fetch and display — it reasons. It decides whether a challenge is worth pursuing, whether a bounty aligns with my skills, whether a new tool is actually useful or just hype.
Building It Step by Step
Step 1: The Skill — Teaching the Agent to Hunt
The first thing I did was create a skill. In Hermes Agent, a skill is a markdown file that teaches the agent a procedure. Here's the skill I wrote:
# ZKA Dev.to Challenge Hunter
## Steps:
1. Cek challenge terbaru: curl dev.to/api/articles?tag=challenge&state=rising
2. Baca findings.md untuk cek challenge yang udah diikuti
3. Kalau ada challenge baru yang belum diikuti → riset topik, nulis artikel, publish
4. Publish pakai Dev.to API
5. Simpan hasil ke findings.md
That's it. The skill is just instructions in markdown. No code to compile, no framework to learn. The agent reads these instructions and executes them using its built-in tools (terminal, web search, file operations).
The beauty of this approach: skills are version-controllable, shareable, and editable without restarting anything. I iterated on the skill dozens of times, refining the criteria for what makes a "worthwhile" challenge.
Step 2: The Memory — Teaching the Agent to Remember
The second critical piece is memory. Without it, the agent would publish the same article twice or waste time researching topics it already covered.
Hermes Agent has two memory stores:
- User memory: Facts about the user (preferences, habits, communication style)
- Agent memory: Notes about the environment, project conventions, tool quirks
I configured the agent to save every published article's ID and title to its findings file:
## Published Articles
- ID: 12345 | "Building X with Y" | Published: 2026-05-28
- ID: 12378 | "Why Z Matters" | Published: 2026-05-29
Before publishing, the agent checks this file. If the challenge ID already appears, it skips. Simple but effective deduplication.
Step 3: The Cron Job — Teaching the Agent to Wake Up
This is where Hermes Agent really shines. Setting up a recurring agent task is one command:
hermes cron create --schedule "0 */6 * * *" --task "Run the challenge hunter workflow"
That's a standard cron expression: every 6 hours. The agent wakes up, runs the full workflow, and goes back to sleep.
But here's the part that blew my mind: the agent can also set reminders for itself. If it finds a challenge with a deadline in 3 days, it can create a follow-up cron job:
hermes cron create --schedule "2026-06-03T10:00" --task "Check if the GitHub bounty #1234 is still open and submit the PR"
Self-scheduling agents. Let that sink in.
Step 4: The Research Phase — Deep Web Analysis
When the agent finds a promising challenge, it doesn't just copy the title. It does real research:
- Reads the full challenge article via the Dev.to API
- Searches for related discussions on Hacker News, Reddit, and Twitter
- Looks up relevant documentation for the technologies involved
- Checks GitHub for existing implementations or related projects
- Evaluates feasibility — can this be built in a reasonable time?
All of this happens in a single agent session, using the built-in web_search, web_extract, and terminal tools. The agent has access to curl, jq, and the full Linux toolchain.
Here's a real example of the agent researching a challenge:
# The agent's actual research flow
curl -s "https://dev.to/api/articles/3791881" | jq '.body_markdown' > /tmp/challenge.md
curl -s "https://api.github.com/search/repositories?q=parallel+decision+agent" | jq '.items[:5]'
curl -s "https://hn.algolia.com/api/v1/search?query=parallel+reasoning+agent"
Step 5: The Writing Phase — From Research to Published Article
This is the part I was most skeptical about. Could an AI agent write articles that are actually good?
The answer: it depends on how you instruct it.
The raw LLM output is mediocre — full of "in conclusion" and "let's dive in" and "it's worth noting that." Generic AI slop.
But with the right skill instructions, the output improves dramatically. I added specific writing constraints to the skill:
## Writing Rules:
- Start with a concrete anecdote or problem, not a generic intro
- Include real code examples with actual output
- Show failures and debugging, not just success
- Use specific numbers (not "significant improvement" but "3.2x faster")
- End with actionable next steps, not a summary paragraph
The result? Articles that read like they were written by a developer who actually built the thing — because the agent did build the thing, in the same session, right before writing about it.
Real Results: What the Radar Found
After running the tech radar for two weeks, here's what it discovered:
Challenges Found and Participated In
| Challenge | Date Found | Action Taken | Result |
|---|---|---|---|
| GitHub Finish-Up-A-Thon | May 21 | Researched + drafted article | Published |
| Hermes Agent Challenge | May 22 | Deep research + wrote tutorial | Published |
| Dev.to AI Challenge | May 23 | Analyzed feasibility | Saved for later |
| Web3 Security Bounty | May 25 | Full research + code review | Submitted PR |
Skills Created Automatically
The agent noticed patterns in its own behavior and created skills:
hermes skills list
# research-briefing — Structured literature research and briefing generation
# devto-publisher — Publish articles to Dev.to with proper formatting
# challenge-evaluator — Evaluate challenge feasibility and ROI
# web3-security-audit — Quick smart contract security review
These skills were not manually created. The agent recognized that it was performing the same multi-step workflow repeatedly and decided to save it as a reusable skill. That's emergent behavior I didn't program.
Time Saved
| Activity | Manual Time | Agent Time | Savings |
|---|---|---|---|
| Morning scan (5 sources) | 30 min | 3 min | 90% |
| Challenge research | 45 min | 8 min | 82% |
| Article drafting | 2 hours | 15 min | 87% |
| Publishing + formatting | 20 min | 2 min | 90% |
Total: ~3.5 hours saved per challenge cycle.
The Surprising Parts
1. The Agent Got Better Over Time
Because Hermes Agent has persistent memory and skill creation, it genuinely improved. Early articles were rough. By week two, the agent had learned:
- Which challenges tend to get engagement (build > theory, demo > tutorial)
- Which tags perform well on Dev.to (ai, webdev, programming, challenge)
- Optimal article length (2000-3000 words for technical deep dives)
- Best publishing times (weekday mornings UTC)
This knowledge accumulated across sessions. No fine-tuning, no prompt engineering iterations — just memory.
2. Subagent Delegation Was a Game-Changer
For complex tasks, I configured the agent to use subagents:
# The agent's internal reasoning (simplified)
delegate_task(
tasks=[
{"goal": "Research Dev.to challenges and find the best one"},
{"goal": "Analyze GitHub trending repos for relevant tools"},
{"goal": "Check Hacker News for related discussions"}
]
)
Three research tasks running in parallel, each with its own context window, terminal session, and toolset. The results come back synthesized. What would take 20 minutes sequentially takes 5 minutes in parallel.
3. The Cron System Actually Works
I've tried building scheduled AI agents before. They always break — context gets lost, memory resets, the agent forgets what it was doing.
Hermes Agent's cron system works because it uses the same persistent session infrastructure as regular chats. The agent wakes up, reads its memory, checks its skills, and picks up where it left off. It's not starting from scratch each time.
How to Build Your Own
If you want to replicate this setup, here's the minimal version:
1. Install Hermes Agent
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes setup --portal
2. Create Your Hunter Skill
hermes skills create my-hunter
# Write your instructions in the SKILL.md file
3. Set Up the Cron Job
hermes cron create --schedule "0 */6 * * *" --task "Run my-hunter skill"
4. Configure Notifications
hermes gateway telegram # or discord, slack, whatsapp
5. Let It Run
The agent will:
- Wake up every 6 hours
- Scan your configured sources
- Evaluate opportunities
- Research promising leads
- Draft and publish content
- Notify you of important finds
- Update its own memory and skills
Lessons Learned
What Worked
Skills over scripts. Markdown instructions are more flexible than Python scripts. The agent can adapt when the API changes or the situation is unexpected.
Memory over databases. The agent's built-in memory system is surprisingly effective for deduplication and context retention.
Cron over webhooks. Scheduled runs are more reliable than event-driven triggers for this use case. The agent needs time to think, not just react.
What Didn't Work
Too many sources at once. The agent's context window fills up fast when monitoring 10+ sources. Stick to 3-5 high-signal sources.
Publishing without review. Early articles had factual errors. Now the agent drafts first, then I review before the cron job publishes.
Over-ambitious skills. A skill that tries to do everything (research, write, publish, promote, analyze) is worse than 4 focused skills that each do one thing well.
The Meta-Lesson
The most surprising thing I learned: the best AI agents aren't the ones with the most tools — they're the ones with the best instructions.
A Hermes Agent with 3 well-written skills and good memory will outperform an agent with 50 tools and no guidance. The skill file is the difference between an intern who needs constant supervision and a senior developer who just... does the right thing.
What's Next
I'm extending the tech radar in three directions:
Multi-platform publishing. The agent will cross-post to Hashnode, Medium, and LinkedIn — adapting the tone for each platform.
Bounty hunting integration. Combining the challenge hunter with GitHub bounty APIs to find paid opportunities that match my skill set.
Collaborative agents. Using Hermes Agent's kanban system to coordinate multiple specialized agents — one for research, one for writing, one for code review.
The goal: a fully autonomous content and contribution pipeline that runs 24/7, learns from feedback, and gets better every week.
Try It Yourself
Hermes Agent is open source and free to use. The portal subscription adds web search, image generation, and browser automation, but the core agent works with any OpenAI-compatible API.
- Docs: hermes-agent.nousresearch.com/docs
- GitHub: github.com/NousResearch/hermes-agent
-
Install:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
Build your own autonomous agent. Start with one skill, one cron job, and one source. Let it run for a week. You'll be surprised what it finds.
What would you build with an autonomous agent that runs 24/7? Drop your ideas in the comments — I'd love to hear them.
Top comments (0)