Simon Willison Launches llm-coding-agent Python Library via Claude Code Spec-Driven TDD
Simon Willison built and shipped `llm-coding-agent` as a slop-alpha on PyPI, a lightweight command-line agent utilizing the `llm` alpha. It implements file reading, file searching, and shell command execution entirely using Spec-Driven Test-Driven Development.
Impact: Medium
Why it matters
It demonstrates how developer tooling like Claude Code can be used with spec-driven TDD to bootstrap fully functional LLM agents quickly with structured tools.
TL;DR
- 01The project was built using spec-driven TDD assisted by Claude Code.
- 02It provides a set of CLI tools to edit, read, list, and search files, and execute shell commands.
- 03A programmatic Python API is also available to run the coding agent with approval checks.
Key facts
- Library version
- slop-alpha
- Package registry
- PyPI
- Development methodology
- Spec-Driven TDD with Claude Code
Zero-Config CLI Invocation
Using the ultra-fast uv package manager, you can execute the coding agent directly without local installation:
uvx --prerelease=allow --with llm-coding-agent llm codeThis command hooks into the default llm config and uses your configured environment API keys (such as OpenAI).
Set of Core Tools
The tool suite implemented in llm-coding-agent covers:
CodingTools_edit_file: Performs highly precise, exact-whitespace modifications to target files and outputs agit diffrepresentation.CodingTools_execute_command: Safely runs terminal commands with a standard 120-second timeout window.CodingTools_read_file: Operates likecat -n, accepting offset and line limit parameters to prevent token-burn on massive target logs.
Programmatic Python Interface
For developers looking to integrate autonomous coding behaviors inside custom workflows, the library exports a simple class API:
from llm_coding_agent import CodingAgent
agent = CodingAgent(model="gpt-5.5", root="/workspace", approve=True)
agent.run("Fix the failing test in tests/test_parser.py")✓ When to use
- When trying out spec-driven development methodologies or rapid, agentic code drafting via CLI.
✕ When NOT to use
- When you require a fully mature, production-ready enterprise workflow engine with zero intervention required.
What to do today
- Run the library with `uvx` and experiment with test workflows using the `--yolo` flag.