agent-toolkit
AGENTS.md19 starsChanged 2 months agoMITView on GitHub
Purpose: the repository-wide operating contract for AI agents and automated contributors. Read this before modifying any file. More specific scoped instructions, when present, refine this contract for their subtree. agent-toolkit is the capability distribution layer for reusable AI-agent skills, personas, loops, MCP templates, products/packs, target profiles, the native V CLI, and Agent Toolkit Desktop. Changes can affect multiple downstream coding assistants and packaging channels. Operate precisely: use canonical sources, preserve public/vendor-neutral boundaries, cite evidence, and validate before finalizing. Use the…
We split this AGENTS.md into the rules it gives an agent
32 rules. About 2 are common, 21 are distinctive, and 9 are very specific to this project.
≈2
Common · estimate
Many files like this have a rule of this kind.
≈21
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Use the narrowest current source of truth instead of old issue prose or historical comments.
- Distinctive: line 50
Use English for repository content, commits, issues, and PR descriptions.
- Common: line 51
Keep secrets, credentials, tokens, private-company content, and private customer data out of this public repository.
- Very specific: line 52
Prefer canonical catalogs/manifests/core operations over duplicated hardcoded rosters.
- Common: line 62
Commit credentials or real secret values to MCP templates/examples.
- Distinctive: line 64
Add private-organization-specific content to first-party public capabilities.
- Very specific: line 65
Add third-party npm/GitHub/URL packs to distributions/products.yaml or generated plugin surfaces.
- Distinctive: line 110
If another file is generated, follow its owning ADR/script rather than editing around the generator.
- Distinctive: line 114
Before adding a skill:
- Very specific: line 116
search catalogs/skill-catalog.yaml and existing first-party skills.
- Distinctive: line 118
prefer enhancing an existing first-party capability over vendoring a duplicate.
- Distinctive: line 131
Use additional checks required by the integration checklist.
- Very specific: line 144
Do not confuse persona AGENT.md files with this repository-wide AGENTS.md contract.
- Very specific: line 150
Follow docs/HOW_TO_CREATE_LOOP.md and validate with:
- Very specific: line 157
Never weaken L1/L2/L3 mutation boundaries, allow/deny semantics, budgets, or exit conditions casually.
- Distinctive: line 169
Before changing Desktop behavior, read at least:
- Very specific: line 185
Keep the production application Electron + React over agent-toolkit serve (ADR-033).
- Distinctive: line 187
Keep catalog truth, user configuration, runtime state, and evidence/provenance distinct.
- Distinctive: line 188
Never invent operational activity to make the World look alive.
- Distinctive: line 190
Keep workspace, runtime, bundled-data, cache/config, and project path authorities distinct.
- Distinctive: line 194
Do not require sibling repositories, source-checkout cwd, V toolchain, or interactive-shell PATH for normal packaged first run.
- Distinctive: line 195
Do not treat concept images as runtime truth or literal feature requirements.
- Distinctive: line 207
Use the smallest matrix that honestly covers the changed surface, plus any checks required by the touched contract/CI.
- Very specific: line 233
Check .github/workflows/ before assuming this list exactly matches current CI.
- Very specific: line 242
Follow .v-version and docs/HOW_TO_DEVELOP_V.md for V-specific constraints.
- Distinctive: line 246
Start focused implementation from fresh canonical main unless intentionally targeting another base.
- Distinctive: line 247
Keep PRs coherent and reviewable.
- Distinctive: line 248
Do not push implementation directly to protected main unless the maintainer explicitly requests/directs that exception.
- Distinctive: line 249
Wait for actual required CI before declaring a PR complete.
- Distinctive: line 252
Do not publish releases/packages without explicit authorization.
- Distinctive: line 267
Do not equate issue closure, generated output, passing tests, or green goldens with product completion.
- Distinctive: line 269
Before reporting a change complete, verify the actual affected behavior, run the relevant validation, state what was not verified, and …
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 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.
Files
AGENTS.md — AI Agent Contract
Purpose: the repository-wide operating contract for AI agents and automated contributors. Read this before modifying any file. More specific scoped instructions, when present, refine this contract for their subtree.
What this repository is
agent-toolkit is the capability distribution layer for reusable AI-agent skills, personas, loops, MCP templates, products/packs, target profiles, the native V CLI, and Agent Toolkit Desktop. Changes can affect multiple downstream coding assistants and packaging channels.
Operate precisely: use canonical sources, preserve public/vendor-neutral boundaries, cite evidence, and validate before finalizing.
Canonical document map
Use the narrowest current source of truth instead of old issue prose or historical comments.
| Concern | Canonical source |
| Public concept model / boundaries | docs/CONCEPTS.md |
| Architecture decisions | docs/adrs/ |
| Skill authoring/integration | docs/SKILL_INTEGRATION_CHECKLIST.md, docs/UPSTREAM_VS_FIRST_PARTY.md |
| Agent personas | docs/HOW_TO_ADD_AGENT.md |
| Loop templates | docs/HOW_TO_CREATE_LOOP.md, schemas/loop.schema.json |
| V development | docs/HOW_TO_DEVELOP_V.md |
| Desktop product | docs/desktop/PRODUCT_VISION.md |
| Desktop interaction model | docs/desktop/UX_ARCHITECTURE.md |
| Desktop visual design | docs/desktop/DESIGN.md |
| Desktop semantic world (primary spatial home) | docs/desktop/SEMANTIC_WORLD.md, docs/adrs/ADR-034-semantic-world.md |
| Desktop journeys / coverage | docs/desktop/USER_JOURNEYS.md, docs/desktop/workflows.yaml |
| Desktop visual acceptance | docs/desktop/VISUAL_QA.md |
Historical ADRs and GitHub issues are evidence, not automatic implementation authority. Reconcile them with current code and governing contracts before acting.
Instruction precedence inside this project
Repository work should follow, in order:
- explicit current task requirements;
- this
AGENTS.mdand any scoped descendant instructions; - current ADRs and canonical domain contracts;
- current product/UX/design contracts;
- current verified code/tests/runtime behavior;
- GitHub issue implementation details;
- historical plans/comments.
This project ordering does not override system/developer/runtime instructions from the agent platform itself.
Global invariants
Always
- Use English for repository content, commits, issues, and PR descriptions.
- Keep secrets, credentials, tokens, private-company content, and private customer data out of this public repository.
- Prefer canonical catalogs/manifests/core operations over duplicated hardcoded rosters.
- Cite the file/contract behind repository conventions when making architectural claims.
- Inspect current code and generated sources before claiming compatibility or completion.
- Work in focused branches/PRs for implementation unless the maintainer explicitly requests another workflow.
- Preserve user-owned files and report partial failure honestly.
Never
- Manufacture plausible production state, progress, health, receipts, provenance, compatibility, costs, activity, or Git history.
- Hand-edit generated catalogs/manifests when a generator owns them.
- Commit credentials or real secret values to MCP templates/examples.
- Claim tool compatibility without evidence from metadata, tests, or explicit supported behavior.
- Add private-organization-specific content to first-party public capabilities.
- Add third-party npm/GitHub/URL packs to
distributions/products.yamlor generated plugin surfaces; follow the third-party boundary indocs/CONCEPTS.md. - Bypass branch protection or weaken validation merely to land a change.
Unknown, unavailable, empty, and unverified are valid states. Fabricated-but-plausible is not.
Repository ownership model
Key source areas:
skills/— first-party reusable capability sources (SKILL.md)agents/— tool-agnostic personas (AGENT.md)loops/— loop templates (loop.yaml)mcp/— provider registry/templatesprofiles/— target-specific adapters/overlayspacks/— solution/workflow packscapabilities/— declarative capability registries (targets, skills, hooks); canonical source for supported-target and capability truthdistributions/— product compiler inputplugins/— generated distribution surfaces; do not hand-edit unless the owning contract explicitly says otherwisecatalogs/— generated discovery catalogsschemas/— validation schemas (skills, agents, loops, targets, products)modules/agent_toolkit_core/— shared core/domain implementationmodules/agent_toolkit_server/— typed HTTP API over the canonical V domaincmd/agent-toolkit/— native V CLI entrypointapps/desktop/— shipping Electron + React Desktop, assets, tests, and packagingpackages/— PyPI/npm launcher trampolinestests/— parity, security, and adapter test suitesdocs/— human-facing contracts, guides, ADRsscripts/— validation/generation automation
Generated files
These are generated and must not be manually edited:
catalogs/skill-catalog.yamlcatalogs/agent-catalog.yamlcatalogs/loop-catalog.yamlcatalogs/skills-layout.json
Regenerate/check with:
./scripts/generate-catalogs.vsh
./scripts/generate-catalogs.vsh --checkIf another file is generated, follow its owning ADR/script rather than editing around the generator.
Skills
Before adding a skill:
- search
catalogs/skill-catalog.yamland existing first-party skills; - read
docs/UPSTREAM_VS_FIRST_PARTY.md; - prefer enhancing an existing first-party capability over vendoring a duplicate;
- follow
docs/SKILL_INTEGRATION_CHECKLIST.md.
A skill lives at skills/<domain>/<skill>/SKILL.md. Required and optional frontmatter (name, description, metadata, domain, tools, requires, triggers) is validated against schemas/skill-md-frontmatter.schema.json. Every distributable SKILL.md must declare origin: {type: first-party|upstream}: scripts/validate-upstream.py enforces this for every SKILL.md (gate 2, see docs/TRUST.md), although the schema keeps origin optional for backwards compatibility.
Validate skill changes with at least:
./scripts/validate-skills.vsh
./scripts/generate-catalogs.vsh --check
AGENT_TOOLKIT_ROOT="$PWD" ./build/agent-toolkit build --checkUse additional checks required by the integration checklist.
Agent personas
Personas live under agents/<name>/AGENT.md. Keep directory/name/frontmatter aligned and follow docs/HOW_TO_ADD_AGENT.md.
Validate with:
./scripts/validate-agents.vsh
./scripts/generate-catalogs.vsh --checkDo not confuse persona AGENT.md files with this repository-wide AGENTS.md contract.
Loops
Loop definitions live in loops/<name>/loop.yaml. STATE.md and report.md are runtime artifacts and must not become committed template state unless a current contract explicitly says otherwise.
Follow docs/HOW_TO_CREATE_LOOP.md and validate with:
./scripts/validate-loops.vsh
./scripts/generate-catalogs.vsh --checkNever weaken L1/L2/L3 mutation boundaries, allow/deny semantics, budgets, or exit conditions casually.
Profiles, MCP, products, and packs
Profiles adapt canonical Agent Toolkit capabilities to supported coding tools. Keep target-specific behavior in the appropriate profile/emitter layer rather than duplicating source capabilities. Profile layout and authoring follow docs/PROFILES.md.
MCP templates use placeholders only. Never commit real credentials. Separate provider/catalog support from user configuration and runtime health.
Products/packs must follow current compiler and concept contracts. Treat generated plugin manifests as outputs, not primary authoring surfaces.
Desktop product work
Before changing Desktop behavior, read at least:
docs/desktop/PRODUCT_VISION.mddocs/desktop/UX_ARCHITECTURE.mddocs/desktop/DESIGN.md
Also read:
USER_JOURNEYS.mdwhen changing a workflow;workflows.yamlwhen exposing/removing capabilities;VISUAL_QA.mdfor any visual change;- The git history and ADRs for historical architecture context; current behavior is defined by source, tests, and the workflow ledger.
Desktop invariants
- Keep the production application Electron + React over
agent-toolkit serve(ADR-033); keep domain operations in canonical V core/server APIs. - Engine/shared typed domain APIs remain authoritative. Do not implement Agent Toolkit business logic by shelling out to the Agent Toolkit CLI and parsing output.
- Keep catalog truth, user configuration, runtime state, and evidence/provenance distinct.
- Never invent operational activity to make the World look alive.
- An offline Person remains in the People roster and is absent from the World; only a real live session, job, or run can create runtime character presence.
- Keep workspace, runtime, bundled-data, cache/config, and project path authorities distinct.
- Preserve workspace containment and secret masking before values reach rendering/logging/export.
- Drawing and hit-testing must share geometry; revalidate integer selections after filtering, refresh, and workspace switch before indexing.
- Event precedence is modal → active text field → terminal → focused widget → panel-local shortcuts → global shortcuts.
- Do not require sibling repositories, source-checkout cwd, V toolchain, or interactive-shell PATH for normal packaged first run.
- Do not treat concept images as runtime truth or literal feature requirements.
Desktop visual changes
The visual identity is defined in docs/desktop/DESIGN.md. Major visual work must follow the evidence loop in VISUAL_QA.md:
build → run → navigate → capture → open the screenshot → critique → fix → recapture
Golden comparison proves regression stability, not visual quality. Do not update a golden solely to make CI pass.
Validation by change type
Use the smallest matrix that honestly covers the changed surface, plus any checks required by the touched contract/CI.
| Change | Minimum focused validation |
| Skill | validate-skills, catalog check, relevant build/integration |
| Agent persona | validate-agents, catalog check |
| Loop | validate-loops, catalog check |
| Catalog/compiler/profile | generator check, build --check, relevant target tests |
| V core/CLI | relevant V tests, ./make.vsh build-cli, integration where affected |
| Desktop API | relevant server/core tests + generated API check + Electron E2E |
| Desktop visual | Desktop build + focused tests + smoke/capture + opened screenshot |
| Packaging | platform/package-specific checks plus clean-launch evidence |
| Docs-only | formatting/link/repository validation affected by the docs; no unrelated expensive suite merely for ceremony |
Repository-wide primary validation currently includes:
./scripts/validate-skills.vsh
./scripts/validate-agents.vsh
./scripts/validate-loops.vsh
./scripts/generate-catalogs.vsh --check
./make.vsh test
./make.vsh build-cli
AGENT_TOOLKIT_ROOT="$PWD" ./build/agent-toolkit build --checkCheck .github/workflows/ before assuming this list exactly matches current CI.
Adapter-only validation when those launchers change:
AGENT_TOOLKIT_ROOT="$PWD" uv run --project packages/pypi/agent-toolkit-cli --directory . pytest -c tests/pytest.ini tests/ -v
npm test --prefix packages/npm/agent-toolkit-cliFollow .v-version and docs/HOW_TO_DEVELOP_V.md for V-specific constraints.
Git and PR discipline
- Start focused implementation from fresh canonical
mainunless intentionally targeting another base. - Keep PRs coherent and reviewable; do not recreate monolithic salvage branches.
- Do not push implementation directly to protected
mainunless the maintainer explicitly requests/directs that exception. - Wait for actual required CI before declaring a PR complete.
- Investigate reproducible failures instead of labeling them infrastructure casually.
- Merge only when required CI and review obligations are satisfied.
- Do not publish releases/packages without explicit authorization.
For major Desktop PRs, include user impact, architecture/truth implications, validation, screenshot evidence, and known limitations.
Ecosystem boundary
Agent Toolkit must remain usable on its own. agentic-workstation, agentic-harness, My AI Workspace, and related repositories may integrate through explicit contracts, but they are not mandatory runtime dependencies for Agent Toolkit Desktop or the core CLI.
Cross-repo references:
Completion rule
Do not equate issue closure, generated output, passing tests, or green goldens with product completion.
Before reporting a change complete, verify the actual affected behavior, run the relevant validation, state what was not verified, and leave the repository's canonical documents/backlog consistent with reality.
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 28,693 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 repository106 other files it gives its agents.
- reviewSkill
- mcp-auditSkill
- owasp-agentic-reviewSkill
- supply-chain-auditSkill
- threat-modelingSkill
- architecture-diagramSkill
- c4-modelSkill
- aws-well-architected-reviewSkill
- cloud-design-patternsSkill
- assistantSkill
- dev-companionSkill
- onboardingSkill
- output-handshakeSkill
- pr-fallbackSkill
- projectSkill
- workspace-knowledge-syncSkill
- workspaceSkill
- dbt-validationSkill
- snowflake-validationSkill
- adrSkill
- agreementSkill
- bugSkill
- decision-logSkill
- development-workflowSkill
- epicSkill
- incidentSkill
- management-unit-assessmentSkill
- meeting-minutesSkill
- planningSkill
- prdSkill
- project-assessment-evidenceSkill
- project-assessmentSkill
- spikeSkill
- taskSkill
- technical-unit-assessmentSkill
- trdSkill
- user-storySkill
- workflow-client-bootstrapSkill
- workflow-generic-projectSkill
- work-itemSkill
- bragSkill
- brag-slimSkill
- design-assessmentSkill
- design-improvementSkill
- figma-code-connect-componentsSkill
- figma-create-design-system-rulesSkill
- figma-create-new-fileSkill
- figma-implement-designSkill
- figmaSkill
- frontend-design-reviewSkill
- frontend-designSkill
- scroll-worldSkill
- web-design-guidelinesSkill
- fix-merge-conflictsSkill
- gh-address-commentsSkill
- gh-contribution-plannerSkill
- gh-fix-ciSkill
- github-cli-workflowSkill
- gitlab-cli-workflowSkill
- worktreeSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

