Inspiration

Hermes Agent and similar agent services are already very good at carrying out an explicit request. But many of the things that matter most in real life do not arrive as a neat command at the right time. They are scattered across conversations, commitments, calendar events, and email history.

I wanted to explore a different role for an agent: one that can remember an important fact, notice when it becomes timely, and offer the smallest useful next step before the user has to ask.

The goal is not an agent that talks more. It is an agent that remembers without becoming intrusive, notices without nagging, and never takes an external action without permission.

What it does

ProActive Skill for Hermes Agent is a local-first, evidence-aware proactivity layer. It is designed to:

  • turn important facts, dates, commitments, and signals from conversations, calendars, and email into structured records;
  • preserve where each fact came from, its confidence, and when it becomes relevant;
  • continuously evaluate those records for timely opportunities to help;
  • stay silent when the evidence is weak or the interruption would not be useful;
  • present a clear recommendation or next action; and
  • require explicit approval before any consequential external action.

Instead of treating memory as a pile of chat transcripts, ProActive treats it as an operational system: facts have provenance, triggers have policies, and actions have safety gates.

The current Build Week submission is a source-verifiable release candidate for that foundation. It demonstrates the memory, policy, runtime, and fail-closed safety paths. It does not claim a full production cutover or unrestricted live writes to external services.

The Mother's Birthday Test

My final release-readiness benchmark is deliberately personal: the Mother's Birthday Test.

  1. During a conversation, the user mentions the date of their mother's birthday.
  2. ProActive stores that date as a structured fact with its source and confidence.
  3. One week before the birthday, the system recognizes that the fact has become timely.
  4. It researches suitable restaurants near the user's location and starts the conversation:

Your mother's birthday is one week away. Have you booked a restaurant? I found a few nearby options. Would you like to see them?

For the first release, the useful outcome is a researched shortlist that the user can review. If the user later chooses a restaurant and asks the agent to book it, the future system will check whether online booking is supported, show exactly what it intends to do, and ask for confirmation before acting.

Restaurant booking itself is intentionally future work. Reservation systems vary by city and provider, so those integrations need to be developed and verified locally rather than hidden behind an unsafe generic automation layer.

This test captures the product I want to build: an agent that connects long-term context, timing, location, and user intent to offer help at the moment it matters.

How I built it

The project is implemented in Python with a SQLite-backed local data model, explicit runtime gates, and command-line verification paths. The architecture separates evidence, policy evaluation, proposed actions, and execution so that uncertainty or missing prerequisites fail closed.

The repository includes reproducible dependency locking, cross-platform support for Linux, macOS, and Windows, automated tests, static analysis, specification validation, and safe runtime probes. The Hermes integration is packaged as a skill rather than a one-off demo prompt so the behavior can evolve into a durable agent capability.

How I used Codex and GPT-5.6

The entire project was developed collaboratively with GPT models. I began in a Linux CLI workflow and continued the main implementation and verification work in the Windows Codex app using GPT-5.6.

Codex and GPT-5.6 helped me:

  • turn the product idea into explicit behavioral and safety contracts;
  • design the structured memory, trigger, and approval boundaries;
  • implement the Python modules and CLI surfaces;
  • build cross-version and cross-platform test matrices;
  • investigate failures and review implementation evidence;
  • audit the repository before producing the frozen submission snapshot; and
  • keep the implementation honest about what is working today versus what remains gated.

The submitted /feedback Session ID points judges to the primary Build Week development session.

Challenges

The hardest problem was not generating a recommendation. It was deciding when an agent has enough evidence to interrupt the user at all.

A proactive system can easily become noisy, creepy, or overconfident. That required explicit provenance, confidence thresholds, timing policies, deduplication, and a strong distinction between suggesting an action and executing one.

Another challenge was keeping a large, rapidly developed agent system reproducible across operating systems and Python versions while preserving fail-closed behavior around incomplete integrations.

What I learned

Proactivity is not just prediction. It is the combination of memory, timing, confidence, relevance, and permission.

The best proactive agent is often the one that decides not to speak. When it does speak, the user should immediately understand why now, what evidence was used, and what will happen next.

I also learned that model capability alone is not enough for dependable agents. Durable specifications, runtime gates, observable state, and reviewable evidence are what turn an impressive response into a trustworthy product.

What's next

  • complete the Mother's Birthday Test end to end;
  • add consent-based conversation, calendar, and email ingestion;
  • improve location-aware recommendation quality;
  • give users direct control over what is remembered and when they may be interrupted;
  • add locally verified reservation integrations, one market at a time; and
  • preserve explicit confirmation before every external action.

ProActive is the first step toward a Hermes Agent that does more than wait for a prompt: it notices what matters and offers help before the moment is missed.

Built With

Share this project:

Updates