← Files MathboxARCHIVED FILE
AGENTS.md
5.74 KB · Oct 2, 2026 · 00:32 UTC
# Repository instructions ## Purpose This repository publishes reusable Agent Skills for rigorous mathematical research. Each directory directly under `skills/` containing `SKILL.md` is an independently installable package. The repository root also packages the complete suite for Claude Code and as a skills-only archive that OpenAI can convert during submission. Keep the skills portable across both hosts. ## Sources of truth - `SKILL.md` is the canonical behavioral contract for a skill. - Files under `references/`, `assets/`, and `scripts/` support that contract and must be referenced with paths relative to the skill directory. - `agents/openai.yaml` contains OpenAI-specific presentation and invocation metadata; do not duplicate the workflow there. - `.codex-plugin/plugin.json` contains Codex package and presentation metadata; keep its identity and version aligned with the Claude plugin manifest. - `.claude-plugin/plugin.json` contains the package metadata and explicit list of skill directories under `skills/` used by Claude and by OpenAI's skills-only conversion path. - `.claude-plugin/marketplace.json` is the public Claude marketplace catalog; keep its root-source entry aligned with the plugin manifest. - `evals/evals.json` checks behavior and `evals/trigger-evals.json` checks routing. Treat both as part of the skill contract. - `README.md` is the public inventory and installation guide. Keep it aligned with the canonical skill directories and their invocation policies. - `docs/CHANGELOG.md` is the release history in Keep a Changelog format. Keep its release headings aligned with the manifest versions, Git tags, and GitHub release titles. ## Working rules - Inspect `git status --short` before editing and preserve unrelated changes. - Read the complete `SKILL.md` before changing a skill. Load only the supporting files relevant to the change. - Keep every skill focused on one job. Prefer concise imperative instructions with explicit inputs, outputs, evidence labels, and stopping conditions. - Do not weaken mathematical safeguards for convenience. In particular, never present bounded computation as universal proof, failed search as global novelty, or manuscript integration as validation. - Do not hard-code a local checkout or installation path. Installed skills may be copied, symlinked, or loaded by a host. - Keep one canonical copy of each skill under `skills/`. Do not duplicate skill packages to satisfy a host-specific plugin layout. - Do not add dependencies or generated artifacts unless the skill genuinely needs them. Standard-library Python is preferred for helper scripts. - Update the relevant behavioral and trigger evals whenever a description, trigger boundary, workflow, or output contract changes. - Update `README.md` in the same change when adding, renaming, or removing a skill. - Record every user-visible change in the same change, under `## [Unreleased]` in `docs/CHANGELOG.md`. This covers skill behavior, trigger boundaries, output contracts, helper commands, schemas, and packaging. Describe what changed for users, not how the diff is organized, and link the pull request when one exists. - When releasing, bump the version in `.claude-plugin/plugin.json`, `.codex-plugin/plugin.json`, and `.claude-plugin/marketplace.json` together. Move the Unreleased entries under a heading of the form `## [X.Y.Z] — YYYY-MM-DD — Short theme`, and update the comparison links at the bottom of the changelog. Title the GitHub release `vX.Y.Z — Short theme` with the same theme, and use that changelog section as its notes. ## Cross-agent compatibility - Keep `SKILL.md` frontmatter portable. The current skills use only the required Agent Skills fields `name` and `description`; do not put host-specific interface or invocation settings there. - Express shared routing boundaries in `description` and the skill body. Keep OpenAI-specific presentation and invocation policy in `agents/openai.yaml`. - Use a precise `description` with positive triggers and exclusions. Update trigger evals whenever that routing contract changes. - Preserve valid relative Markdown links from `SKILL.md` to bundled resources. - Keep shared repository guidance in `AGENTS.md`. Add `CLAUDE.md` only for genuine Claude-specific instructions or sessions that cannot load `AGENTS.md` directly; if present, it should import `@AGENTS.md`. ## Validation Run `python3 scripts/check.py` for package consistency, portable resource links, Python syntax and executable regression suites. It does not grade mathematical skill behavior. For behavioral changes, use realistic tasks and raw artifacts following `evals/README.md`; never treat keyword matching as a proof audit. Run checks proportionate to the files changed. At minimum, run: ```bash for file in \ .codex-plugin/*.json \ .claude-plugin/*.json \ skills/*/evals/*.json \ skills/*/assets/*.json; do python3 -m json.tool "$file" >/dev/null || exit 1 done claude plugin validate .claude-plugin/plugin.json claude plugin validate --strict .claude-plugin/marketplace.json git diff --check ``` Keep all plugin behavior under `skills/`; root instructions are repository context, not plugin context. For Python helper changes, also run: ```bash PYTHONPYCACHEPREFIX=/tmp/mathbox-pycache \ python3 -m py_compile skills/*/scripts/*.py ``` When touching the computation manifest or its validator, run: ```bash python3 skills/computation-audit/scripts/validate_manifest.py \ skills/computation-audit/assets/computation-manifest.json --template ``` When touching the repository inspector, smoke-test it with: ```bash python3 skills/research-init/scripts/inspect_repo.py \ --root . --format json >/dev/null ``` In the final report, list the files changed, checks run, and any check not run with its reason.
SHA-256: e08f7bfcf39c3f9acc645020255b4c91be0c7e6333ddff110f33d0622d562dc6