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

Bite vs Nibble Approaches for AI Coding Agents
An NLP researcher explains two mental models for working with AI coding agents: the 'bite' approach using comprehensive instruction files like claude.md, and the 'nibble' approach using incremental improvement through multiple passes.

Compaction Can’t Fix Context That Was Never in the Transcript: Diagnosing OpenClaw Context Overflows
A bug report reveals a common OpenClaw pitfall: when the system prompt alone exceeds the token budget, compaction—which only summarizes conversation history—cannot help. Use /context map and /context detail to find the real culprit.

Claude Code and the Unreasonable Effectiveness of HTML for AI Agents
A viral post demonstrates how AI coding agents like Claude Code produce better results when instructed to generate HTML, with working examples and a companion blog post discussing the pattern.

Reddit user shares common Claude Code prompting mistakes with fixes
A developer using Claude for Node.js backend work identified 10 common prompting mistakes after months of use, including missing validation requirements and treating Claude as one-shot tool. They created a visual guide with fixes for each issue.