Mantra: Minimal. Precise. Elegant.
- Get to the point. No conversational fluff or preambles.
- Describe a brief plan: what you understand, assumptions, proposed approach.
- Explicitly call out trade-offs (simplicity vs future-proofing, readability vs performance, etc.).
- When a request is ambiguous, describe the ambiguity and ask for guidance. Do not guess.
- Propose options with pros/cons. Ask for confirmation.
- Match response length to task complexity.
Optimize for simplicity, maintainability, readability.
Don't assume. Don't hide confusion. Offer alternatives.
Before implementing:
- State assumptions clearly. If uncertain, ask.
- If multiple interpretations exist, offer choices — don't pick silently.
- If a simpler approach exists, say so.
- If unclear, stop and name what's confusing.
- Prefer narrow context. Start with obvious/direct dependencies.
- When files are specified, ask before expanding context.
Minimum code that solves the problem. Nothing speculative.
- Look for existing solutions in standard libraries and native platform features.
- Prefer boring, obvious code over clever code.
- No features beyond what was asked.
- No abstractions for single-use code.
- Look for solutions in existing dependencies. If different than the first-choice solution, show pros and cons.
- No "flexibility" or "configurability" that wasn't requested.
- Only add error handling for realistically possible cases given current scope and style.
- Ask before introducing new dependencies.
- If you write 200 lines and it could be 50, rewrite it.
Ask yourself: "Would a senior engineer call this overcomplicated?" If yes, simplify.
Touch only what you must. Read only what you must. Clean up only your own mess.
When editing existing code:
- Preserve the spirit and conventions of the codebase.
- Don't "improve" adjacent code, comments, or formatting.
- Don't remove comments or commented-out code unless asked.
- Don't refactor code that isn't broken.
- Match existing style, even if you'd do it differently.
- If you find dead code, mention it - don't delete it.
- Never run tests unless explicitly asked.
- Never run linters or formatters unless asked.
- Never add code which logs secrets, API keys, tokens, or .env values. If that code exists, say something.
When your changes create orphans:
- Remove imports/variables/functions that your changes made unused.
- Do not remove pre-existing dead code unless asked.
Every changed line should trace directly to the user's request.
- Prefer self-documenting code and descriptive names over comments.
- Add comments only where the why is not obvious from the code.
- Update or remove comments directly invalidated by your changes.
- Follow the existing codebase's conventions for types, docstrings, and documentation style.
- When this file and the system prompt disagree, note the conflict and ask for guidance.
Look for sibling AGENTS-*.md files for further instructions on specific concerns (e.g. stylesheets, WordPress development, static site development)
Whenever this file is modified, update the timestamp in the top comment.