Files
composiohq__composio/AGENTS.md
T
Alberto Schiabel 956f9be9b4 chore(agents): normalize repo guidance skills (#3666)
This PR:
- replaces the duplicated repo-local skill set with the requested
canonical `.agents/skills` taxonomy and short router `SKILL.md` files
backed by first-level references
- makes `.claude/skills` a compatibility symlink to `.agents/skills` and
removes hand-maintained Claude skill/rule copies
- moves docs agent guidance and decisions into neutral
`docs/agent-guidance/` and `docs/decisions/`, with `docs/CLAUDE.md`
reduced to a shim
- retires CLI Cursor rules after migrating CLI design, Effect source,
and client-cache sync guidance into `AGENTS.md` and `cli-command`
- adds nested `AGENTS.md` files for TS, core, providers, e2e, Python,
Python providers, and docs
- adds `pnpm validate:agent-skills` to validate skill frontmatter,
taxonomy, references, symlink invariants, stale paths, and command names
- implements missing Python `tst` and `snt` nox sessions that existing
Makefile targets already exposed
- no changeset: repository guidance/tooling only, no published SDK
package behavior

## Verification
- `pnpm validate:agent-skills` -> `Validated 14 canonical agent skills
and guidance invariants.`
- `for skill in .agents/skills/*; do python
/Users/jkomyno/.codex/skills/.system/skill-creator/scripts/quick_validate.py
"$skill" || exit 1; done` -> 14x `Skill is valid!`
- `pnpm --dir ts/packages/cli validate:skills` -> `Validated
composio-cli skill builds for stable and beta.`
- `cd python && uv run nox --list` -> includes `tst` and `snt`
- `cd python && uv run nox -s snt` -> 18 passed
- `cd python && uv run nox -s tst -- tests/test_imports.py` -> 8 passed
- `git diff --check` / `git diff --cached --check` -> clean
- stale reference search for retired docs/Claude/Cursor paths -> no
matches

## Forward Tests
- TypeScript core bug: loaded `bug-fixing`, `typescript-sdk`,
`typescript-testing`; found correct root/ts/core `AGENTS.md` route.
- Python provider: loaded `python-providers`, `python-testing`; found
missing nox sessions, fixed here.
- CLI command: loaded `cli-command`; found recording/changeset wording
gaps, fixed here.
- Cross-SDK drift: loaded `cross-sdk-parity`; again found Python nox
drift, fixed here.
- Docs + decision: loaded `docs-decisions`; found decision
template/index and Twoslash path gaps, fixed here.

## Notes
The first normal `git commit` attempt hit a lint-staged/Git stash
limitation while replacing `.claude/skills/` with a symlink (`path ...
beyond a symbolic link`). The final commit used `--no-verify` after the
validators and formatting checks above passed.
2026-06-27 00:35:57 +04:00

4.2 KiB

AGENTS.md

Repository guidance for Codex, Claude Code, Cursor, pi.dev, and other AI coding agents.

Scope

This is the Composio SDK v3 monorepo. Most product code lives in ts/ and python/; docs live in docs/. Branch new work from next and target PRs at next unless the user says otherwise.

First Steps

  1. Read the nearest nested AGENTS.md before editing a subtree.
  2. Preserve unrelated dirty work. Do not revert, delete, or reformat files outside the requested scope.
  3. Treat .agents/skills as the canonical local skill tree. .claude/skills is a compatibility symlink and must not be edited as a separate copy.
  4. Do not edit generated SDK surfaces or vendor trees — see Generated And Vendored Paths.
  5. Verify every command you write against the current package.json, Makefile, noxfile.py, or workflow file.

Skill Routing

Use the smallest relevant skill:

  • repo-guidance: repo layout, branch/PR workflow, changesets, generated files, or cross-repo maintenance.
  • skill-maintenance: adding or changing local skills, skill references, compatibility mirrors, or validation.
  • bug-fixing: fixing a defect and choosing regression tests.
  • cross-sdk-parity: aligning TypeScript and Python behavior, generated client bumps, or API contract drift.
  • docs-decisions: docs site work, changelogs, docs decisions, or docs automation.
  • eve: durable backend AI agents built with the eve framework.
  • typescript-sdk, typescript-testing, typescript-providers: TypeScript SDK/core/provider work.
  • cli-command, cli-e2e: CLI design/implementation or CLI end-to-end tests.
  • python-sdk, python-testing, python-providers, python-release: Python SDK/provider/testing/release work.

Repository Map

ts/                         TypeScript SDK workspace
  packages/core/            @composio/core
  packages/providers/       TypeScript provider adapters
  packages/cli/             Effect-based CLI
  e2e-tests/                Docker runtime and CLI E2E tests
python/                     Python SDK and provider packages
docs/                       Fumadocs documentation site
.agents/skills/             Canonical local agent skills
docs/agent-guidance/        Neutral docs-agent context and workflow instructions
docs/decisions/             Neutral docs decisions and ADR-style records

Generated And Vendored Paths

Do not hand-edit these. They are regenerated or vendored, and edits will be overwritten. They are also marked linguist-generated/linguist-vendored in .gitattributes.

  • ts/vendor/** — vendored read-only snapshots of Effect and Clack (git submodules); reference only.
  • ts/packages/cli-local-tools/vendor/** — vendored local-tool sources (git submodules).
  • ts/packages/core/generated/**, ts/packages/core/pack/generated/** — generated SDK surfaces produced by composio generate / the build pipeline.
  • pnpm-lock.yaml, uv.lock, **/bun.lock — package-manager lockfiles; change them by running the package manager, never by hand.

Common Commands

Use mise install for the pinned toolchain. pnpm is managed through mise, not Corepack.

pnpm install
pnpm build
pnpm build:packages
pnpm lint
pnpm format
pnpm typecheck
pnpm test
pnpm test:e2e
pnpm test:e2e:cli
pnpm validate:agent-skills
pnpm validate:skill-routing

Python commands run from python/ unless otherwise noted:

make env
source .venv/bin/activate
make fmt
make chk
make tst
make snt
make build

Release And Package Notes

  • TypeScript package releases use Changesets. Add a changeset only when published TypeScript packages change.
  • Documentation-only and agent-guidance-only changes do not need a changeset.
  • Python release metadata lives in python/pyproject.toml, python/setup.py, and uv.lock.
  • Bumping generated clients is manual. Verify the package version is published before changing pins.

Local Guidance Files

  • TypeScript workspace: ts/AGENTS.md
  • Core SDK: ts/packages/core/AGENTS.md
  • TypeScript providers: ts/packages/providers/AGENTS.md
  • CLI: ts/packages/cli/AGENTS.md
  • E2E tests: ts/e2e-tests/AGENTS.md
  • Python SDK: python/AGENTS.md
  • Python providers: python/providers/AGENTS.md
  • Docs: docs/AGENTS.md