Hermes Agent Infrastructure Audit Report

Date: July 24, 2026  |  Model: glm-5.2 via Ollama Cloud  |  Scope: Full system evaluation

Profiles: 10  |  Skills: 119  |  Sessions: 181  |  Projects: 28

10
Profiles
8 functional, 2 blocked
119
Skills (Main)
34 directories
278
Skills (Thinker)
⚠️ Overloaded
181
Sessions
121 MB DB
28
Projects
3 with context files
0
Cron Jobs
All removed
0
Fallbacks
Single point of failure
97%
Memory Full
2,152 / 2,200 chars
30
Recommendations
7 quick wins, 10 short term, 13 medium
10,134
Messages
Across all sessions

Hermes Agent Infrastructure Audit Report


Date: July 24, 2026

Auditor: Default profile (orchestrator) with researcher profile support

Scope: Full system evaluation of Hermes Agent multi-profile setup, skills, workflows, and deployment infrastructure




Table of Contents





Key Metrics at a Glance


┌─────────────────────────────────────────────────────────────────────┐
│                     HERMES AGENT — AT A GLANCE                      │
├──────────────────────┬──────┬───────────────────────────────────────┤
│  Profiles            │  10  │  8 functional, 2 blocked (no config)  │
│  Skills (main)       │ 119  │  Across 34 top-level directories      │
│  Skills (thinker)    │ 278  │  ⚠️  68% over expected s4h-only count │
│  Sessions            │ 181  │  121 MB DB — auto-prune OFF           │
│  Projects            │  28  │  3 with context files, 25 without     │
│  Cron Jobs Active    │   0  │  All scheduled workflows removed      │
│  Fallback Providers  │   0  │  Single point of failure             │
│  Memory (MEMORY.md)  │  97% │  2,152 / 2,200 chars — near capacity  │
│  Memory (USER.md)    │  84% │  1,160 / 1,375 chars — filling up     │
│  Model               │   1  │  glm-5.2 via ollama-cloud (all profs) │
└──────────────────────┴──────┴───────────────────────────────────────┘

Health Scorecard


AreaStatusDetail
Profile availability🟡 8 of 10devops & frontend-coder lack config.yaml
Skill integrity🔴 Degraded40+ broken s4h symlinks across 3 profiles
Deployment pipeline🟡 ManualNo CI/CD, no tests, no health checks
Memory headroom🔴 Critical97% full — no room for new facts
Session management🟡 GrowingAuto-prune disabled, 121 MB and climbing
Workflow tracking🔴 NoneNo artifact handoff tracking or quality gate
Project context🔴 Sparse89% of projects lack context files



Current Architecture Diagram


                            ┌─────────────────────────┐
                            │    Ollama Cloud (GLM-   │
                            │       5.2 / single       │
                            │       provider)          │
                            └────────────┬─────────────┘
                                         │
                                         │  All profiles share
                                         │  one model endpoint
                                         │
              ┌──────────────────────────┴───────────────────────────┐
              │                                                       │
     ┌────────┴────────┐                              ┌──────────────┴──────┐
     │  Linux Host      │                              │  Hermes Agent        │
     │  (richard-lenovo)│                              │  Gateway (Docker)   │
     │                  │                              │  PID 2794494        │
     │  • Portainer     │                              └──────────┬──────────┘
     │  • Traefik       │                                         │
     │  • Pi-hole DNS   │                            ┌────────────┴────────────┐
     │  • traefik-net   │                            │                         │
     └──────────────────┘                     ┌───────┴────────┐     ┌───────┴────────┐
                                              │   Discord      │     │    Slack       │
                                              │   Gateway      │     │    Gateway     │
                                              └───────┬────────┘     └───────┬────────┘
                                                      │                      │
                                                      └──────────┬───────────┘
                                                                 │
                                                    ┌────────────┴────────────┐
                                                    │   DEFAULT (orchestrator) │
                                                    │   119 skills · MEMORY    │
                                                    │   dispatches & delegates  │
                                                    └────────────┬────────────┘
                                                                 │
                    ┌────────────────┬──────────┬───────────────┼───────────────┬──────────┐
                    │                │          │               │               │          │
          ┌─────────┴──────┐ ┌───────┴───────┐ ┌┴──────────────┐ ┌┴──────────────┐ ┌───────┴──────┐
          │  researcher    │ │ backend-coder │ │  factchecker   │ │    writer     │ │   teacher    │
          │  18 skills     │ │  33 skills    │ │  2 skills      │ │  3 skills     │ │  1 skill     │
          │  Brave MCP     │ │  delegation   │ │  Brave MCP     │ │  delegation   │ │  delegation  │
          │  writes→research│ │ writes→code  │ │  inline only   │ │  writes→writing│ │ writes→lessons│
          └────────────────┘ └───────────────┘ └────────────────┘ └───────────────┘ └──────────────┘
                    │                │                                  │                │
                    │                │                    ┌────────────┘                │
                    │                │           ┌────────┴────────┐                    │
          ┌─────────┴──────┐ ┌───────┴───────┐ ┌┴──────────────┐ ┌─┴───────────────┐
          │  music-teach    │ │  thinker      │ │  devops        │ │ frontend-coder  │
          │  5 skills       │ │  278 skills   │ │  10 skills     │ │  18 skills      │
          │  delegation     │ │  MEMORY       │ │  ⛔ NO CONFIG  │ │  ⛔ NO CONFIG   │
          │  writes→lessons │ │  ⚠️ bloat     │ │  CANNOT RUN    │ │  CANNOT RUN     │
          └────────────────┘ └───────────────┘ └────────────────┘ └─────────────────┘

  ───────────────────────────────────────────────────────────────────────────────────────────
  WORKSPACE HANDOFF (~/projects/workspace/)
  ───────────────────────────────────────────────────────────────────────────────────────────
  AGENTS.md  ──→  research/  ──→  writing/  ──→  lessons/  ──→  code/
   conventions    researcher      writer         music-teach    backend-coder
                  writes here     reads→writes   writes here    writes here

  ───────────────────────────────────────────────────────────────────────────────────────────
  DEPLOYMENT (Portainer + Traefik)
  ───────────────────────────────────────────────────────────────────────────────────────────
  code/ ──→ manual Docker build ──→ traefik-public network ──→ {name}.dev.richardkeller.net
  ⚠️ No CI/CD · No tests · No health checks · No rollback

Legend: ⛔ = blocked · ⚠️ = warning · MEMORY = has memory files · delegation = can spawn subagents




1. Executive Summary


10 profiles. 119 skills. 181 sessions. One model. Zero fallbacks.


The Hermes Agent installation runs 10 specialized profiles on a single Ollama Cloud GLM-5.2 instance, coordinated through Discord and Slack gateways on a Linux host. It has grown organically into a sophisticated multi-profile collaboration system — 28 projects, 119 skills, a shared workspace with handoff conventions, and a Portainer/Traefik deployment stack.


Verdict: Functional but fragile.


The core orchestration works. Profiles dispatch, research flows through the workspace, and deployments reach the reverse proxy. But the system has accumulated structural debt:


ProblemImpact
2 profiles cannot start (devops, frontend-coder)No config.yaml → no model, no provider, no dispatch
3 profiles have broken symlinks (writer, teacher, music-teach)s4h skills point to archived paths — 40+ dead links
Thinker loads 278 skillsContext bloat, slow scanning, skill-selection confusion
Zero fallback providersOllama Cloud outage = total system shutdown
Zero cron jobs activeDaily digest and scheduled workflows silently removed
Memory at 97% capacityNo room for new learned facts without pruning
Session DB: 121 MB, growingAuto-prune disabled — unbounded growth
25 of 28 projects lack context filesEvery profile starts blind in those directories

The foundations are solid. The workspace AGENTS.md handoff pattern is well-designed. The rbk-skills symlink approach is sound. The Portainer/Traefik deployment target is production-capable. Profile specialization is logical. These need tightening — not rebuilding.




2. Profile Architecture Analysis


Profile Inventory


ProfileModelConfigSkillsMemoryStatusIssues
defaultglm-5.2119MEMORY + USERRunningMemory at 97% capacity
backend-coderglm-5.233NoneStoppedGood shape — broad skill set
devopsNONE10NoneStoppedCannot run — no config.yaml
factcheckerglm-5.22NoneStoppedMinimal but functional
frontend-coderNONE18NoneStoppedCannot run — no config.yaml
music-teachglm-5.25MEMORYStoppedBroken s4h symlinks
researcherglm-5.218NoneStoppedGood shape — solid skill set
teacherglm-5.21NoneStoppedBroken s4h symlinks, only 1 skill
thinkerglm-5.2278MEMORY + USERStopped278 skills — massive overload
writerglm-5.23NoneStoppedBroken s4h symlinks, minimal skills

Detailed Analysis


default (Orchestrator)


  • Config: Complete. Model glm-5.2 via ollama-cloud. 150 max turns. Reasoning medium. Personality concise.
  • Tools: 13 toolsets enabled (web, terminal, file, code_execution, skills, todo, memory, context_engine, session_search, clarify, delegation, cronjob). Browser disabled.
  • MCP: youtube-transcript + brave-search
  • Memory: MEMORY.md at 97% (2,152/2,200 chars), USER.md at 84% (1,160/1,375 chars). Approaching capacity limits.
  • Verdict: Working well but memory needs pruning. Consider enabling the browser toolset for web automation tasks.
  • backend-coder


  • Config: Complete. Has delegation with max_spawn_depth=1, orchestrator_enabled=true.
  • Skills: 33 skills — strong set covering GitHub workflows, debugging, TDD, microservice architecture, Docker deployment, and Vercel. Includes both coding and review skills.
  • Tools: Same as default plus cronjob. Appropriate for a coder profile.
  • Verdict: Best-configured profile. Ready for production work.
  • devops


  • Config: MISSING — no config.yaml file. The profile has a skills directory (10 skills) but cannot start without model configuration.
  • Skills: Good selection — user-systemd-service-management, hermes-profile-git, network-printer-setup, container-host-service-conflicts, linux-host-troubleshooting, nix-home-manager, code-server-docker, portainer-api, docker-static-site, mcp-server-setup.
  • Verdict: Blocked. Needs hermes -p devops config set to configure model, provider, and toolsets.
  • factchecker


  • Config: Complete. Delegation disabled (max_spawn_depth=0, orchestrator_enabled=false) — correct for a leaf verification profile.
  • Skills: Only 2 (quote-dataset-research, browserless). Minimal but may be sufficient for fact-checking.
  • MCP: brave-search configured — essential for verification work.
  • Verdict: Functional. Could benefit from the humanizer skill for output formatting.
  • frontend-coder


  • Config: MISSING — no config.yaml file. Same issue as devops.
  • Skills: 18 skills — design-system, slides, deploy-to-vercel, ui-ux-pro-max, react view transitions, writing-guidelines, composition-patterns, brand, vercel tools, web-design-guidelines, react-native-skills, banner-design, nextjs-reference, mui-reference, react-best-practices.
  • Verdict: Blocked. Needs config.yaml with model, provider, and toolsets. Skills are solid.
  • music-teach


  • Config: Complete. Has delegation and youtube-transcript MCP.
  • Skills: 5 skills (guitar-tabs, teacher, guitar-tabs-search, chord-diagram-library, songwriting-and-ai-music). Appropriate for music education.
  • Memory: Has chord theory reference archived.
  • Broken symlinks: s4h skill symlinks point to archived paths.
  • Verdict: Mostly functional. Remove broken s4h symlinks or restore the source.
  • researcher


  • Config: Complete. Has delegation, brave-search MCP, cronjob toolset.
  • Skills: 18 skills covering research workflows — arxiv, blogwatcher, polymarket, poetry-search, multi-source-research-reports, printable-research-guides, quote-dataset-research, browserless, monolith, free-clipart-search. Plus GitHub and Obsidian.
  • Verdict: Well-equipped for research. The strongest profile after backend-coder.
  • teacher


  • Config: Complete. Has delegation.
  • Skills: Only 1 skill (teacher). Extremely thin for a teaching profile.
  • Broken symlinks: s4h skill symlinks (cognition, communication) point to archived paths.
  • Verdict: Needs skill expansion and broken symlink cleanup.
  • thinker


  • Config: Complete. Session reset mode: none. Minimal toolsets (file, memory, skills only).
  • Skills: 278 skills — includes ALL built-in skills (every category) PLUS the full s4h toolkit (200+ cognitive/analytical skills). The most overloaded profile by far.
  • Memory: User wants ONLY s4h skills for this profile, but 70+ non-s4h skills are also loaded.
  • Verdict: Severely bloated. Loading 278 skills into context causes slow scanning, high token overhead, and skill-selection confusion. Should be trimmed to s4h-only per user preference.
  • writer


  • Config: Complete. Has delegation.
  • Skills: Only 3 (humanizer, obsidian, writing-workflow). Very minimal.
  • Broken symlinks: 22+ s4h writing skill symlinks point to archived paths.
  • Verdict: Needs broken symlinks removed and skill set expanded. Writing-workflow is good but needs more craft skills.


  • 3. Configuration Gaps


    Critical Gaps


    SettingCurrentImpactFix
    fallback_providers[] (empty)Single point of failure — if Ollama Cloud is down, all profiles stopAdd at least one fallback (e.g., OpenRouter, DeepSeek)
    checkpoints.enabledfalseNo filesystem rollback — destructive commands cannot be undonehermes config set checkpoints.enabled true
    session_reset.modenoneSessions never auto-reset; context grows indefinitelyConsider idle mode with a reasonable timeout
    sessions.auto_prunefalse181 sessions, 121 MB DB, growing foreverhermes config set sessions.auto_prune true
    timezoneemptyCron jobs and timestamps may use server time, not user's CSThermes config set timezone America/Chicago

    Moderate Gaps


    SettingCurrentImpactFix
    verify_on_stopfalseAgent may stop without verifying work is completehermes config set agent.verify_on_stop true
    smart_model_routing.enabledfalseAll tasks use GLM-5.2 regardless of complexityEvaluate enabling for cost/performance optimization
    kanban.orchestrator_profileemptyKanban dispatch configured but no orchestrator assignedSet to default or create a dedicated orchestrator profile
    kanban.default_assigneeemptyNo default worker for kanban tasksAssign backend-coder or researcher as default
    approvals.modemanualEvery destructive command needs manual approval — slows workflowsConsider smart mode for auto-approving low-risk commands
    memory.memory_char_limit2200 (97% full)Cannot add new memory entries without removing old onesIncrease limit or prune stale entries
    memory.user_char_limit1375 (84% full)Approaching capacityIncrease limit or consolidate entries

    Tool Configuration


    SettingCurrentImpactFix
    browser toolsetDisabled in defaultCannot use browser automation for web tasksEnable if browserless container is running
    vision toolsetDisabledCannot analyze imagesEnable if model supports vision input
    delegation.child_timeout_seconds0 (no limit)Subagents can run indefinitelySet to 300–600s for reasonable bounds
    delegation.max_concurrent_children3Good for parallel workNo change needed



    4. Skills Organization


    Current State


    Main profile: 119 skills across 34 top-level directories


  • 14 category directories (autonomous-ai-agents, creative, data-science, devops, email, github, media, mlops, note-taking, productivity, research, smart-home, social-media, software-development)
  • Custom skills via rbk-skills symlink → ~/projects/skills/
  • Bundled skills tracked via .bundled_manifest
  • Curator enabled (168h interval, 30d stale, 90d archive)
  • Thinker profile: 278 skills — ALL built-in + 200+ s4h


  • User preference: "ONLY s4h skills" — but 70+ non-s4h skills also loaded
  • s4h skills are actual directory copies (not symlinks)
  • Original s4h source was moved to ~/projects/_ARCHIVE/, breaking symlinks in other profiles

  • The s4h skill set was originally at ~/projects/skills/s4h/ and symlinked into multiple profiles. The source was moved to ~/projects/_ARCHIVE/us-presidents/skills-for-humanity/skills/s4h/, breaking all symlinks:


    ProfileBroken s4h SymlinksImpact
    writer22+ writing/craft skillsWriter cannot access cognitive writing tools
    teacher8+ cognition/communication skillsTeacher cannot access teaching framework skills
    music-teach10+ communication/cognition skillsMusic teacher lacks analytical tools

    Fix: Either restore s4h to ~/projects/skills/s4h/ or update symlinks to point to the archive location. Thinker has working copies — could copy from there.


    Skill Duplication Analysis


    SkillMainbackend-coderresearcherfrontend-coderdevops
    github-auth✓ (category)
    docker-static-site✓ (category)
    mcp-server-setup✓ (rbk)
    systematic-debugging✓ (category)
    humanizer✓ (category)
    codebase-inspection✓ (category)

    Duplication is expected — profiles have independent skill directories. The real issue is maintenance: when a skill is updated in one location, copies in other profile directories don't automatically update. The rbk-skills symlink pattern in main solves this for custom skills, but profile-level skills are isolated copies.


    Skills Recommendations


    1. Thinker: Remove all non-s4h skills. Keep only the 200+ s4h skills. Drops from 278 → ~210 and eliminates context bloat.
    2. Broken symlinks: Restore s4h source to ~/projects/skills/s4h/ OR update all profile symlinks to point to the archive path.
    3. Writer: Add writing-craft skills beyond the current 3. Consider: s4h-writing-* (once fixed), excalidraw (for diagramming), popular-web-designs (for web content).
    4. Teacher: Add more teaching-specific skills. Currently only has 1 (the teacher skill itself).
    5. Shared skills: Consider a shared skills directory referenced by all profiles via symlink, reducing duplication.



    5. Workflow Analysis


    Current Workflow Architecture


    The workspace at ~/projects/workspace/ serves as the inter-profile handoff point, governed by AGENTS.md:


    ~/projects/workspace/
    ├── research/     →  Researcher writes artifacts here
    ├── writing/      →  Writer reads research, writes drafts here
    ├── lessons/      →  Music-teach writes lessons here
    ├── code/         →  Backend-coder writes code here
    ├── thinker/      →  Thinker outputs
    └── AGENTS.md     →  Handoff conventions

    Handoff Patterns


    FromToMechanismArtifact
    ResearcherWriterFile-basedresearch/{topic}/research-{timestamp}.md with TOC, exec summary, citations, Writer Brief
    WriterFactcheckerInline delegationdelegate_task → verdict + source + evidence
    TeacherWriterFile-basedlessons/{topic}/outline-{timestamp}.md → writer polishes into prose
    Any profileResearcherInline delegationdelegate_task for deep research needs

    Workflow Gaps


    1. No handoff tracking. There's no system to track which artifacts have been consumed by downstream profiles. The writer doesn't know when new research is available without being told.

    2. No quality gate. The workspace AGENTS.md defines where files go, but not quality standards. Research artifacts vary in structure and completeness.

    3. Sequential verification is manual. Memory notes: "Multi-profile verification: SEQUENTIAL not parallel — researcher fact-checks → teacher reviews → writer applies fixes." This works but requires manual orchestration each time.

    4. No build/test handoff. Backend-coder writes to code/ but there's no defined handoff to devops for deployment. No test results, no build artifacts, no deployment manifests.

    5. DevOps profile can't participate. Without config.yaml, the devops profile cannot be dispatched to. All deployment work falls to backend-coder or default.

    6. No project lifecycle. Projects are created ad-hoc. There's no defined flow from idea → research → spec → build → test → deploy → maintain.

    Ideal Workflow


    Idea → Researcher (research/) → Writer (spec doc) → Backend-coder (code/)
      → Test → DevOps (deploy) → Verify → Document

    Each step should:


  • Write to a defined workspace location
  • Signal completion (file marker, notification, or kanban task)
  • Pass a brief to the next profile
  • Include quality criteria


  • 6. Research Pipeline


    Current Flow


    User request
      → Default dispatches researcher
        → Researcher uses Brave Search MCP + web tools
          → Writes artifact to workspace/research/{topic}/
            → Default reviews
              → Writer drafts
                → Factchecker verifies (inline delegation)
                  → Writer revises
                    → Final output

    Strengths


  • Researcher has solid tools: Brave Search MCP, browserless, web search/extract, 18 specialized skills
  • Workspace file convention keeps artifacts organized
  • Factchecker has independent Brave Search MCP for cross-verification
  • Researcher can delegate sub-tasks (orchestrator enabled)
  • Weaknesses


  • No source quality scoring: Researcher collects sources but doesn't systematically rate reliability
  • No deduplication protocol: Multiple research sessions on related topics may repeat work
  • No citation format standard: Artifacts use inline citations but format varies
  • Factchecker has only 2 skills: Limited toolkit for deep verification
  • No session search utilization: 181 past sessions contain research that could be reused, but no one searches them first
  • Researcher has no memory: Each research session starts from scratch — no accumulated knowledge of prior work
  • Research Pipeline Recommendations


    1. Add researcher memory: Give the researcher profile a MEMORY.md to track topics completed, key sources found, and methodological notes.
    2. Standardize artifact format: Enforce a template: Executive Summary → Key Findings → Evidence → Sources → Writer Brief → Quality Notes.
    3. Pre-research check: Always run session_search before starting new research to find prior work.
    4. Expand factchecker skills: Add humanizer, multi-source-research-reports, printable-research-guides to give factchecker more verification tools.
    5. Source scoring: Implement a simple reliability tier (Tier 1: peer-reviewed/official, Tier 2: established media, Tier 3: blogs/secondary) in research artifacts.



    7. Build/Deploy Pipeline


    Current State


    Backend-coder → writes code to ~/projects/{project-name}/ or workspace/code/
      → Manual Docker build → Manual Traefik labels → Manual deploy

    Infrastructure


  • Portainer + Traefik stack running on the host
  • Traefik network: traefik-public (external)
  • DNS: *.dev.richardkeller.net via Pi-hole local DNS
  • Deployment pattern: Docker container joins traefik-public, Traefik routes by Host header
  • Skills available: portainer-traefik-deployment skill documents the full pattern
  • Critical Gap: DevOps Profile Cannot Run


    The devops profile has 10 relevant skills but no config.yaml. This means:


  • Cannot dispatch deployment tasks to the devops profile
  • All deployment work falls to backend-coder or default orchestrator
  • The deployment skill (portainer-traefik-deployment) is in devops's skill directory but the profile can't start
  • Fix:


    hermes -p devops config set model.default glm-5.2
    hermes -p devops config set model.provider ollama-cloud
    hermes -p devops config set model.base_url https://ollama.com/v1
    hermes -p devops config set platform_toolsets.cli '["web","terminal","file","code_execution","skills","todo","memory","session_search","clarify","delegation"]'
    hermes -p devops config set platform_toolsets.discord '["web","terminal","file","code_execution","skills","todo","memory","session_search","clarify","delegation"]'

    Build/Deploy Workflow Gaps


    1. No CI/CD pipeline: No automated build → test → deploy flow. Everything is manual.
    2. No test step: Backend-coder writes code but there's no defined testing phase before deployment.
    3. No deployment tracking: No record of what's deployed where, or when it was last updated.
    4. No rollback plan: If a deployment breaks, there's no automated rollback.
    5. No environment separation: Everything deploys to *.dev.richardkeller.net — no staging vs. production.

    Ideal Build/Deploy Flow


    Backend-coder writes code → Commits to Git → GitHub Actions runs tests
      → If pass: DevOps builds Docker image → Deploys to Traefik
        → Health check verifies → Marks deployment successful
      → If fail: Rollback to previous image

    Build/Deploy Recommendations


    1. Fix devops profile config — immediate priority, unblocks an entire workflow
    2. Add GitHub Actions CI — at minimum, lint + test on push
    3. Create deployment manifest — track what's deployed (container name, hostname, image tag, last deploy date)
    4. Add health checks — every deployed service should have a /health endpoint
    5. Consider staging environmentstaging.dev.richardkeller.net for pre-prod validation



    8. Project Organization


    Current State


    28 projects in ~/projects/:


    CategoryProjectsHas AGENTS.md?
    Active devdaily-digest, notion-sync, clarify-web, bob-cli, browserless-custom1 (daily-digest/CLAUDE.md)
    Researchresearch-site, poetry-search, github-project-analyzer, profile-evaluatorNo
    Infrastructureserver-work, pihole, code-server, my-media-server1 (server-work/CLAUDE.md)
    Dev teamdev-team (backend-coder + frontend-coder skill copies)No
    Musicmusic-learning-resources, tabsNo
    Archive_ARCHIVE, bluetooth-speakerNo
    Workspaceworkspace (multi-profile collaboration)✓ (AGENTS.md)
    Otherart-adapter, docs, plans, skills, temp, youtube-service, external, tiddl-testNo

    Issues


    1. No project context files: 25 of 28 projects lack AGENTS.md, .hermes.md, or CLAUDE.md. When a profile works in these directories, it has no project-specific instructions — leading to inconsistent styles, missed conventions, and repeated explanations.

    2. No project registry: There's no central list of what each project is, its status, or its owner. The Notion Projects DB exists (db_id: 3a77de77-f3ca-801c-9b37-ed8274b0492b) but may not be kept current.

    3. Dev-team skill copies: ~/projects/dev-team/backend-coder/skills/ and ~/projects/dev-team/frontend-coder/skills/ contain duplicate skill copies — separate from the profile skill directories and likely to diverge.

    4. No project lifecycle: Projects are created but never archived or removed. The _ARCHIVE directory exists but is managed manually.

    5. External repos mixed with own projects: ~/projects/external/ contains cloned repos (chatto, superpowers, awesome-copilot) alongside original work.

    Project Organization Recommendations


    1. Add AGENTS.md to every active project: Even a minimal file with project name, purpose, build commands, and conventions. Gives every profile instant context.
    2. Create a project registry: A single file (e.g., ~/projects/PROJECTS.md) listing all projects with status (active/maintenance/archived), purpose, and tech stack.
    3. Separate external repos: Move ~/projects/external/ to ~/external/ or ~/repos/ to keep projects clean.
    4. Archive completed projects: Move bluetooth-speaker, tiddl-test, temp to _ARCHIVE/.
    5. Sync dev-team skills: Either symlink dev-team skills to profile skill dirs or remove the duplicates.



    9. Memory & Session Hygiene


    Memory Status


    MEMORY.md (main profile): 97% full (2,152/2,200 chars)


    Current entries:


  • Custom skills location and symlink pattern
  • Sudo password policy
  • Notion database IDs and tags
  • Node.js conventions
  • Multi-profile verification workflow (sequential)
  • Music download settings
  • 8-profile inventory
  • LAN dev hostname
  • Cron scheduler execution notes
  • Pi SDK notes
  • Code/Notion delegation policy
  • Daily-digest workflow details
  • USER.md (main profile): 84% full (1,160/1,375 chars)


    Current entries:


  • Notion CLI preference
  • CLI tool usage preference
  • Hermes config CLI preference
  • Slack table formatting preference
  • No auto self-improvement posts
  • Documentation style preference
  • CLI output preferences
  • Backend coding delegation
  • Timezone (CST)
  • Literature/poetry context preference
  • Assessment: Memory is well-curated and high-signal. The problem is capacity — at 97%, there's no room for new facts. Several entries could be consolidated:


  • The 8-profile inventory is stale (references "thinker-local" which doesn't exist as a separate profile)
  • Daily-digest workflow details are very specific and could be moved to a skill
  • Pi SDK notes are project-specific and could live in a project AGENTS.md
  • Recommendation: Increase memory_char_limit to 3,000 and user_char_limit to 1,500. Prune the profile inventory (correct it) and move daily-digest details to a skill.


    Session Hygiene


  • 181 total sessions, 10,134 messages, 121.1 MB database
  • Auto-prune disabled — sessions grow indefinitely
  • Retention days: 90 (configured but not enforced)
  • By platform: Discord 61, Slack 23, CLI 2 (plus 95 uncategorized)
  • No vacuum schedule — DB fragmentation increases over time
  • Recommendation: Enable auto-prune with 90-day retention and periodic vacuum:


    hermes config set sessions.auto_prune true
    hermes config set sessions.retention_days 90
    hermes config set sessions.vacuum_after_prune true



    10. Recommendations


    Quick Wins — Do Today


    > These are low-risk, high-impact changes that can be executed in a single session.


    #ActionCommand / StepsImpact
    1Fix devops confighermes -p devops config set model.default glm-5.2 + provider + toolsetsUnblocks deployment workflow
    2Fix frontend-coder configSame pattern as devopsUnblocks frontend development
    3Set timezonehermes config set timezone America/ChicagoCorrect timestamps for cron/logs
    4Enable session auto-prunehermes config set sessions.auto_prune trueStops unbounded DB growth
    5Remove broken s4h symlinksfind ~/.hermes/profiles/{writer,teacher,music-teach}/skills -xtype l -deleteCleans up 40+ dead links
    6Increase memory limitshermes config set memory.memory_char_limit 3000 + user_char_limit 1500Room for new facts
    7Enable checkpointshermes config set checkpoints.enabled trueFilesystem rollback safety

    Short Term — This Week


    #ActionStepsImpact
    8Add fallback providerSet up OpenRouter or DeepSeek as fallbackResilience against Ollama Cloud outages
    9Restore s4h skillsMove back to ~/projects/skills/s4h/ or update symlinks to archive pathWriter/teacher/music-teach get cognitive tools back
    10Trim thinker skillsRemove all non-s4h skills from thinker profile278 → ~210 skills, faster scanning
    11Add AGENTS.md to active projectsCreate minimal context files for daily-digest, notion-sync, clarify-web, bob-cli, research-site, server-workEvery profile gets instant project context
    12Set delegation child timeouthermes config set delegation.child_timeout_seconds 600Prevents runaway subagents
    13Enable verify_on_stophermes config set agent.verify_on_stop trueAgent verifies completion before stopping
    14Expand writer skillsAdd excalidraw, popular-web-designs, writing-craft skillsWriter has more tools for diverse content
    15Expand teacher skillsAdd s4h-cognition, s4h-communication (once fixed), obsidianTeacher has actual teaching frameworks
    16Fix stale memory entriesCorrect profile inventory, move daily-digest to skillAccurate memory, more capacity
    17Set up kanban orchestratorhermes config set kanban.orchestrator_profile defaultEnable multi-profile task queue

    Medium Term — This Month


    #ActionStepsImpact
    18Create project registry~/projects/PROJECTS.md with status, tech stack, owner for all 28 projectsCentral project visibility
    19Standardize research artifact formatCreate template in workspace AGENTS.mdConsistent research quality
    20Add researcher memoryCreate MEMORY.md for researcher profileAccumulated research knowledge across sessions
    21Set up GitHub Actions CILint + test on push for active projectsCatch issues before deployment
    22Create deployment manifestTrack deployed services, hostnames, image tags, last deploy dateDeployment visibility and audit trail
    23Consider smart approvalshermes config set approvals.mode smartAuto-approve low-risk commands, speed up workflows
    24Evaluate smart model routingTest routing simpler tasks to faster/cheaper modelsCost optimization
    25Create staging environmentstaging.dev.richardkeller.net for pre-prodTest before production deploy
    26Implement project lifecycleDefine: idea → research → spec → build → test → deploy → maintainRepeatable project execution
    27Set up deployment health checksEvery service gets /health endpoint + Traefik healthcheck labelsAutomated failure detection
    28Create shared skills directoryCommon skills symlinked into all profilesReduce duplication, single source of truth
    29Separate external reposMove ~/projects/external/ to ~/repos/Clean project directory
    30Enable browser toolsetEnable in default profile if browserless is runningWeb automation capability

    Priority Summary


      IMMEDIATE (today)    ████████████████████  7 items  — unblock profiles, stop data growth
      SHORT TERM (week)    █████████████████████ 10 items — resilience, cleanup, expansion
      MEDIUM TERM (month)  █████████████████████ 13 items — CI/CD, lifecycle, optimization



    Appendix A: System Configuration Snapshot


    Model:          glm-5.2 via ollama-cloud
    Host:           Linux 6.8.0-134-generic (richard-lenovo)
    Gateway:        Docker foreground, PID 2794494
    Platforms:      Discord (home: 1519153032531804260), Slack (home: C0BFN5PN9EZ)
    MCP Servers:    youtube-transcript, brave-search
    Sessions:       181 total, 121.1 MB DB
    Skills:         119 installed (main profile)
    Profiles:       10 (8 with config, 2 without)
    Cron Jobs:      0 active
    Memory:         MEMORY.md 97% full, USER.md 84% full

    Appendix B: Profile Skill Counts


    thinker:         278  (ALL built-in + 200+ s4h)
    default:         119  (all shared skills)
    backend-coder:    33
    researcher:       18
    frontend-coder:   18
    devops:           10
    music-teach:       5
    writer:            3
    factchecker:       2
    teacher:           1

    Appendix C: Deployment Infrastructure


    Reverse Proxy:   Traefik (via Portainer stack)
    Docker Network:  traefik-public (external)
    DNS:             Pi-hole local DNS for *.dev.richardkeller.net
    Pattern:         Container joins traefik-public, routes by Host header
    Hostname Format: {name}.dev.richardkeller.net



    Report generated July 24, 2026 by Hermes Agent (default profile) with researcher profile assistance.

    Report generated July 24, 2026 by Hermes Agent (default profile) with researcher profile assistance.

    Deployed to reports.dev.richardkeller.net via Portainer + Traefik stack.