Good AI-Assisted Development Happens at the Systems Level, Not the Task Level

A Reddit post by u/johns10davenport argues that the real leverage in AI-assisted development comes from changing the system, not improving prompts. The author recounts a common frustration: every time they add a new feature to their Phoenix app, the AI coding agent ships the feature but omits the menu item. The page exists, the functionality works, but there's no way for a user to get there.
The Problem with Task-Level Fixing
The first instinct is to tell the model: "add the button." That works, but the human is still doing the thinking—diagnosing the problem and prescribing the fix. The author calls this "pedaling the Peloton so Anthropic can give me free tokens." Prompt engineering just makes you better at telling the model what to do, but you're still working for the model.
The System-Level Shift
Instead of fixing the missing button, the author asked: how do I make this mistake impossible in the future? Their solution uses BDD specs and Phoenix LiveView test helpers. The test framework's navigate function lets the agent jump directly to any page, passing tests without ever touching the UI. So they wrote a linter rule that prevents the agent from calling navigate. Now there's an allowed fixture that drops the test on a known starting route, and the only way the agent can reach the new feature is by clicking through the UI—which forces it to add the menu item to make the test pass.
The result: the problem will never occur again, not because of a better prompt, but because correct behavior is the only possible behavior.
Key Takeaway
Stop fixing the model's output. Start constraining its environment so the right output is the path of least resistance. Every mistake is a chance to design out the next one.
📖 Read the full source: r/ClaudeAI
👀 See Also

Practical Strategies to Avoid Claude Rate Limits on $200 Max Plan
A developer shares specific techniques that have prevented throttling on Claude's $200 max plan for over a month, including SQLite database queries, context handoff systems, and strategic hardware deployment.

Why Your OpenClaw Scheduled/Cronjob Tasks Fail
When you ask an agent to create a scheduled task, it often creates a shell or Python script instead of using OpenClaw's prompt-in-cron feature. This makes tasks non-agentic and inefficient.

OpenClaw v2026.3.13 adds per-agent cacheRetention config for OpenAI token cost savings
OpenClaw v2026.3.13 adds per-agent cacheRetention configuration that enables OpenAI's 24-hour prompt cache retention, potentially cutting input token costs by up to 90% for agents with heartbeat cycles longer than 10 minutes.

Claude Code Self-Audit Finds 3GB of Cruft in ~/.claude — Here's How to Clean It
A user prompted Claude Code to audit its own ~/.claude directory and found 2.6GB of stale session transcripts, 170MB of failed telemetry retry logs, and 153MB of undo buffers — dropping from 3GB to under 200MB after cleanup.