I have a problem. A good problem, but still a problem.
I built an autonomous AI daemon called Colony. It's a Clojure application that manages a queue of tasks — writing blog articles, monitoring websites, researching revenue opportunities — and delegates them to AI workers that run as subprocesses. Think of it as cron meets AI meets "what if I never had to write SEO content again."
For months, the brain behind Colony was claude -p
— Anthropic's CLI tool running in prompt mode. It worked, but it had limitations:
Then I found Hermes Agent.
If you haven't encountered it yet: Hermes Agent is an open-source agentic system from Nous Research. The key differentiators that caught my attention:
hermes -z "do the thing"
runs a prompt with full tool access and exits. Perfect for subprocess orchestration.That last point is what made the integration click. Colony doesn't need a persistent chat session — it needs to fire off tasks and collect results. Hermes's -z
flag is exactly that interface.
Replacing claude -p
with hermes -z
in Colony's worker scripts was almost embarrassingly simple. The core change in my Babashka worker:
;; Before: Claude CLI
(proc/process {:out :string :err :string}
"claude" "-p" prompt)
;; After: Hermes Agent
(proc/process {:out :string :err :string}
hermes-bin "-z" prompt)
But the real power isn't in the swap — it's in what Hermes enables that Claude CLI couldn't.
Here's what I built with the Hermes integration: a 3-stage autonomous content pipeline.
Stage 1: Research — Hermes uses web search tools to find trending topics in a niche. It returns structured JSON with titles, keywords, search volume hints, and competitive analysis.
Stage 2: Outline — Hermes researches top-ranking articles for the chosen topic, then generates a comprehensive outline that covers more ground than existing content.
Stage 3: Write — Hermes produces a full markdown article with frontmatter, proper heading structure, and SEO-optimized content.
Each stage is a separate Hermes invocation. This matters because:
Research → hermes3:8b (local, free, fast)
Outline → hermes3:8b (local, free, fast)
Writing → claude-opus-4.6 (cloud, paid, quality)
Research doesn't need a frontier model. Topic discovery and competitive analysis work fine with an 8B parameter model running locally on Ollama. Save the expensive tokens for the final article where prose quality matters.
This wasn't possible with claude -p
. One model, one price point, for everything.
My first instinct was a single prompt: "Research a topic and write an article about it." This produces mediocre results regardless of model size.
Breaking the work into discrete stages — each with a focused prompt, clear input/output contract, and appropriate model selection — produces dramatically better results. It also gives you retry granularity: if the outline stage fails, you don't have to redo the research.
This is the same principle as Unix pipes. Small, focused tools composed together beat monolithic programs.
Hermes3:8b running on Ollama handled topic research surprisingly well. It won't write prose that passes for a professional blog post, but for structured tasks — generating JSON topic lists, analyzing keyword gaps, creating outlines — it's more than capable.
The cost difference is stark: local model research costs $0. Cloud model research costs tokens. When you're running an autonomous daemon that researches topics every few hours, that adds up.
The biggest upgrade from claude -p
to Hermes wasn't the model — it was the tools. Hermes can:
This turned my content pipeline from "generate text from training data" into "research current trends and generate informed text." The difference in output quality is significant.
Most agentic frameworks assume you want a long-running chat session or a complex multi-agent graph. Colony takes a simpler approach: a task queue with subprocess workers.
Daemon (long-running) → assigns tasks
Worker (subprocess) → runs hermes -z → reports results
Daemon → processes results, queues next tasks
This gives you:
Hermes's -z
one-shot mode fits this pattern perfectly. It's a function call with tool access.
Hermes ships with skills for research, GitHub, code review, content creation, and dozens of other domains. I haven't tapped most of these yet, but having blogwatcher
, research
, and arxiv
skills available means I can extend the pipeline without writing custom tool integrations.
Want to add academic paper summarization to the content pipeline? There's a skill for that. Want to auto-create GitHub issues for article ideas? Skill for that too.
Running the pipeline locally with Hermes3:8b + Ollama:
| Stage | Time | Cost | Quality |
|---|---|---|---|
| Research (3 topics) | ~45s | $0 | Good — relevant, current topics |
| Outline | ~30s | $0 | Good — comprehensive structure |
| Writing (8b) | ~60s | $0 | Fair — needs editing |
| Writing (Claude) | ~90s | ~$0.05 | Good — publish-ready |
Total pipeline: under 3 minutes, near-zero cost for drafts.
If you're building any kind of agentic system — especially one that:
Then yes, Hermes Agent is worth your time. The install is one command, the -z
one-shot mode is perfect for automation, and the model-agnostic design means you're not locked into any provider.
The open-source angle matters too. When you're running autonomous AI workers, you want to understand (and modify) every layer of the stack. Hermes gives you that.
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
ollama pull hermes3:8b
hermes setup
hermes -z "What are 3 trending topics in AI development? Return as JSON array."
Then build something. The challenge deadline is May 31, 2026 — but the real value is having a capable, open-source agent in your toolbox permanently.