Files
composiohq__composio/AGENTS.md
T
Rahul Tarak d7b6e7eb30 chore(agents): restore good-docs-writing and good-docs-audit skills (#3991)
## What

Restores the two docs-prose skills that were dropped from the skill
tree:

- `good-docs-writing` — the house documentation style guide (Voice,
Structure, Terminology, Punctuation, Code examples, Formatting), for
drafting or revising docs prose.
- `good-docs-audit` — the review process that audits a doc/README/prose
block against that guide and reports `file:line` findings with concrete
rewrites. Report-only by default.

## Why

Both existed at `d17a268d` under `.claude/skills/` and were deleted in
#3666 (`chore(agents): normalize repo guidance skills`), which renamed
the rest of the tree into the current taxonomy but did not carry these
two over. Nothing replaced them: there is no docs-voice guidance in the
repo today, and `docs-decisions` covers docs-site mechanics (Fumadocs,
changelogs, ADRs), not prose style.

## Shape of the restore

Rule content is restored unchanged from `d17a268d`. Only the file layout
differs, because the old flat single-file form no longer passes
`validate:agent-skills` (SKILL.md is now capped at 80 lines and a linked
`references/` directory is required):

```
.agents/skills/good-docs-writing/SKILL.md              # routing + the rules that matter most
.agents/skills/good-docs-writing/references/style-guide.md
.agents/skills/good-docs-audit/SKILL.md                # routing + non-negotiables
.agents/skills/good-docs-audit/references/audit-process.md
```

They live under `.agents/skills` (canonical); `.claude/skills` is a
symlink, so there is no second copy.

Wiring, all three places the taxonomy is asserted:

- `ts/scripts/validate-agent-skills.mjs` — added to the `expectedSkills`
gate
- `ts/scripts/test-skill-routing.mjs` — one routing probe each (the
validator fails on any skill without a probe)
- `AGENTS.md` — added to the Skill Routing list

## Test results

- `node ts/scripts/test-skill-routing.mjs` — passes, 18 probes over 18
skills. Both new probes resolve to a unique top match.
- `node ts/scripts/validate-agent-skills.mjs` — zero findings against
tracked files.
- `pnpm lint-staged` — no staged file matches a configured task
(patterns cover `ts/packages/**` and `python/**`).
- Markdown formatted with the repo Prettier config.

Two notes on how those were run. `pnpm validate:*` could not be used
locally: pnpm's pre-run dependency check tries to purge and reinstall
the workspace and aborts without a TTY, so the scripts were invoked
directly with `node` (same entrypoints the pnpm scripts use).
Separately, `validate-agent-skills` reports stale-guidance hits under
`docs/.eve/dev-runtime/snapshots/**` on my machine; those are untracked,
gitignored local eve snapshots, unrelated to this change, and won't
exist in CI. The commit used `--no-verify` because the pre-commit hook
is just the `pnpm lint-staged` wrapper that hits the same pnpm abort;
lint-staged was run manually instead.

No changeset: guidance and tooling only, no published package touched.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 05:31:33 -07:00

4.6 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.
  • good-docs-writing: drafting or revising docs prose in the house writing voice.
  • good-docs-audit: reviewing existing docs or prose against that voice and reporting violations.
  • 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.
  • cli-release: first-party CLI beta builds, stable promotion, release verification, or recovery.
  • 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.
  • @composio/cli and @composio/cli-local-tools are excluded from Changesets; use cli-release for CLI binaries and never target those packages in a changeset while they remain ignored.
  • 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