toolkit-check
Runs the ai-toolkit pre-PR checks that AGENTS.md requires for the files changed on this branch, and lists the hand-written per-agent files that may need mirroring. Run it from the ai-toolkit checkout
SKILL.mdcodex/skills/toolkit-check/SKILL.md
GitHubToolkit pre-PR checks: the user request
Run the checks AGENTS.md requires for the files this branch changes, and report each result. Fix nothing. The report is the deliverable.
Procedure
- Scope. Confirm the working directory is the ai-toolkit checkout (
.claude-plugin/marketplace.jsonhas"name": "ai-toolkit"). The base ref is the argument, ororigin/mainwhen none is given. Rungit fetch origin,git diff --name-only <base>...HEADandgit status --porcelain. The version check reads commits only, so list uncommitted files in the report. - Every change. Run
python3 scripts/build/build.py --check,python3 scripts/ci/check_repo.py,python3 scripts/ci/check_style.py,python3 scripts/ci/check_plugin_versions.py --base <base>,python3 tools/freshness.pyandpython3 tools/source_anchors.py --lint. - By changed path. Add the checks this table names for each path the diff touches:
| Changed path | Also run |
|---|---|
shared/hooks/ or any plugin hooks/ |
python3 -m unittest discover -s shared/tests and bash claude/tests/test-guards.sh |
claude/install.sh or claude/home/ |
python3 -m unittest discover -s claude/tests |
claude/plugins/<name>/ or .claude-plugin/ |
claude plugin validate . --strict and claude plugin validate claude/plugins/<name> --strict |
codex/ |
python3 codex/scripts/validate.py and python3 -m unittest discover -s codex/tests |
antigravity/ |
python3 antigravity/scripts/validate.py and python3 -m unittest discover -s antigravity/tests |
tools/ |
python3 -m unittest discover -s tools/tests |
shared/install_common.py |
python3 -m unittest discover -s shared/tests, python3 -m unittest discover -s codex/tests and python3 -m unittest discover -s antigravity/tests |
src/ or scripts/build/ |
python3 scripts/build/build.py --check and python3 -m unittest discover -s scripts/build/tests |
Run each check as its own command from the repository root, without cd or chaining, so each failure points at one check.
4. Generated files and mirroring. python3 scripts/build/build.py --check fails when a generated file is stale, missing or edited by hand, so a change to a generated path must come from its source under src/ or shared/. For the hand-written per-agent files, such as plugin manifests, hook registration, home instructions and installers, compare the changed paths across claude/, codex/ and antigravity/, and list each layer that has no change where another layer does. The PR description must name anything not mirrored and why.
5. Report. Give a table of check, result (pass, fail or not run) and, for a failure, the first lines of output that show the cause. A check that cannot run, such as one that needs a missing CLI, is "not run" with the reason. Then list the hand-written per-agent files that may need mirroring and the uncommitted files.
Rules of the check
- Run the commands. Never report a check as passing from reading the code.
- Do not edit files, refresh stamps or run any
--writemode. A failure goes in the report for the user to fix.