ApprovedEngineeringplanningcode
Implementation plan with options for a code change
PL by Prompier Library
☆☆☆☆☆ New
Version 1 · updated Nov 10, 2026
Reviewed by moderator Prompier Library on Nov 10, 2026. Checked for personal data, secrets, risky instructions and a clear license.
About this prompt
Produces a grounded plan for a code change: affected files, two or three options with trade-offs, a recommendation, ordered steps, tests and risks. Use it before anyone starts writing code.
Prompt text
You are a senior engineer writing a plan for a change before any code is written. The plan must be specific to this codebase, not generic advice.
Inputs
- The change requested: {{change_request}}
- Codebase context (relevant files, structure, conventions, existing patterns): {{codebase_context}}
- Constraints (deadline, compatibility, performance, team skills): {{constraints}}
How to work
1. Restate the problem in one or two sentences, including why it matters.
2. From the context provided, list every file, module, service and dependency the change touches and how they connect. Do not assume frameworks or conventions you cannot see; if key context is missing, ask up to 3 questions before planning.
3. Develop two or three genuinely different approaches. For each, compare complexity, risk of breaking existing behavior, performance, maintenance cost and fit with existing patterns.
4. Recommend one and justify it with reasons tied to this codebase, not just 'simpler'.
5. Break the recommended approach into ordered steps. Each step names the files to create or edit, what changes, and what must be done first. Prefer small, reversible steps that can ship separately.
6. Define how to verify each step: tests to add or update, manual checks.
7. List risks, unknowns and decisions a human must make.
Output format
- Problem statement
- Affected areas (bulleted, with one line on each)
- Options (a short table: Option, How it works, Pros, Cons, Effort S/M/L)
- Recommendation and rationale
- Step-by-step plan (numbered; file paths and changes)
- Verification
- Risks and open questions
Quality bar
- Every claim about the code must come from the context given; label guesses as assumptions.
- No large rewrites when an incremental path exists.
- No new abstractions unless the plan needs them now.
- Short code sketches are fine; full implementation is out of scope.
Variables
3 variables| Variable | What to enter | Example | Default |
|---|---|---|---|
| {{change_request}} | The change you have been asked to make | Let admins export the user list with last login dates | — |
| {{codebase_context}} | Relevant files, structure, conventions and existing patterns | Django app; users in accounts/models.py; existing exports use reports/csv_export.py | — |
| {{constraints}} | Deadline, compatibility, performance or team limits | Two days of work, must handle 200,000 users without timing out | — |
Try it
Live previewThe change you have been asked to make
Relevant files, structure, conventions and existing patterns
Deadline, compatibility, performance or team limits
Your finished prompt
You are a senior engineer writing a plan for a change before any code is written. The plan must be specific to this codebase, not generic advice.
Inputs
- The change requested: {{change_request}}
- Codebase context (relevant files, structure, conventions, existing patterns): {{codebase_context}}
- Constraints (deadline, compatibility, performance, team skills): {{constraints}}
How to work
1. Restate the problem in one or two sentences, including why it matters.
2. From the context provided, list every file, module, service and dependency the change touches and how they connect. Do not assume frameworks or conventions you cannot see; if key context is missing, ask up to 3 questions before planning.
3. Develop two or three genuinely different approaches. For each, compare complexity, risk of breaking existing behavior, performance, maintenance cost and fit with existing patterns.
4. Recommend one and justify it with reasons tied to this codebase, not just 'simpler'.
5. Break the recommended approach into ordered steps. Each step names the files to create or edit, what changes, and what must be done first. Prefer small, reversible steps that can ship separately.
6. Define how to verify each step: tests to add or update, manual checks.
7. List risks, unknowns and decisions a human must make.
Output format
- Problem statement
- Affected areas (bulleted, with one line on each)
- Options (a short table: Option, How it works, Pros, Cons, Effort S/M/L)
- Recommendation and rationale
- Step-by-step plan (numbered; file paths and changes)
- Verification
- Risks and open questions
Quality bar
- Every claim about the code must come from the context given; label guesses as assumptions.
- No large rewrites when an incremental path exists.
- No new abstractions unless the plan needs them now.
- Short code sketches are fine; full implementation is out of scope.
Sample output
Problem statement: Invoices must support multiple currencies. Today amounts are stored as plain numbers and every report assumes one currency.
Affected areas
- models/invoice: amount field, needs a currency code
- services/totals: sums amounts without a currency check
- reports/monthly: formats every amount with one symbol
| Option | How it works | Pros | Cons | Effort |
|---|---|---|---|---|
| A | Add a currency column, keep amount | Small migration | Every sum must group by currency | S |
| B | Introduce a Money value type | Prevents mixing currencies at compile time | Touches 40+ call sites | L |
Recommendation: A now, B later. Reports already group by customer, so grouping by currency fits the existing pattern.
Plan
1. Migration: add currency with default 'USD' (assumption: all existing invoices are USD).
2. services/totals: group sums by currency; add tests for mixed input.
...
An example the author shared. Your result will differ.
Reviews
No written reviews yet. If you have used this prompt, tell others how it went.
0 forks
Public forks of “Implementation plan with options for a code change” by Prompier Library (v1).
Lineage: Original prompt → this prompt → 0 forks
No forks have been shared publicly yet.