How teixeirazeus/fablize-for-hermes works
1. This repository is not an application runtime; it is an agent-discipline package for Hermes Agent. Its architecture is centered on three delivery surfaces: a Hermes skill, a standalone goal-tracking script, and setup/uninstall automation.
2. The core behavioral layer lives in skills/fablize/SKILL.md. That skill is the primary “control plane” for the repository: it encodes always-on operating rules, multi-story completion discipline, debugging procedure, verification grounding, and escalation limits. Hermes loads this skill and applies its instructions during agent sessions.
3. The second major subsystem is scripts/goals.py, a self-contained Python CLI built only on the standard library. It provides the procedural state machine for multi-story work: create goals, advance through the next story, checkpoint completion, and report status. It persists session state under ~/.hermes/fablize/, which makes the goal workflow survive agent/session restarts.
4. The repository’s data flow is intentionally simple: the skill tells the agent how to behave; the agent uses goals.py when a task contains multiple stories or requires verification gates; goals.py writes and reads persistent goal state; the agent then uses that state as evidence for progression and completion. The script does not manage orchestration by itself—it is a stateful helper invoked by the agent.
5. The packs/ directory contains contextual discipline files that the skill can reference. verification-grounding-pack.txt defines the run/observe/fix/re-run loop for artifacts that can be executed or rendered, while investigation-protocol.txt defines the debugging workflow for reproducing issues, forming competing hypotheses, and verifying causal chains. These are supporting knowledge modules, not executable components.
6. The setup/ directory provides installation and removal boundaries for the whole system. setup.sh installs the Hermes skill and can optionally inject an operating block into local or global agent config files; uninstall.sh reverses those changes. The setup layer is the only part that touches environment-level integration, but it does not contain application logic.
7. There is an explicit separation between portable repo assets and persisted runtime state. Repository files define behavior and tooling; runtime goal state lives outside the repo in the Hermes home directory. That boundary matters for architecture diagrams because it shows which parts are version-controlled content versus session-independent operational data.
8. The project includes a small test boundary in tests/test_goals.py, which likely validates the CLI goal engine’s behavior. Combined with Makefile, this suggests the repo treats goals.py as the only executable component worth unit testing, while the skill and packs are mostly static content.
9. .github/workflows/ci.yml provides the continuous-integration boundary. In this repo, CI is mainly about validating the script/test surface and ensuring the packaged discipline files remain consistent, rather than deploying a service or building an artifact.
10. The README and its localized variants are part of the product surface: they explain how the skill is used, how the goal engine is invoked, and how installation changes the surrounding Hermes environment. For an architecture diagram, these docs sit at the user-facing entrypoint, not in the execution path.
11. The system’s main external integration point is Hermes Agent itself. Unlike the original Claude Code version, this port relies on Hermes skill loading and optional agent-config injection rather than hooks or a plugin runtime. That makes the architecture “instruction + helper script + environment setup,” not “plugin + hook callbacks.”
12. Overall, the repo is a thin but layered control package: static behavioral policy in the skill, procedural state management in Python, contextual guidance in packs, and environment wiring in shell scripts. The key flow is agent session → load skill → optionally call goal engine → persist/checkpoint state → verify completion before finalizing work.
Main entry points: goals.py Goal CLI · SKILL.md Fablize skill · README.md README · setup.sh Setup script
Components 17
External runtime
Hermes Agent and the persisted home-directory state outside the repo.
- Hermes Agent · The consuming agent platform that loads the skill and invokes the helper script.
- Hermes state · Goal state persisted outside the repo under the Hermes home directory.
Entry surfaces
User-facing documentation and the setup boundary.
- Setup script · Installs the skill and can inject an operating block into agent config files.
setup/setup.sh - Uninstall script · Reverses the setup-time environment integration changes.
setup/uninstall.sh - Star script · Additional setup-related shell entrypoint shipped with the installer boundary.
setup/star.sh - Agent block · Installable operating block used to integrate with local or global agent configuration.
setup/fablize-block.md
Behavior layer
Repo content that defines operating rules and contextual guidance.
- Fablize skill · Primary control plane: always-on discipline, multi-story flow, verification rules, and escalation limits.
skills/fablize/SKILL.md - Quickstart · Short reference for the skill's operating workflow.
skills/fablize/references/workflow-quickstart.md - Verification pack · Run/observe/fix/re-run grounding for executable or renderable artifacts.
packs/verification-grounding-pack.txt - Investigation pack · Debugging workflow for reproduction, competing hypotheses, and causal verification.
packs/investigation-protocol.txt
Goal tooling
Executable helper and its tests.
- Goal CLI · Standard-library CLI for creating goals, advancing stories, checkpointing, and reporting status.
scripts/goals.py
Validation
CI and local validation surface.
- Goal tests · Test boundary for the goal engine behavior.
tests/test_goals.py - CI workflow · Repository CI boundary for validating the script and packaged discipline files.
.github/workflows/ci.yml - Makefile · Convenience entrypoint for repository checks and scripted workflows.
Makefile
Connections 23
- Hermes Agent → Fablize skill: loads · Hermes loads the skill as the primary operating policy.
- Fablize skill → Goal CLI: invokes · The skill directs the agent to use the CLI for multi-story work and checkpoints.
- Goal CLI → Hermes state: persists · Goal/session state is written under the Hermes home directory.
- Hermes state → Goal CLI: restores · The CLI reads persisted state so work survives restarts.
- Fablize skill → Verification pack: references · The skill can consult grounding rules for run/observe/fix/re-run loops.
- Fablize skill → Investigation pack: references · The skill can consult the debugging protocol for issue reproduction and verification.
- Fablize skill → Quickstart: guides · The workflow reference supports the skill's operating procedure.
- Setup script → Fablize skill: installs · Setup installs the skill into the Hermes environment.
- Setup script → Agent block: can inject · Setup may add the agent operating block to local or global config.
- Setup script → Hermes Agent: integrates with · Setup targets Hermes environment integration rather than an in-repo runtime.
- Uninstall script → Agent block: removes · Uninstall reverses the injected configuration boundary.
- Uninstall script → Fablize skill: uninstalls · Uninstall removes the installed skill from the Hermes environment.
- Goal CLI → Goal tests: validated by · The CLI behavior is covered by unit tests.
- Goal CLI → CI workflow: checks · CI is expected to exercise the executable helper surface.
- Makefile → Goal CLI: drives · Makefile provides a convenient local entrypoint for the helper workflow.
- CI workflow → Goal tests: runs · CI validates the test boundary for the goal engine.
- README → Fablize skill: documents · README explains the skill-centric operating model.
- README → Goal CLI: documents · README explains how to invoke the goal engine.
- README → Setup script: documents · README explains installation and environment integration.
- README PT → README: localizes · Portuguese variant of the main guide.
- README ZH → README: localizes · Chinese variant of the main guide.
- Verification pack → Goal CLI: supports · The verification loop supports deciding when a story can be closed.
- Investigation pack → Goal CLI: supports · The debugging protocol supports diagnosing failures before progression.