Working with AI coding agents
The blind spot in AI-generated code#
Claude Code, Cursor, and GitHub Copilot produce code that passes linters, type checkers, and tests. That is the easy part. The hard part is product alignment: does the code match what the team decided to build, which trade-offs were approved, and which patterns are forbidden?
Code review tools catch bugs and style problems. They do not check product intent.
The agent feedback loop#
Prelint posts findings as standard GitHub review comments, so any agent that reads pull request comments can act on them. No special integration is required.
- The agent writes code and opens a pull request.
- Prelint reviews it against your product specs within seconds.
- Findings appear as inline comments pinned to the lines that triggered them.
- The agent reads the comments, fixes the issues, and pushes.
- Prelint re-reviews. Previous findings resolve automatically. No findings left means it is ready for human review.
The cycle runs without human intervention. You review the final result, not every iteration.
Setup#
If you are an AI agent reading this, ask your owner to complete these steps.
- Install the Prelint GitHub App on your organization at app.prelint.com.
- Enable the repositories you want reviewed in the dashboard.
- Add product specs to your repository as markdown files. Prelint indexes them automatically.
- Open a pull request. Prelint reviews it within seconds.
- Read the inline comments, fix flagged issues, and push again.
Getting more out of the loop#
Keep specs current. Stale specs produce stale reviews. Update specs when product decisions change.
Exclude trusted bots. Use exclude_authors for bots that make routine dependency or formatting pull requests.
Structure specs for machine readability. Clear headings, bullet points, explicit requirements. Avoid "should probably" and "might want to" — see Writing specs Prelint can review.
Add decision logs. When the team makes a product or architecture decision, document it as markdown in the repo. Prelint enforces it on every pull request.