Skip to content

Commit the agent rules and the verify-tools skill - #943

Merged
oryan-block merged 7 commits into
agent-friendlyfrom
agent-friendly-p1-agent-rules
Nov 4, 2026
Merged

oryan-block merged 7 commits into
agent-friendlyfrom
agent-friendly-p1-agent-rules

Conversation

@oryan-block

@oryan-block oryan-block commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Why

Agents working in graphql-java-tools keep repeating the same mistakes, and the repo should change so a change that looks right from one file is right for the whole repo. First step is giving every clone the same rules. Right now the agent rules and the verify-tools skill only exist untracked in one checkout, so a fresh clone, a worktree started from master or a cloud agent gets neither. The rules there also still say Java 11 while the pom says 17.

Checklist

  • Pull requests follows the contribution guide
  • New or modified functionality is covered by tests

Description

  • AGENTS.md holds the project rules (layout, build, compatibility, GitHub, releases), five rules that need judgment with one real failure each, and a rule table. Each row is a rule from a mistake made here more than once, with what enforces it today. Most say "docs only" for now.
  • CLAUDE.md is just @AGENTS.md, so Claude Code, Cursor and Codex read the same file.
  • .claude/skills/verify-tools is committed. probe.sh runs from each checkout's own copy and no longer adds the macOS keychain trust store flag. Put JVM flags your machine needs in .mvn/jvm.config or ~/.mavenrc.
  • probe.sh install now runs mvn clean install, so a class left in target/ by an earlier build can't end up in the jar the probe tests. That's also a new row in the rule table.
  • probe.sh exits 64 for a missing or unknown scenario, as the skill says, and uses sha256sum or falls back to shasum -a 256 on Macs without it.
  • .gitignore ignores .mvn/jvm.config, .local/, CLAUDE.local.md, .claude/settings.local.json and .claude/worktrees/.

Scope

  • No library code or build change.
  • Personal workflow rules stay out of the repo, in a gitignored CLAUDE.local.md.
  • Only the verify-tools skill is committed here.

Blast Radius

Nobody using the library notices. A checkout with an untracked CLAUDE.md has to move it out of the way before pulling, or git refuses to overwrite it. probe.sh install now empties the checkout's target/, so don't run it next to another build in the same checkout.

Verification

  • mvn -B -ntp clean verify on JDK 17: 440 tests, build passes.
  • probe.sh install with a fake class planted in target/classes: the log shows clean deleting target/ and the installed jar doesn't have the fake class. probe.sh run for read-only-schema and async exits 0 with errors=0. run no-such-scenario and run with no scenario exit 64.
  • doctor with sha256sum off the PATH gets the same work dir as with it.

oryan-block and others added 7 commits November 4, 2026 13:49
The probe runs from each checkout's own copy, hashes with sha256sum and leaves Maven JVM flags to the machine.
CLAUDE.md imports it, so Claude Code, Cursor and Codex read the same rules in every clone and worktree.
probe.sh install ran mvn install without clean, so a class left in target/ by an earlier build could end up in the jar the probe tests. A missing or unknown scenario exited 1, which the skill documents as a harness failure. The hash falls back to shasum -a 256 where sha256sum is missing. The skill's run block now lists install.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The layout said one test class per feature or issue, while the judgment rule says to add a variant to the existing class. The f8c7be7 example now says what that commit did: five failure tests folded into one, two dropped. The rule table header no longer claims every row names a failing check or an agent mistake. The jar row names module-info and java.version, the layout lists proxy/, the build command cleans, and a row covers stale classes in target/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Nov 4, 2026

Copy link
Copy Markdown

@oryan-block
oryan-block merged commit d548df1 into agent-friendly Nov 4, 2026
5 checks passed
@oryan-block
oryan-block deleted the agent-friendly-p1-agent-rules branch November 4, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant