Autonomous Agent Harness
affaan-m/ECC
Transform Claude Code into a fully autonomous agent system with persistent memory, scheduled operations, computer use, and task queuing.
Autonomously compute the gap between an ideal-state doc and the codebase, then file the next work issues, a report on what needs discussion, or both.
$ npx skills add rome-os/rome --skill loop-reconcile -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rome-os/rome loop-reconcile --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rome-os/rome.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/loop-reconcile .claude/skills/loop-reconcile && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "loop-reconcile" agent skill from https://github.com/rome-os/rome/tree/main/.claude/skills/loop-reconcile into .claude/skills/loop-reconcile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-reconcile", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rome-os/rome/tree/main/.claude/skills/loop-reconcileType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rome-os/rome --skill loop-reconcile -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rome-os/rome loop-reconcile --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rome-os/rome.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/loop-reconcile .agents/skills/loop-reconcile && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "loop-reconcile" agent skill from https://github.com/rome-os/rome/tree/main/.claude/skills/loop-reconcile into .agents/skills/loop-reconcile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-reconcile", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rome-os/rome --skill loop-reconcile -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rome-os/rome loop-reconcile --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rome-os/rome.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/loop-reconcile .cursor/skills/loop-reconcile && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "loop-reconcile" agent skill from https://github.com/rome-os/rome/tree/main/.claude/skills/loop-reconcile into .cursor/skills/loop-reconcile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-reconcile", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rome-os/rome.git --path .claude/skills/loop-reconcile--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rome-os/rome --skill loop-reconcile -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rome-os/rome loop-reconcile --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rome-os/rome.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/loop-reconcile .gemini/skills/loop-reconcile && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "loop-reconcile" agent skill from https://github.com/rome-os/rome/tree/main/.claude/skills/loop-reconcile into .gemini/skills/loop-reconcile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-reconcile", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rome-os/rome loop-reconcileInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rome-os/rome --skill loop-reconcile -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rome-os/rome.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/loop-reconcile .github/skills/loop-reconcile && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "loop-reconcile" agent skill from https://github.com/rome-os/rome/tree/main/.claude/skills/loop-reconcile into .github/skills/loop-reconcile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-reconcile", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rome-os/rome --skill loop-reconcile -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rome-os/rome loop-reconcile --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rome-os/rome.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/loop-reconcile .opencode/skills/loop-reconcile && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "loop-reconcile" agent skill from https://github.com/rome-os/rome/tree/main/.claude/skills/loop-reconcile into .opencode/skills/loop-reconcile/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loop-reconcile", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
loop-reconcileAutonomously compute the gap between an ideal-state doc and the codebase, then file the next work issues, a report on what needs discussion, or both.
Loop Reconcile is an agent skill from rome-os/rome. Autonomously compute the gap between an ideal-state doc and the codebase, then file the next work issues, a report on what needs discussion, or both.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: A compounding agent OS for recursive agents. Also an open source alternative to Grok Bot and Meta's Muse. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ed26d88. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Loop Reconcile loads about 1.6k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 949 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from rome-os/rome at commit ed26d88, republished under its MIT licence (© rome-os). 949 words, ~1,556 tokens.
.claude/skills/loop-reconcile/SKILL.md (or your agent's skills folder).Goal end-state: every deliverable chunk the run can scope exists as issues, awaiting ready-for-agent, and one report explains whatever it could not scope.
This is the autonomous half of the reconciliation loop. When launched from a session, run it in a background agent. It runs headless: never ask the user a question mid-run. Every ambiguity resolves to a report, never to something plausible. Every report reads standalone on GitHub and never depends on chat context.
All work state lives in the GitHub repository itself: issues, labels, and milestones. No project board. Every issue this skill files carries two labels: loop-reconcile, the mark that the loop owns it, and a scope label loop:<doc-stem> naming its source doc — loop:people for docs/northstars/people.md. A report is an issue too, and it carries loop-complete or loop-needs-discussion on top of those two. If a label is missing from the repository, create it.
Args: an ideal-state doc under docs/northstars/, and optionally a repository milestone.
loop-needs-discussion report and stop. The doc wins on intent, and a milestone that fell behind it needs a session, not work.| Source | Role | Authority |
|---|---|---|
| Ideal-state doc | What should be | Wins on intent |
| Codebase | What is | Wins on facts |
| Issue tracker | What is in flight | None — it gates and remembers |
ready-for-agent and fixes the doc.loop-reconcile plus this run's scope label and not ready-for-agent.ready-for-agent, create or advance milestones, close an issue labeled ready-for-agent, touch an issue outside this run's scope label, or edit the ideal-state doc.ready-for-agent and milestones change only by human hand.loop-reconcile and this run's scope label.ready-for-agent or is in progress, file nothing. Print a pointer to it and stop.ready-for-agent, re-check each against the gap computed below. If they hold, stop. If they are stale, revise or withdraw them, then continue.loop-needs-discussion report naming the statements, and file nothing else. The doc gets fixed in a loop-northstar session, never by this run.loop-complete report walking each statement with its evidence and naming what it checked — the doc, or the milestone. Never advance to the next milestone.loop-needs-discussion report for every question the walk could not answer and every chunk the cap left out. Chunks and a report are one run's ordinary output, not alternatives.The size of a gap decides how much of it a run files. It never decides whether the run files anything.
A report names the statements it questions. Every other statement the walk covered is unquestioned, and a chunk serving only unquestioned statements is filable while that report is open.
ready-for-agent.loop-northstar session then reviews a draft rather than redesigning from the problem.ready-for-agent.© rome-os, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/loop-reconcile of rome-os/rome.
Open the folder on GitHubat commit ed26d88
Loop Reconcile next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Loop Reconcile this skillrome-os/rome | 725 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Autonomous Agent Harnessaffaan-m/ECC | 275k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Autonomous Loopsaffaan-m/ECC | 275k | 4 repos | ~5.8k | Automated safety check: Pass | MIT | |
| Phoenix Docs Gap AuditArize-ai/phoenix | 12k | — | ~4.8k | Automated safety check: Pass | Custom licence | |
| Docnexu-io/open-design | 100k | — | ~266 | Automated safety check: Pass | Apache-2.0 | |
| Docsremotion-dev/remotion | 62k | — | ~248 | Automated safety check: Pass | Custom licence |
affaan-m/ECC
Transform Claude Code into a fully autonomous agent system with persistent memory, scheduled operations, computer use, and task queuing.
affaan-m/ECC
Patterns and architectures for autonomous Claude Code loops — from simple sequential pipelines to RFC-driven multi-agent DAG systems.
Arize-ai/phoenix
Audit documentation gaps across the Phoenix repo by analyzing recent commits to main (default: last 7 days).
nexu-io/open-design
Read, create, and edit .docx documents with formatting and layout fidelity via OpenAI's document skill.
remotion-dev/remotion
Start the Remotion docs site and open it in the Codex browser.
vercel/next.js
This skill should be used when the user asks to "update documentation for my changes", "check docs for this PR", "what docs need updating", "sync docs with code", "scaffold docs for this feature"…
rome-os/rome
Audit a design system's color palette against measurable color-science disciplines — WCAG/APCA contrast of declared token pairs, perceptual (OKLCH) ramp uniformity, color-blindness safety of…
rome-os/rome
Audit the subordinate copy in a UI — section descriptions, field helper text, hints, card subtitles, empty-state body copy, tooltip bodies — against the secondary-text ruleset, and emit a per-string…
rome-os/rome
Audit an existing UI/UX design (React/JSX/TSX components, HTML, or generated app code) against a tiered ruleset of verifiable UX principles, and produce structured, evidence-cited findings that a…
rome-os/rome
Add a new Rome-managed OAuth integration for a third-party service so a user can delegate access by clicking Connect, and Rome can act on the service with the delegated token (the GitHub/Slack model…
rome-os/rome
Help users operate the published Composio CLI to find the right tool, connect accounts, inspect schemas, execute tools, subscribe to trigger events with composio listen, script workflows with…
rome-os/rome
File one GitHub issue from a description the user gives — classify it as a bug report, feature request, or task spec, gather what the body needs from the tracker and the code, ask the user only for…
Autonomously compute the gap between an ideal-state doc and the codebase, then file the next work issues, a report on what needs discussion, or both. Loop Reconcile is an agent skill from rome-os/rome. Autonomously compute the gap between an ideal-state doc and the codebase, then file the next work issues, a report on what needs discussion, or both.
Run `npx skills add rome-os/rome --skill loop-reconcile -a claude-code`. Or copy the skill folder (.claude/skills/loop-reconcile in rome-os/rome) into .claude/skills/loop-reconcile in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rome-os/rome --skill loop-reconcile -a codex`. Or copy the skill folder (.claude/skills/loop-reconcile in rome-os/rome) into .agents/skills/loop-reconcile in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rome-os/rome --skill loop-reconcile -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/loop-reconcile, .gemini/skills/loop-reconcile, .github/skills/loop-reconcile and .opencode/skills/loop-reconcile in your project.
SKILL.md names no scripts, command-line tools or credentials: Loop Reconcile is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Loop Reconcile is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Loop Reconcile: Autonomous Agent Harness (affaan-m/ECC, 275k stars), Autonomous Loops (affaan-m/ECC, 275k stars), Phoenix Docs Gap Audit (Arize-ai/phoenix, 12k stars) and Doc (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rome-os (a GitHub organization) maintains it in rome-os/rome, which has 725 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 8, 2026.
Source: rome-os/rome on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.