Agent Goal Planner
ruvnet/ruflo
Agent skill for goal-planner - invoke with $agent-goal-planner
Generic audit/fix loop. An agent skill from filedcom/opentax.
$ npx skills add filedcom/opentax --skill audit-harness -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install filedcom/opentax audit-harness --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/filedcom/opentax.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/audit-harness .claude/skills/audit-harness && 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 "audit-harness" agent skill from https://github.com/filedcom/opentax/tree/main/.claude/skills/audit-harness into .claude/skills/audit-harness/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-harness", 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/filedcom/opentax/tree/main/.claude/skills/audit-harnessType 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 filedcom/opentax --skill audit-harness -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install filedcom/opentax audit-harness --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/filedcom/opentax.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/audit-harness .agents/skills/audit-harness && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "audit-harness" agent skill from https://github.com/filedcom/opentax/tree/main/.claude/skills/audit-harness into .agents/skills/audit-harness/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-harness", 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 filedcom/opentax --skill audit-harness -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install filedcom/opentax audit-harness --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/filedcom/opentax.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/audit-harness .cursor/skills/audit-harness && 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 "audit-harness" agent skill from https://github.com/filedcom/opentax/tree/main/.claude/skills/audit-harness into .cursor/skills/audit-harness/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-harness", 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/filedcom/opentax.git --path .claude/skills/audit-harness--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 filedcom/opentax --skill audit-harness -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install filedcom/opentax audit-harness --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/filedcom/opentax.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/audit-harness .gemini/skills/audit-harness && 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 "audit-harness" agent skill from https://github.com/filedcom/opentax/tree/main/.claude/skills/audit-harness into .gemini/skills/audit-harness/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-harness", 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 filedcom/opentax audit-harnessInstalls 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 filedcom/opentax --skill audit-harness -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/filedcom/opentax.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/audit-harness .github/skills/audit-harness && 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 "audit-harness" agent skill from https://github.com/filedcom/opentax/tree/main/.claude/skills/audit-harness into .github/skills/audit-harness/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-harness", 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 filedcom/opentax --skill audit-harness -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install filedcom/opentax audit-harness --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/filedcom/opentax.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/audit-harness .opencode/skills/audit-harness && 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 "audit-harness" agent skill from https://github.com/filedcom/opentax/tree/main/.claude/skills/audit-harness into .opencode/skills/audit-harness/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "audit-harness", 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.
audit-harnessGeneric audit/fix loop. An agent skill from filedcom/opentax.
Audit Harness is an agent skill from filedcom/opentax. Generic audit/fix loop. Pass a goal string. Planner subdivides work, auditor/fixer teams run in parallel, loop until 2 consecutive clean cycles.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `agents/auditor.md`, `agents/fixer.md` and `agents/planner.md`).
The repository describes itself as: Fully open-source US federal tax engine. Single binary cli. Runs on macOS, Linux, and Windows. Built for AI agents using AI agents. The licence is AGPL-3.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0c6ae76. 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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
Audit Harness loads about 1.8k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 776 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 filedcom/opentax at commit 0c6ae76, republished under its AGPL-3.0 licence (© filedcom). 776 words, ~1,797 tokens.
.claude/skills/audit-harness/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Goal: $ARGUMENTS
Generate a run_id: take the first 5 words of $ARGUMENTS, lowercase, replace spaces with hyphens, append today's date as -YYYYMMDD. Example: "ensure compute functions handle edge" → ensure-compute-functions-handle-edge-20260411.
Read .state/audit/state.json. If the file does not exist, create it:
{"version": 1, "runs": {}}Check if runs[run_id] exists:
status === "done" → print "Run already completed." and stop.status === "stalled" → print "Run stalled previously. Reset status to 'running' in state.json to retry." and stop.status === "running" → resume from current global_cycle (skip to Step 2 if work_packages exist, otherwise Step 2 will re-plan).{
"goal": "$ARGUMENTS",
"status": "running",
"created_at": "<ISO timestamp>",
"global_cycle": 0,
"global_clean_count": 0,
"checkpoint_commit": null,
"work_packages": [],
"cycles": []
}Write state.json.
git add -A && git status --porcelainIf there are uncommitted changes, commit them:
git commit -m "audit-harness: checkpoint before run {run_id}"Record the current HEAD SHA as checkpoint_commit in the run entry. Write state.json.
Spawn one agent using the prompt from .claude/skills/audit-harness/agents/planner.md.
Pass as context in the agent prompt:
goal: The full $ARGUMENTS stringmode: "plan"state: The full run entry JSON (so planner can see prior cycles if resuming)Wait for the planner to complete. Find the line starting with PLANNER_RESULT: in its output. Parse the JSON after the prefix.
Expected shape:
{"action": "plan", "work_packages": [...]}Write the work_packages array into the run entry (merge with existing if resuming — keep packages that are already "done"). Increment global_cycle. Write state.json.
Collect all work_packages where status !== "done" (i.e., clean_count < 2).
For each active package, spawn one agent using .claude/skills/audit-harness/agents/auditor.md.
Pass as context in each agent prompt:
goal: $ARGUMENTSwork_package: The full package object (id, area, description, scope_files)mode: "audit"prior_findings: The package's findings array (so auditor avoids re-reporting fixed issues)Spawn ALL auditor agents in a SINGLE message (parallel execution).
Wait for all to complete. For each, find the AUDITOR_RESULT: line and parse the JSON.
Collect all packages where the auditor returned clean === false (has findings).
For each package with findings, spawn one agent using .claude/skills/audit-harness/agents/fixer.md.
Pass as context:
goal: $ARGUMENTSwork_package: The package objectfindings: The findings array from the auditorSpawn ALL fixer agents in a SINGLE message (parallel execution).
Wait for all to complete. Parse each FIXER_RESULT: output.
For each package where the fixer applied at least one fix (applied === true), spawn one agent using .claude/skills/audit-harness/agents/auditor.md.
Pass as context:
goal: $ARGUMENTSwork_package: The package objectmode: "verify"fixes_applied: The fixes array from the fixer outputSpawn ALL verification agents in a SINGLE message (parallel execution).
Wait for all to complete. Parse each AUDITOR_RESULT: output.
For each work_package:
Determine final audit result for this cycle:
clean === true) → clean cycleclean === true → clean cycleUpdate the package:
clean_count by 1clean_count to 0Append new findings to the package's findings array with the current cycle number. Mark fix_applied and fix_verified based on fixer and verification results.
If clean_count >= 2: set package status to "done".
Record a cycle summary in the cycles array:
{
"cycle": <global_cycle>,
"total_findings": <sum of all findings across packages>,
"packages_active": <count of non-done packages at start>,
"packages_clean": <count that had clean cycles>,
"commit": null
}Write state.json.
git diff --statIf there are changes:
git add -A
git commit -m "audit-harness: {run_id} cycle {global_cycle} — {N} findings fixed"Update the last cycle entry's commit field and checkpoint_commit in the run. Write state.json.
If there are no changes (all fixers skipped or no findings), skip the commit.
First, check short-circuit: If ALL work_packages have status === "done", skip the planner and go directly to Step 7.
Otherwise, spawn one agent using .claude/skills/audit-harness/agents/planner.md.
Pass as context:
goal: $ARGUMENTSmode: "review"state: The full run entry JSON (including updated cycles and work_packages)Wait for the planner. Parse PLANNER_RESULT: JSON.
Handle the result:
If action === "done":
If action === "continue":
adjustments from the planner:{"type": "add", "package": {...}} → append to work_packages{"type": "remove", "package_id": "wp-03"} → remove the package{"type": "update", "package_id": "wp-02", ...} → merge updates into the packageSet the run's status to "done". Set updated_at to current timestamp. Write state.json.
Append a summary to .state/audit/progress.md:
## [{run_id}] Complete — {timestamp}
- Goal: {goal}
- Cycles: {global_cycle}
- Total findings fixed: {sum across all packages}
- Packages: {count} ({list of areas})
- Final commit: {checkpoint_commit}Print the summary to the user.
global_cycle >= 10, set status to "stalled" and stop (the planner should catch this earlier, but this is a hard cap)scope_files, so fixers cannot conflict© filedcom, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in .claude/skills/audit-harness of filedcom/opentax.
Open the folder on GitHubat commit 0c6ae76
Audit Harness 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 |
|---|---|---|---|---|---|---|
| Audit Harness this skillfiledcom/opentax | 108 | — | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Agent Goal Plannerruvnet/ruflo | 74k | 3 repos | ~842 | Automated safety check: Pass | MIT | |
| Agent Code Goal Plannerruvnet/ruflo | 74k | 3 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Plannerpenpot/penpot | 61k | — | ~2.7k | Automated safety check: Pass | MPL-2.0 | |
| Goalscodewhale-hq/Codewhale | 41k | — | ~273 | Automated safety check: Pass | MIT | |
| Agent Plannerruvnet/ruflo | 74k | 2 repos | ~1.2k | Automated safety check: Pass | MIT |
ruvnet/ruflo
Agent skill for goal-planner - invoke with $agent-goal-planner
ruvnet/ruflo
Agent skill for code-goal-planner - invoke with $agent-code-goal-planner
penpot/penpot
Read-only planning and architecture analysis — produce a structured implementation plan with task breakdown, acceptance criteria, sizing, and checkpoints.
codewhale-hq/Codewhale
Set, review, and update the user's goals. An agent skill from codewhale-hq/Codewhale.
ruvnet/ruflo
Agent skill for planner - invoke with $agent-planner. An agent skill from ruvnet/ruflo.
ruvnet/ruflo
Create and execute Goal-Oriented Action Plans (GOAP) with precondition analysis, cost optimization, and adaptive replanning
filedcom/opentax
Helps users permanently set up the OpenTax skill on their AI platform so they don't have to load it every time.
filedcom/opentax
Autonomous form builder. An agent skill from filedcom/opentax.
filedcom/opentax
Generate realistic benchmark cases from IRS-published sources (VITA exercises, Pub 17 examples, MeF test cases).
filedcom/opentax
Autonomous bug-fix loop for any form:year. An agent skill from filedcom/opentax.
filedcom/opentax
Tax preparer agent that uses the opentax CLI to prepare, validate, and export federal tax returns.
filedcom/opentax
Tax return reviewer that audits a completed return against source documents using the opentax CLI.
Generic audit/fix loop. An agent skill from filedcom/opentax. Audit Harness is an agent skill from filedcom/opentax. Generic audit/fix loop.
Run `npx skills add filedcom/opentax --skill audit-harness -a claude-code`. Or copy the skill folder (.claude/skills/audit-harness in filedcom/opentax) into .claude/skills/audit-harness in your project. Claude Code loads it when a task matches its description.
Run `npx skills add filedcom/opentax --skill audit-harness -a codex`. Or copy the skill folder (.claude/skills/audit-harness in filedcom/opentax) into .agents/skills/audit-harness 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 filedcom/opentax --skill audit-harness -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/audit-harness, .gemini/skills/audit-harness, .github/skills/audit-harness and .opencode/skills/audit-harness in your project.
Going by SKILL.md and its folder, Audit Harness needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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.
Audit Harness is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.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 Audit Harness: Agent Goal Planner (ruvnet/ruflo, 74k stars), Agent Code Goal Planner (ruvnet/ruflo, 74k stars), Planner (penpot/penpot, 61k stars) and Goals (codewhale-hq/Codewhale, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
filedcom (a GitHub organization) maintains it in filedcom/opentax, which has 108 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 7, 2026.
Source: filedcom/opentax on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.