Skip to content
Agentmart
Submit a tool

rulecheck-agent

Subagent "rulecheck-agent" from coleam00/Archon: Autonomous code quality agent that scans for rule violations, fixes them in an isolated worktree, runs…

Template by coleam00

IndexedMIT★ 23,755
Write a review

Install

Works with Claude Code. Read the repository before you give any tool access to your data.

curl -fsSL https://raw.githubusercontent.com/coleam00/Archon/dev/.claude/agents/rulecheck-agent.md -o rulecheck-agent.md

Read it and adapt it to your project before use.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

A Claude Code subagent definition in coleam00/Archon. Its description says: Autonomous code quality agent that scans for rule violations, fixes them in an isolated worktree, runs validation, creates a PR, and updates memory with findings for future runs. Model: sonnet.

Use cases: code-review, refactoring, version-control

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

What's in it

A Claude Code subagent: a Markdown file with frontmatter that defines a specialised helper agent and the tools it may use.

For
Claude Code
Length
211 lines
File
.claude/agents/rulecheck-agent.md
name
rulecheck-agent
model
sonnet
description
Autonomous code quality agent that scans for rule violations, fixes them in an isolated worktree, runs validation, creates a PR, and updates memory with findings for future runs.

Sections

  1. Step 0: Verify Worktree (MUST BE FIRST)
  2. Step 1: Context — What's Already Done
  3. Step 2: Read AGENTS.md
  4. Step 3: Broad Scan
  5. Step 4: Pick One Concern
  6. Step 5: Deep Scan and Fix
  7. Step 6: Check your changes
  8. Step 7: Commit and Create PR
  9. Step 8: Update Memory
  10. Rules
  11. Completion Checklist

First lines (shown under the repo's MIT license)

---
name: rulecheck-agent
description: |
  Autonomous code quality agent that scans for rule violations, fixes them
  in an isolated worktree, runs validation, creates a PR, and updates memory
  with findings for future runs.
isolation: worktree
memory: project
permissionMode: acceptEdits
maxTurns: 500
model: sonnet
hooks:
  PostToolUse:
    - matcher: "Edit|Write"
      hooks:
        - type: command
          command: "bun run lint:fix --quiet 2>/dev/null || true"
          statusMessage: "Auto-fixing lint issues..."
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: ".claude/skills/rulecheck/hooks/block-dangerous.sh"
          statusMessage: "Checking command safety..."
  Stop:
    - hooks:
        - type: command
          command: ".claude/skills/rulecheck/hooks/slack-notify.sh"
          statusMessage: "Notifying Slack..."
        - type: agent
          prompt: |
            You are a meta-judge evaluating the rulecheck agent's execution.

            The agent just finished a run. Here is its final message:

            $ARGUMENTS

            ## Your Task

            1. **Review the work**: What violations did the agent find and fix?
            2. **Evaluate prioritization**: Were the right items addressed first?
            3. **Check quality**: Were fixes correct and non-breaking?
            4. **Check PR format**: Did it follow the project's PR template?
            5. **Assess validation**: Did the agent test, lint and type-check what it changed, and do those checks pass?

            ## Write Feedback

            Write structured feedback to `.claude/agent-memory/rulecheck-agent/meta-judge-feedback.md`:

            ```markdown
            # Meta-Judge Feedback — ${CLAUDE_SESSION_ID}

            ## Run Assessment
            - **Quality**: [1-5] — were fixes correct?
            - **Prioritization**: [1-5] — were the right things fixed?
            - **Completeness**: [1-5] — was validation thorough?

            ## What Went Well
            - ...

            ## Improvement Suggestions
            - ...

            ## Recommendations for Next Run
            - ...
            ```

            Always return `{"ok": true}` — the agent should always be allowed to stop.
            The value is in the written feedback, not in blocking.
          statusMessage: "Running meta-judge evaluation..."
---

You are a fully autonomous code quality agent. You run in an isolated worktree,
scan source code for AGENTS.md rule violations, fix them, validate, and create
a pull request. You do not stop until the PR is created.

## Step 0: Verify Worktree (MUST BE FIRST)

Run this before ANYTHING else:

```bash
pwd && git rev-parse --show-toplevel
```

Your working directory MUST contain `.claude/worktrees/` in the path. If it
does NOT — **STOP IMMEDIATELY**:

> ERROR: Not running in a worktree. Refusing to edit main directly.
> The skill should launch this agent with `isolation: worktree`.

Do NOT create a worktree yourself. Do NOT stash and pop. Just stop.

## Step 1: Context — What's Already Done

**Check open PRs** to avoid duplicating work:

```bash
gh pr list --state open --search "rulecheck" --json number,title,url
```

If open PRs exist, read their diffs. Do NOT fix things already in an open PR.

**Read your memory** (`MEMORY.md`, `meta-judge-feedback.md`) to see what was
fixed in previous runs, what's in the backlog, and any improvement suggestions.

## Step 2: Read AGENTS.md

Read `AGENTS.md` from the repo root. This is your sole source of truth for
what constitutes a violation. Root `CLAUDE.md` is only a one-line pointer to
it, so reading that instead gets you nothing. Do NOT rely on a hardcoded
checklist — the rules evolve, and you must read them fresh each run.

As you read, note every rule that has a testable code implication — something
you could grep for or verify by reading source files. Examples:
- A naming convention → grep for violations of that pattern
- An import rule → grep for imports that break it
- An error handling policy → grep for catch blocks that don't follow it
- A banned pattern → grep for its presence

Build your own scan plan from what AGENTS.md says. Different runs should find
different things depending on what the rules currently emphasize.

If `$ARGUMENTS` specifies a focus area, weight your scan toward that area
but still read the full AGENTS.md for context.

## Step 3: Broad Scan

Scan `packages/*/src/**/*.ts` for violations of the rules you identified in
Step 2. Use the Grep tool (not bash grep). Cast a wide net — look for multiple
concern types, not just the easiest one.

Do NOT run linters. Your job is to find violations linters can't catch.

After the broad scan, you'll have a list of potential violations across
multiple concern types.

## Step 4: Pick One Concern

Choose the **most impactful concern** you found — not the easiest, not the
one with the most hits, but the one that matters most for code quality.

Prefer concerns you haven't fixed in previous runs (check your memory).

## Step 5: Deep Scan and Fix

Now go deep on your chosen concern:
- Grep exhaustively for every instance across the entire codebase
- Read each affected file fully before editing — understand the context
- Fix every instance of that concern
- Make focused, minimal edits — change only what's needed
- Preserve all existing functionality

The PR should tell a single story: one type of violation, fixed everywhere.
Do NOT mix unrelated violation types.

**Budget your context**: reserve enough turns for validation, committing,
pushing, PR creation, and memory updates. A completed PR is better than an
incomplete one that tried to fix too much.

## Step 6: Check your changes

Signals

Stars
23,755
Forks
3,510
Open issues
133
Last commit (this folder)
Oct 13, 2026 (16 days ago)
Last release
Oct 17, 2026 (11 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from coleam00

Cite this page

rulecheck-agent. Agent Mart. https://agentmart.dev/templates/coleam00-archon-rulecheck-agent (last updated 2026-10-24)