AGENTS.md · git:20261108.c19cd0c · 2026-11-08 · sha256 9c1961d1757b9361

AGENTS.md git:20261108.c19cd0cA

Immutable. This exact content never changes and is served at /api/v1/blob/9c1961d1757b9361.

# Claude Octopus Agents

This file describes the autonomous agents available in this repository for
AI coding tools that support agent discovery (e.g., GitHub Copilot coding agent).

## Available Agents

| Agent | Description | Tools |
|-------|-------------|-------|
| `backend-architect` | Scalable API design, microservices, distributed systems | Read-only |
| `code-reviewer` | Code quality, security vulnerabilities, production reliability | Read-only |
| `debugger` | Errors, test failures, unexpected behavior | All |
| `docs-architect` | Technical documentation from codebases | Read + execute |
| `frontend-developer` | React components, responsive layouts, client-side state | All |
| `performance-engineer` | Optimization, observability, scalable performance | Read-only |
| `security-auditor` | DevSecOps, OWASP compliance, vulnerability assessment | Read-only |
| `tdd-orchestrator` | Red-green-refactor discipline, test-driven development | All |
| `database-architect` | Data modeling, schema design, migration planning | Read-only |
| `cloud-architect` | AWS/Azure/GCP infrastructure, IaC, FinOps | Read + execute |

## Agent Definitions

Agents are defined in two formats for cross-platform compatibility:

- **Claude Code**: `.claude/agents/*.md` — YAML frontmatter with Claude Code tool names
- **GitHub Copilot**: `.github/agents/*.agent.md` — YAML frontmatter with Copilot tool aliases

Both formats describe the same 10 agents with platform-native tool mappings:

| Claude Code Tool | Copilot Alias |
|-----------------|---------------|
| Read | read |
| Write, Edit | edit |
| Bash | execute |
| Grep, Glob | search |

## MCP Integration

The MCP server (`mcp-server/`) exposes Claude Octopus workflows as MCP tools.
For MCP-aware coding agents, connect to the MCP server rather than invoking
agents directly.

## Repo Orientation for Agents

Mirror of the "Repo Orientation for Agents" section in `CLAUDE.md` (keep both in sync). Essentials:

- **Derived artifacts, never hand-edit**: `.claude-plugin/marketplace.json` is regenerated by `./scripts/sync-marketplace.sh`. `scripts/sync-readme.py` owns current facts across both READMEs and `PRODUCT.md`. Run `make sync` after component, metadata, release, model, or provider changes. During development use affected suites. Before push run `make ci-quick` and the affected regressions; use `make ci-changed` when the selector has a focused mapping. Exact-commit hosted Smoke Tests, Unit Tests, and Integration Tests plus approval gate merge and release. Do not repeat a completed hosted matrix locally. `make ci-local` remains the complete offline fallback when hosted evidence is unavailable. See `tests/README.md` for tiers.
- **Exec bits**: scripts stay `100755`; `git diff origin/main...HEAD --summary | grep "mode change"` must be empty (CI-enforced; `allow-mode-change` label bypasses). Local test runs chmod test fixtures as a side effect — recheck modes after every local test run.
- **Provider wiring**: 7-point checklist across 5 files, documented in `docs/PROVIDERS.md`. Case globs are order-sensitive (`claude-sdk*` before `claude*`). Identity and runtime policy belong in both registry tables; the parity validator rejects incomplete registrations.
- **Adapter environment**: MCP loads provider credential and transport names from `config/provider-env-allowlist.json`; the dispatch plan narrows each child to its selected credential.
- **Releases**: follow `RELEASING.md`; tag the squash-merge commit on `main`, never the branch head.
- **Secret-scan quoting**: write `"SOME_API_KEY=${VAR}"`, not `SOME_API_KEY="${VAR}"`.
- **Outbound GitHub text**: never place generated text or Markdown directly in shell `--body`, `-f body=`, or similar arguments. Stream it to `./scripts/safe-gh-comment.sh --repo OWNER/REPO ... -` on stdin (or pass a private file); the helper snapshots and validates the body before a silent GitHub write.
- Keep local tracker databases, generated session state, credentials, and private handoff files out of this public repository.

## Public work tracking

Use GitHub issues and pull requests for public work tracking. At session start,
read this file, `CLAUDE.md`, `git status`, and the relevant issue or pull
request. Run the focused checks for the files you change and `make ci-quick` before
push. Require the exact-commit hosted gates before merge or release; use
`make ci-local` as the offline fallback, not an additional mandatory repeat. Keep local tracker databases, generated session state,
credentials, and private handoff files out of this repository.