Skip to the content.

Prior art: what to steal, what to fix

Surveyed 2026-07. Three implementations studied before writing Kelix code.

1. ralph-orchestrator (github.com/mikeyobrien/ralph-orchestrator)

Rust CLI (ralph-cli), MIT, ~3k stars. The most complete open implementation.

What it does: ralph init --backend <agent> / ralph plan (interactive spec-authoring session that writes .ralph/specs/<feature>/requirements.md, design.md, implementation-plan.md) / ralph run -p "<prompt>" loops until the agent outputs LOOP_COMPLETE or hits the iteration limit. Supports many backends (Claude Code, Kiro, Gemini CLI, Codex, Amp, Copilot, OpenCode). Adds a “hat system” (personas coordinating through events), backpressure gates (tests/lint/typecheck reject incomplete work), persistent “memories & tasks”, a web dashboard, Telegram human-in-the-loop, and an MCP server mode scoped to one workspace root per instance.

Steal:

Fix / avoid:

2. Official Anthropic ralph-loop plugin (anthropics/claude-plugins-official)

A Claude Code plugin (also seen as ralph-wiggum in anthropics/claude-code). /ralph-loop "<prompt>" --max-iterations N --completion-promise "DONE" starts a loop inside the current session: a Stop hook intercepts session exit, re-feeds the same prompt (decision: block, reason: <prompt>), and counts iterations in a project-scoped state file (.claude/ralph-loop.local.md) with session-id isolation. Completion is signalled by the agent emitting <promise>DONE</promise> — with an explicit warning “ONLY when statement is TRUE - do not lie to exit!”.

Steal:

Fix / avoid:

3. Hermes Agent (github.com/NousResearch/hermes-agent)

Nous Research’s self-improving agent. Long-lived process with a closed learning loop: autonomous skill creation after complex tasks, skills that self-improve during use, agent-curated memory with periodic nudges, FTS5 search over past sessions, layered memory (working / episodic / long-term semantic via Honcho user modeling), subagent delegation, and compatibility with the agentskills.io open standard (SKILL.md + YAML frontmatter — the same format Kiro CLI loads natively from .kiro/skills/).

Steal (adapted to stateless loops):

Fix / avoid:

Synthesis: Kelix’s position

Dimension ralph-orchestrator ralph-loop plugin Hermes Kelix
Loop process external runner in-session hook long-lived external runner, fresh process each iteration
Completion output sentinel promise string n/a sentinel and runner-verified evidence
Memory flat memories none layered, in-process layered, in files, budget-capped
Skills n/a n/a agentskills.io, self-improving agentskills.io files, loop-driven acquisition
Multi-agent hats/events in-process no subagents in-process independent loops + files + git only
Verification backpressure gates none agent judgment config-declared verify commands enforced by runner