Software Engineering5.0 · 0 ratings

Self-Critiquing Code Generator

Generates a solution, then adversarially critiques and revises it before presenting a hardened final version.

Role-BasedSelf-CritiqueStep-by-Step

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. 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. 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. 3

    Run it, then refine. Ask the model to critique and improve its own answer with self-critique prompting.

Techniques in this prompt

Role-Based

Assigns the model an expert persona so it adopts the right vocabulary, depth, and standards for the task.

Learn this technique
Self-Critique

Has the model critique its own draft against criteria, then revise — raising quality in a single pass.

Learn this technique
Step-by-Step

Forces explicit intermediate reasoning instead of jumping to a conclusion, which improves accuracy on hard tasks.

Learn this technique

Recommended models

claudegpt-4ogemini

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