agentleFS
syncwinsyncwin/aiaddon/AGENTS.md

aiaddon

AGENTS.md0 starsChanged 5 days agoMITView on GitHub

AI Add-on Builder: plans, builds, checks and packages Claude skills, plugins, connectors and agents. Structure (single branch, main): the shipped plugin is adapters/claude/ (.claude-plugin/plugin.json, adapters/claude/skills/aiaddon router and aiaddon-plan|build|maintain|review|package|prompt|clean, agents/ (aiaddon-compare, aiaddon-grade), prompts/, evals/router/cases.json and evals/evals.json for the router check and trigger simulation, plus copies of README, CHANGELOG, LICENSE, PRIVACY, SECURITY, CREDITS, PUBLIC-SAFETY, .gitignore). The root keeps .claude-plugin/marketplace.json (source ./adapters/claude), the same docs, dev/ (Python dev tools and the old hook, not shipped), evals/ (live model cases, not shipped), .github/ (CI…

  • Reads credentials
  • Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.

    Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.

  • In this repositoryOne other file it gives its agents.

The file

We split this AGENTS.md into the rules it gives an agent

7 rules. About 1 is common, 4 are distinctive, and 2 are very specific to this project.

  • ≈1

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Read the skill or script you change, plus its neighbours.

    line 18
  2. Very specific:

    Update CHANGELOG.md for behavior changes.

    line 20
  3. Distinctive:

    Run the closest check and the full gate before committing.

    line 25
  4. Very specific:

    Follow neighbouring files.

    line 26
  5. Distinctive:

    No commits, pushes or PRs unless asked.

    line 28
  6. Distinctive:

    No new dependencies without asking (scripts stay on the Python standard library).

    line 29
  7. Common:

    Never commit secrets. Never pick names or slugs without user confirmation.

    line 30

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

aiaddon agent guide

AI Add-on Builder: plans, builds, checks and packages Claude skills, plugins, connectors and agents.

Structure (single branch, main): the shipped plugin is adapters/claude/ (.claude-plugin/plugin.json, adapters/claude/skills/aiaddon router and aiaddon-plan|build|maintain|review|package|prompt|clean, agents/ (aiaddon-compare, aiaddon-grade), prompts/, evals/router/cases.json and evals/evals.json for the router check and trigger simulation, plus copies of README, CHANGELOG, LICENSE, PRIVACY, SECURITY, CREDITS, PUBLIC-SAFETY, .gitignore). The root keeps .claude-plugin/marketplace.json (source ./adapters/claude), the same docs, dev/ (Python dev tools and the old hook, not shipped), evals/ (live model cases, not shipped), .github/ (CI and the release workflow). Edit the docs in both places and keep the copies identical.

Commands

  • Self-test (must pass): python dev/aiaddon-review/scripts/selftest.py
  • Strict validation (must pass): python dev/aiaddon-review/scripts/validate_extension.py adapters/claude --strict --target directory --require-meta author,company
  • Secret scan: python dev/aiaddon-review/scripts/scan_secrets.py
  • Secret and private-data scan (blocking; tree, full history, packages): python dev/aiaddon-review/scripts/scan_secrets.py . --history; false positives only in .public-safety-allow
  • Router check (every eval prompt routes to its expected skill): python dev/aiaddon-review/scripts/route_check.py adapters/claude
  • Version bump: dev/aiaddon-maintain/scripts/bump_version.py; package: dev/aiaddon-package/scripts/package_extension.py adapters/claude --format plugin --out <dir> (run both on adapters/claude)
  • Validate: claude plugin validate adapters/claude --strict and claude plugin validate . --strict (marketplace)
  • Evals (real model calls; cases live in root evals/, and claude plugin eval reads cases from inside the plugin folder, so copy adapters/claude and evals/ into one scratch folder outside the repo and run it there): claude plugin eval <scratch-copy> --trust-plugin --ablation none --scaffold --allow-tools Read Glob Grep Skill -j 4 --no-publish. Rebuild cases with python <owner-tools>/plugin-evals/regen_evals.py <plugin> <router> <fixture ids> (owner's local tools folder, not in this repo). Write results outside the repo (<owner-outputs>/<plugin>/eval-results, a local folder outside the repo); the packager includes repo files.

Workflow

  1. Read the skill or script you change, plus its neighbours.
  2. Make the smallest change; run the closest check, then the full gate.
  3. Update CHANGELOG.md for behavior changes; log ideas in IMPROVEMENTS.md.

Rules

  • Directory compliance: the shipped plugin (adapters/claude/, built into the release .plugin on a v* tag; there is no release branch) has no hooks, no scripts or other non-text files, and text-only frontmatter. Features live as recipes in adapters/claude/skills/*/references/; the Python in dev/ is maintainer tooling only. Requests that would break Anthropic rules get a plain warning and the official safe method instead.
  • Never publish secrets or private data (keys, tokens, passwords, personal contact data, client names, internal URLs, local paths) in this repo or anything it builds; the secret and public-safety scans block every commit, push and release.
  • Run the closest check and the full gate before committing. Never delete or weaken tests or evals. Report failed, skipped or timed-out runs honestly; NOT RUN is never a pass.
  • Follow neighbouring files. Keep each SKILL.md under 500 lines; move detail into references/.
  • On release, bump version in adapters/claude/.claude-plugin/plugin.json and the plugin entry in .claude-plugin/marketplace.json (skills carry no metadata block: directory policy wants text-only frontmatter); add a CHANGELOG.md entry per behavior change (root and adapters/claude/ copies). Release: push a v<version> tag; release-plugin.yml builds aiaddon.plugin.
  • No commits, pushes or PRs unless asked. Work on a branch and open a PR; never push to main.
  • No new dependencies without asking (scripts stay on the Python standard library).
  • Never commit secrets. Never pick names or slugs without user confirmation.
  • Pin any GitHub Action to a full commit SHA with the version in a comment; give each job least permissions.
  • A platform fact needs its official page and the date checked. Keep private data (keys, client names, internal URLs) out of every file.
  • Naming standard (validator P019 to P023): router skill name == plugin name; every other skill, agent and command is prefixed <plugin>-; action-style slugs (-review, not -reviewer). Router standard (P024 to P028): routing table, tie-breaks, default question, Skill-tool loading, router evals.
  • Public safety (X008 to X013): every extension is public; .gitignore preset, PUBLIC-SAFETY.md, .env.example; never auto force-push, history rewrites need the owner's explicit OK (adapters/claude/skills/aiaddon-review/references/public-safety.md).

Model routing

Opus plans, decides, writes self-contained briefs with a report word limit, and reviews every result. Haiku for search, reading and mechanical edits. Sonnet for coding, tests and multi-step work. Do 1-2 tool calls inline.

Docs

README.md, CONTRIBUTING.md, CHANGELOG.md, SECURITY.md; ideas and feedback in IMPROVEMENTS.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.