The repo agent
Point it at a repository. It reads the code, the tests and the CI, then writes back a design and a Claude Code setup made for that code, with what it checked and what it didn't.
How it will work
Preview, coming soon: an illustration of the repo assistant, which is not available yet. A repository link is pasted, the assistant reads 214 files, ranks three skills, and adds the best match, test-driven-development, to the repository's .claude/skills folder.
- Reads the repository: the package, the tests and the CI
- Finds the commands that build, lint and test it
- Reads the agent rules already there (AGENTS.md, skills)
- Writes CLAUDE.md, two skills, a reviewer subagent, settings and a hook
- Lists what it checked, and what you should run yourself
A demo. The repo agent isn't live yet.
Example report: github/spec-kit
Written by hand from the repository's own files, to show what the repo agent will produce.
The repository
github/spec-kit at commit c00dc05: the Specify CLI (specify), a Python 3.11+ command-line tool built with Typer and packaged with Hatchling, plus the prompt templates, scripts, presets and extensions it installs into other projects.
| What we found | Where |
|---|---|
| Python package, about 240 files | src/specify_cli/ |
| Tests with pytest, about 320 files | tests/ (specify_cli, integrations, extensions, workflows, contract, hooks) |
| Lint with Ruff 0.15.0, tests on Linux, Windows and macOS with Python 3.13 and 3.14 | .github/workflows/test.yml |
| Shell scripts checked with ShellCheck | .github/workflows/lint.yml |
| Agent instructions already present | AGENTS.md (58 lines), .github/skills/code-review, .github/skills/add-community-extension |
| Design notes the agent must read before certain changes | design/cli.md, design/integration.md, design/workflow-step.md |
What a coding agent needs here
- The right test command.
AGENTS.mdwarns that a bareuv run pytestcan pick up an editable install from another worktree. The safe command isuv sync --extra test, then.venv/bin/python -m pytest. - Read-before-change rules. CLI commands, agent integrations and workflow steps each have a design note to read first. An agent that skips them breaks the structure the maintainers rely on.
- Disclosure rules.
CONTRIBUTING.mdasks for disclosure on agent-authored commits, pull requests and review comments, each separately. - Evidence. Behavior changes need positive and negative tests; bug fixes need before-and-after evidence (
CONTRIBUTING.md, "Testing deterministic behavior").
The proposed Claude Code setup
| File | Kind | What it does |
|---|---|---|
CLAUDE.md |
Rules | Imports AGENTS.md (@AGENTS.md) so both agents follow one source, and adds the test command and the three design notes as a short checklist |
.claude/skills/run-tests/SKILL.md |
Skill | Syncs the worktree's own environment and runs Ruff and pytest the way CI does, then reports failures with file and line |
.claude/skills/design-check/SKILL.md |
Skill | Given a change, names the design note it touches (cli, integration or workflow-step) and lists the rules from it that apply |
.claude/agents/test-reviewer.md |
Subagent | Reviews a diff for missing negative tests and missing before-and-after evidence, read-only |
.claude/settings.json |
Settings | Allows uv sync, uv run, .venv/bin/python -m pytest and uvx ruff; asks before git push |
.claude/hooks/ruff-on-edit.sh |
Hook | After a Python file is edited, runs uvx ruff@0.15.0 check on that file and shows the result |
What was checked, and what wasn't
- Checked by hand: every path and command above exists at commit
c00dc05. - Not run: the hook and the skills were not executed. Read them before installing, and run the test skill once yourself.
This example was written by hand to show what the repo agent will produce. The repo agent itself is coming soon.