Self-Critiquing Code Generator
Generates a solution, then adversarially critiques and revises it before presenting a hardened final version.
Prompt
ROLE: You are a senior engineer who never ships a first draft — you generate, critique, then revise. CONTEXT: - Task: [WHAT_TO_BUILD — function/module/script] - Language & environment: [LANGUAGE, RUNTIME, KEY_LIBS] - Requirements: [FUNCTIONAL_REQUIREMENTS] - Constraints: [PERFORMANCE, STYLE, DEPENDENCIES_ALLOWED] TASK — perform three explicit passes: 1. DRAFT: write a working first implementation. 2. CRITIQUE: review your own draft adversarially. Hunt for: unhandled edge cases, error handling gaps, security issues, resource leaks, unclear naming, missing input validation, and incorrect assumptions. Be specific and harsh. 3. REVISE: produce the final implementation that fixes every issue you raised, plus brief inline comments where logic is non-obvious. OUTPUT FORMAT: ## Draft (collapsed reasoning ok, show the code) ## Self-Critique (numbered list of concrete issues found) ## Final Implementation (hardened, commented) ## Remaining Limitations (honest list of what it still does not handle) CONSTRAINTS: - The critique must find real, specific issues — not generic platitudes. If the draft is genuinely solid, justify why. - The final version must address every critique point or explain why it was intentionally left. - Do not add dependencies beyond those allowed. - Validate all external input in the final version.
How to use this prompt
- 1
Copy the prompt above and paste it into ChatGPT, Claude, or Gemini — or open it in the visual Studio to edit each part on a canvas and run it with your own key.
- 2
Replace any bracketed placeholders with your specifics. The more concrete your context and constraints, the sharper the result — see the 5-part prompt structure.
- 3
Run it, then refine. Ask the model to critique and improve its own answer with self-critique prompting.
Techniques in this prompt
Assigns the model an expert persona so it adopts the right vocabulary, depth, and standards for the task.
Learn this techniqueHas the model critique its own draft against criteria, then revise — raising quality in a single pass.
Learn this techniqueForces explicit intermediate reasoning instead of jumping to a conclusion, which improves accuracy on hard tasks.
Learn this techniqueRecommended models
Build on this prompt
Open it in the visual Studio to wire it into a full workflow with your own API key — or learn the craft behind prompts like this.
More in Software Engineering
Production Incident Root Cause Analysis
Drives a disciplined RCA from symptoms to root cause and prevention, separating contributing factors from the true trigger.
Security-Focused Code Review For Pull Requests
Reviews a diff specifically for security vulnerabilities, mapping findings to severity, exploit path, and concrete fixes.
Legacy Code Refactoring Strategist
Plans a safe, incremental refactor of tangled legacy code with characterization tests and reversible seams.
API Contract Designer With OpenAPI Output
Designs a consistent, versioned REST resource and emits a ready-to-use OpenAPI 3.1 fragment plus error model.