Back to Wiki
Wiki Article

Best Practices & Workflow Patterns

By u/itsdodobitch, u/An-R-Nguyen, u/Almarma

Best Practices and Workflow Patterns

Source: r/hermesagent community discussion (May 2026)


Core Philosophy from Top Post (298 Upvotes)

u/itsdodobitch's "One month with Hermes Agent - what I wish I knew earlier" distilled:

  1. Hermes works impressively well out of the box - Don't over-optimize before using
  2. The model is THE most important decision - Wrong model ruins everything
  3. Don't chase perfect setup - Build something you'll actually use first
  4. Treat profiles as separate agents with separate state - Not presets
  5. Memory system matters - Don't use default, set up proper memory early

Workflow Patterns That Work

Pattern 1: Plan-Execute-QC Loop (u/An-R-Nguyen)

For coding and complex tasks:

  1. Planning phase: Dedicated chat for planning only. Tell Hermes to create persistent project directory. Define parameters, desired output, limitations, available infrastructure.
  2. Execution phase: Coder profile one-shots the request aiming for 80%+ quality.
  3. QC phase: Main profile reviews, makes minor adjustments, or nukes and restarts if quality < 80%.

Key rule: "When a job is not one shotted and have at least 80% quality pass, not worth the effort fixing it. Best to just start over."

Pattern 2: Persistent Project State (u/trashacct383)

For large projects exceeding context window:

  1. Start with planning chat - create persistent project directory
  2. Maintain a project plan document in the directory
  3. Keep a state file tracking current progress and next steps
  4. Use these files to maintain continuity across new sessions after context compaction

Pattern 3: GitHub Integration Pipeline (u/Xiaomin4114)

For development workflows:

  1. Create separate GitHub account for Hermes
  2. Generate SSH key, add pubkey to GitHub
  3. Share repos with bot account
  4. Hermes pushes code, shows up as bot's commits
  5. Check server logs -> find errors -> correlate to code -> make PR -> human reviews and merges -> deploy

Advanced: Auto-fix bugs by checking logs, making PRs, and deploying after approval.

Pattern 4: News Digest Automation (Community Favorite First Project)

Simple but practical:

  1. Create cron job for daily news fetch
  2. Configure sources and categories
  3. Deliver to Telegram/Discord/Email
  4. Refine over time based on quality feedback

Variation: Separate Telegram groups for different digest types (news, SEO reports, general chat) - u/dontforgetthef


SOUL.md Best Practices

What Works

  • Clear role definition - "You are a [specific role]"
  • Explicit capabilities list - List available tools and access patterns
  • Output format specifications - Define expected response structure
  • Boundary setting - What NOT to do is as important as what to do
  • Tone guidelines - Professional, concise, or whatever fits your use case

What Doesn't Work

  • Overly long SOUL.md files that bloat context
  • Vague instructions that leave too much interpretation
  • Conflicting directives that confuse the agent

Cost Management Strategies

Daily Budget Framework (u/Almarma)

Model Use Case Daily Spend Target
DeepSeek V4 Pro (direct API) Main driver $1-1.50/day
Qwen 3.6-27B (local vLLM) Main driver Free (electricity only)
MiniMax M2.7 ($10 plan) Auxiliary tasks Included in plan
Claude/GPT Complex reasoning only As-needed spike

Token Optimization Checklist

  • Use direct API instead of OpenRouter when settled on model
  • Enable caching (DeepSeek direct API excels here)
  • Minimize model switching during active sessions
  • Start new conversations for different topics
  • Set context compression at ~70%
  • Use cheaper auxiliary models for subtasks
  • Consider free-tier pooling with llm-keypool

Messaging Best Practices

Structure:

  • Main chat for general conversation
  • Separate groups for automated tasks (news, reports, monitoring)
  • Topics within groups for session management (upcoming feature: topic-to-profile routing)

Tips:

  • Use dedicated Gmail account for Hermes bot
  • Forward emails to Hermes email rather than giving full inbox access
  • Share specific calendar events rather than full calendar access

Multi-Platform Management

Running Hermes on Telegram, Discord, WhatsApp simultaneously:

  • Each platform gets its own gateway configuration
  • Sessions are isolated per platform
  • Memory system provides cross-platform continuity
  • Use profiles for different platforms if you want separate personalities

Security Best Practices

Principle of Least Privilege

  1. Dedicated accounts - Separate Gmail, GitHub, and service accounts for Hermes
  2. Shared resources over full access - Shared calendar > full calendar access; email forwarding > inbox access
  3. Burner accounts for testing - Use disposable accounts during setup phase
  4. Guardrails in SOUL.md - Explicitly define what files/directories are off-limits

Prompt Injection Awareness

  • Calendar invite injection is a real threat (u/mseewald)
  • Local models have FEWER safeguards than frontier models
  • Maintain snapshots and backups regularly
  • Use sandboxes for untrusted input processing

Obsidian Integration Best Practices

Vault Structure (u/dontforgetthef)

Hermes Vault/
  README.md (master index)
  Sessions/ (conversation logs, meeting notes)
  Skills/ (custom skill documentation)
  Automations/ (cron job configs, workflow docs)
  Projects/ (project-specific folders)
  References/ (static reference material)

Sync Strategy

  • Syncthing (free, community favorite) - PC + Raspberry Pi or other devices
  • Obsidian Sync (paid, simpler) - Official sync service
  • Have Hermes save file locations to memory for recall
  • Use consistent naming conventions across vault

Common Anti-Patterns to Avoid

  1. Using external "experts" to optimize Hermes config - Just ask Hermes about itself (u/CaliZ06)
  2. Installing second Hermes instance for profiles - Profiles are built-in (u/Beckland)
  3. Chasing setup perfection before building anything - Start using, iterate later
  4. Not verifying agent actions - Always check file writes independently
  5. Single massive profile doing everything - Use purpose-built profiles instead
  6. Ignoring memory system setup - Default memory is insufficient for serious use

Community Wisdom Quotes

"If you're constantly chasing the perfect setup, you'll never actually build anything." - u/Jealous_Alarm_1383

"The easiest thing to build first is a scheduled news digest that sends you interesting news on what you're interested in. Simple and something you'll actually use." - u/Jealous_Alarm_1383

"Don't simply use the default memory default setup. You have plenty of local and powerful options available which I overlooked at first." - u/Almarma

"The wrong main model will ruin your life, your experience with hermes and probably even the setup. Don't cheap too much in the main model." - u/Almarma

"I don't treat profiles as presets. I treat them as separate agents with separate state. That was the part that made them click for me." - u/itsdodobitch