hermes atlas
185·repos hermes·v0.18.0 ★ star this repo

teixeirazeus/fablize-for-hermes

This project adapts fablize's verified procedures — verification grounding, multi-story evidence gating, investigation protocol, and early-stop prevention.

★ 5 langPython licenseMIT updated2026-06-17

fablize-for-hermes is a port of the fablize procedure system designed to improve task completion and verification within the Hermes Agent ecosystem. It implements a structured behavioral ruleset that enforces multi-step task decomposition, evidence-based checkpoints, and systematic investigation protocols for debugging. By utilizing a Python-based goal engine and specific verification packs, the project ensures agents ground their claims in tool results rather than ending tasks prematurely. This framework helps maintain procedural discipline during complex coding, UI rendering, and logic tasks.

  • Implements multi-story task decomposition with mandatory evidence-based verification gates.
  • Provides a systematic investigation protocol for reproduction and causal debugging.
  • Includes a Python goal engine for persistent task state management.
full readme from github

English · 简体中文 · Português (BR)

fablize-for-hermes — run like Fable, on Hermes Agent

Banner License: MIT

A port of fablize for the Hermes Agent ecosystem. This project adapts fablize's verified procedures — verification grounding, multi-story evidence gating, investigation protocol, and early-stop prevention — from Claude Code's plugin system to Hermes Agent's skill system.

fablize makes any agent see a task through to the end — with evidence and verification — as procedure, not as luck.

The origin

fablize was born from a controlled comparison of Claude Opus and "Fable 5" (19 A/B runs + 26 real sessions, ~1,500 tool calls). The finding: on closed, answer-bearing work (code, logic, builds) the two models were effectively tied. The gap was in depth — following an implication one step further — and that turned out to be model capability, not injectable.

But the procedure of good work — actually running what you build, decomposing multi-step tasks with evidence checkpoints, investigating bugs systematically — does transfer. fablize ships only the procedures whose effect was verified.

What transfers and what doesn't

Trait Transferable? How fablize-for-hermes does it
Verification grounding (run & observe the artifact) Skill section 3 — run in real renderer, observe output, fix, re-run
Multi-story completion + evidence gate scripts/goals.py — decompose, checkpoint, refuse completion without proof
Systematic investigation (reproduce → hypotheses → causal chain) Skill section 2 + packs/investigation-protocol.txt
Early-stop prevention Skill foundation rule: no promises without tool calls
Out-of-spec defect discovery ❌ not possible Capability — the model finds it, or it doesn't
Open-ended creative detail ❌ not possible Capability — shows only where there is no fixed answer
Self-driven propagation depth ❌ not possible Capability — directed propagation transfers; self-started depth does not

What's included

1. Hermes Agent skill (skills/fablize/SKILL.md)

The core behavioral ruleset, structured as a Hermes Agent skill (YAML frontmatter + markdown). Covers:

  • Foundation rules — always-on: lead with outcome, ground claims in tool results, no early stops, confirm destructive actions
  • Multi-story loop — decompose 2+ story tasks → complete with evidence → verification gate on the final story
  • Deep investigation — reproduce → 3+ competing hypotheses → trace causal chain → verify before/after → report rejected hypotheses
  • Verification grounding — run render/executable artifacts, observe, fix, re-run before declaring done
  • Capability ceiling — escalate honestly when the model's ceiling is the blocker

2. Goal engine (scripts/goals.py)

A self-contained, stdlib-only Python script for multi-story decomposition with a verification gate. State persists in ~/.hermes/fablize/ and survives session death.

goals.py create --brief "Build a dashboard" \
  --goal "design::Create the HTML layout" \
  --goal "implement::Add chart visualizations" \
  --goal "verify::Run and verify the dashboard renders correctly"
goals.py next
# ... work this story ...
goals.py checkpoint --id G001 --status complete --evidence "Layout created with sidebar and main panel"
goals.py status

3. Packs — contextual discipline files

  • packs/verification-grounding-pack.txt — The grounding loop: run, observe, fix, re-run. For HTML, SVG, games, UI, charts, animations.
  • packs/investigation-protocol.txt — The systematic debugging protocol: reproduce, competing hypotheses, causal chain, verify before/after.

4. Setup scripts (setup/)

  • setup.sh [--skill-only|--local|--global] — Install the skill into Hermes and optionally inject the operating block into AGENTS.md or CLAUDE.md
  • uninstall.sh [--skill-only|--local|--global|--all] — Reverse the setup

Differences from original fablize

Aspect fablize (original) fablize-for-hermes
Platform Claude Code plugin Hermes Agent skill
Routing UserPromptSubmit hook via hooks.json Skill content — agent loads and applies matching discipline
Early-stop finish-the-work.sh Stop hook (JSON transcript) Foundation rule in skill — agent self-enforces
State dir ./.fablize/ (per-project) ~/.hermes/fablize/ (Hermes-wide, survives sessions)
Scripts In scripts/ — run from repo root Same scripts, adapted for Hermes paths
Setup Injects into CLAUDE.md Installs as Hermes skill + optionally injects block

Install

Quick install (skill only)

git clone https://github.com/teixeirazeus/fablize-for-hermes.git
cd fablize-for-hermes
bash setup/setup.sh --skill-only

Then load the skill in your Hermes session:

skill_view(name='fablize')

Full install (skill + always-on block)

bash setup/setup.sh --local    # injects block into ./AGENTS.md
bash setup/setup.sh --global   # injects block into ~/.claude/CLAUDE.md

Uninstall

bash setup/uninstall.sh --all

How it behaves

  • Trigger: load the fablize skill, or trigger inline when the agent detects 2+ stories, debugging, or render artifacts
  • 2+ stories → decompose + verification gate via goals.py
  • Debugging → investigation protocol (reproduce → hypotheses → causal chain)
  • Render artifact → verification grounding (run → observe → fix → re-run)
  • Hard task → adaptive thinking + escalate to stronger model if stuck
  • Capability ceiling → escalate honestly (the harness does not fake capability)

Honest limits

  • It cannot raise model capability. Open-ended creative quality and self-driven discovery are out of reach — that is a model-choice decision, not a harness one.
  • The effect numbers come from the original fablize small-family self-measurement. The direction is solid; the decimals are not asserted.
  • The early-stop rule relies on agent self-enforcement, not a deterministic hook. It is a guideline, not a guard.

License

MIT — same as the original fablize. The upstream fablize by fivetaku is MIT licensed. This port adapts the design and procedures to the Hermes Agent ecosystem.