Wake up to a useful research briefing

Turn a defined set of sources into a short, dated briefing with evidence and a clear delivery check.

Example run includedBlueprintRead the worked example and results

The useful result

A concise briefing that separates new findings, repeated stories, and uncertain reports. Each item points to its original source.

Before you begin

  • A small list of sources you can access
  • A configured model and the tools needed to retrieve those sources
  • A delivery destination and a schedule in an explicit timezone

How to approach it

  1. 1

    Define the question

    Choose one reader and one decision the briefing should support. Specify what to exclude, how recent an item must be, and a maximum number of findings.

  2. 2

    Run a manual first edition

    Ask Hermes to retrieve the sources, group repeated coverage of the same event, and produce a dated summary. Inspect a few source links before turning it into a recurring task.

  3. 3

    Make the result checkable

    Require an original source, publication date where available, and a statement of why each item matters. Missing evidence should produce a visible gap, not a guessed conclusion.

  4. 4

    Schedule only after the output is useful

    Use the official scheduled-task guidance for your current installation. Specify the timezone, destination, and what should happen when no meaningful news is found.

  5. 5

    Verify delivery separately

    Check that a run produced the expected artifact and that it reached its destination. A scheduled task being enabled does not establish either result.

A prompt to adapt

An original starter prompt. Replace the brackets and run a bounded trial first.

Prepare a briefing on [topic] for [reader]. Use [sources], cover [date range], and return at most five findings. Group duplicate reports. For each finding include the original source and why it matters. State missing access or uncertain claims. If nothing meaningful changed, say so. Do not send or publish anything during this first trial.

When it doesn’t work

If a source becomes unavailable, preserve the last successful briefing and identify the missing source. Do not label old information as today's findings.

Check the result

Can the reader open every cited source, distinguish report date from collection date, and tell whether delivery actually succeeded?

A source-informed approach, not a certified recipe

Consult the linked official documentation for the exact commands and integrations in your version.

Example run includedExample run. What we did: ran the starter prompt once on saved sample inputs and published the files so you can compare.

Build a release briefing that survives duplicate and missing sources

Use archived official release excerpts to produce a bounded, source-linked briefing, then test a complete source outage without replacing the accepted result.

Date2026-10-19
ScopeReal Hermes file-tool execution on a controlled public-source snapshot; two fresh sessions.
EnvironmentWindows; Hermes Agent v0.22.2 (2026.9.24), stable, local d923a5eb487a; Python 3.14.7. Observed model gpt-5.6-luna through the existing openai-codex provider. Safe mode; file tools only.

The concrete task

A maintainer wants a short briefing about the October 14-15 release window. The source pack contains two relevant releases, a repeated record of one event, an older release, and an intentionally inaccessible source. This is an archived exercise, not a current-news service.

Observed results

  • Two distinct in-window findings from a pack containing a duplicate.
  • One out-of-window release excluded; one unavailable source identified.
  • Outage trial returned no new findings and preserved last-good bytes.

What this example does not show

  • Archived source files, not a live retrieval test.
  • No scheduled model run or external delivery was exercised.
  • One local run per scenario; no reliability rate claimed.
Technical details: how it ran, timing and files

1. Make the input contract visible

Download sources.json and inspect its reporting window before running anything. Each available record carries a stable event ID, original URL, publication date and short upstream excerpt. The duplicate has a separate source record ID but the same event ID. The unavailable entry has no excerpt: its existence is not permission to infer what it would have said.

For a live implementation, collect and validate accessible source material before this synthesis step. Keep publication time separate from collection time. This trial starts with captured files and therefore does not establish live web retrieval, authentication, feed completeness, or unattended delivery.

2. Run the bounded synthesis

Place the source pack in a dedicated folder. Use the downloadable prompt with your configured model and file tools. The recorded trial allowed eight tool iterations and a 120-second run budget, started a fresh session, and disabled customizations. These limits describe this trial, not mandatory settings for every reader.

Request result.json with a reporting window, unique findings, excluded events and visible source gaps. Each finding must retain the upstream URL and date and explain why it matters. The concrete output is available below so you can compare it with the inputs instead of accepting a completion message.

3. Inspect the successful result

The observed result contains v0.22.2 and v0.22.1 once each. The v0.22.2 item retains both source-record identities, v0.21.7 is outside the window, and the unavailable source appears in gaps. The input file hash stayed unchanged. The written explanations are supported by the supplied excerpts.

This is a historical window, so inclusion does not recommend installing an older release. The v0.22.2 excerpt explains the problem with v0.22.1; retain that corrective context when interpreting the briefing. A future production brief should make supersession especially prominent.

4. Inject a complete source outage

A separate new session received an all-unavailable source pack and the previously accepted output as last-good.json. Its task was to write attempt.json, keep new findings empty and preserve the older reporting window separately. The observed result reported unavailable, identified the missing source, and produced no new findings.

The last-good file was identical before and after the attempt. Treat that file as historical fallback, with its original dates. A reader must be able to see the failed attempt without old findings being relabeled as fresh. This check verifies preservation on these fixtures; it does not prove that every possible network or storage failure is handled.

How to adapt it

Start with a small source list and one reader question. Keep the collection stage independent from synthesis so source failures can be represented explicitly. Validate the output before promoting it to an accepted edition, then add a schedule only after observing a useful manual result.

For this exercise, source identity, deduplication, window filtering, output creation and outage preservation were covered. Real-time retrieval, recurrence while a host sleeps, external messaging and long-run stability remain outside the evidence.

Inspect and reproduce

The source fixtures, original model outputs, prompts and execution receipts are below. Use a separate folder and your existing Hermes setup. Replace <trial-folder> in prompts with that folder. A local test run is not evidence of unattended production reliability.

Read the accepted output here
{
  "windowStart": "2026-10-14T00:00:00Z",
  "windowEnd": "2026-10-16T00:00:00Z",
  "findings": [
    {
      "eventId": "v0.22.2",
      "sourceIds": [
        "413474259",
        "duplicate-record"
      ],
      "title": "Hermes Agent v0.22.2",
      "originalUrl": "https://github.com/NousResearch/hermes-agent/releases/tag/v0.22.2",
      "publishedAt": "2026-10-15T08:21:32Z",
      "whyItMatters": "The excerpt describes v0.22.2 as the intended release after v0.22.1 shipped from the wrong commit, and highlights a fix allowing the gateway to start after reboot; it also notes a known issue deleting sessions run under the 0.22.1 gateway."
    },
    {
      "eventId": "v0.22.1",
      "sourceIds": [
        "413231148"
      ],
      "title": "Hermes Agent v0.22.1",
      "originalUrl": "https://github.com/NousResearch/hermes-agent/releases/tag/v0.22.1",
      "publishedAt": "2026-10-14T23:59:24Z",
      "whyItMatters": "The excerpt identifies this as a patch release with Windows Store fixes, plugin updates, a new Nemotron Super 3.5 default-parameter change, a curated model list, and new Korean and Brazilian Portuguese language packs."
    }
  ],
  "excluded": [
    "v0.21.7"
  ],
  "gaps": [
    "missing-source"
  ]
}

Official release v0.22.2 (opens in a new tab) Official CLI reference (opens in a new tab)

Related community reports

A PR agency runs sales ops in Slack: CRM lookups, lead research notes and email triagePressWhizz (YouTube) · Business operations · May 11, 2026Replaced the helpdesk: Hermes briefs a local support agent and escalates to the teamtheturtletalks (Hacker News) · Business operations · Jun 15, 2026A three-person software house uses Hermes for lead research and competitor analysisHalfbit Studio · Business operations · Jun 22, 2026Outbound sales agent researches accounts and queues every send for approval in Telegram@VibeMarketer_ · Marketing · Aug 13, 2026Consultant wires Hermes to a self-hosted CRM and gets an 8-page meeting prep briefu/jean-jcrx · Integrations · Jun 26, 2026

Want Hermes set up for you?

Setup help, custom agent builds and one-off projects. Tell us what you need and get a quote by email.