Goal: Turn this app idea into a small, testable first version.
Idea: [describe the app]
User: [who uses it and why]
Core actions: [three actions]
Constraints: Use the existing stack. Add no unnecessary dependencies or secrets.
Before coding: list likely files, assumptions and risks.
Acceptance: the main flow works, empty/error states are understandable, and the production build passes.
debug
Fix a bug
Example input: A quote used €85 × 12 + €300 but displayed €1,620; the correct result is €1,320.
Check the output: Repeat the original case and one different duration. A green build alone does not check the arithmetic.
Goal: Fix this bug without changing unrelated behaviour.
Expected: [expected result]
Actual: [observed result]
Steps to reproduce: [steps]
Error output: [complete relevant log]
Likely files: [if known]
First identify the cause. Make a focused change. Run the relevant test and report the exact result.
feature
Add a feature
Example input: Add an unread filter to a book list. It should update after a status change and show an empty state.
Check the output: Test mixed books, all-read books and a status change while the filter is active.
Goal: Add [feature] to the existing project.
User flow: Given [state], when [action], then [result].
Non-goals: [what must remain unchanged]
Acceptance: [observable normal, empty and error states]
Constraints: Follow existing components and styles; no broad refactor.
Verification: run the build and test desktop, mobile and keyboard access where relevant.
quality
Refactor without changing behaviour
Example input: Extract the monthly-cost calculation into a pure function, preserving rounding and visible messages.
Check the output: Compare before and after on 12 and 36 months, decimal amounts and blank inputs.
Goal: Make [area] easier to maintain without changing behaviour.
Preserve: [public API and observed cases]
Constraints: Keep the diff small; no copy or UI change; no new library.
Before editing: identify callers and existing tests.
After editing: show the diff and run the same behaviour checks before and after.
build
Diagnose a terminal error
Example input: A build rejects Node 20 while the README requires Node 22 or newer.
Check the output: Compare node --version with the project requirement and rerun the same command after fixing the runtime.
Command: [exact command]
Full relevant output: [paste log with secrets removed]
Recent changes: [list]
Project runtime requirement: [README or package engines]
Explain the most likely cause, the smallest fix and one command that verifies it. Do not change application code by guesswork.
GitHub
Write a PR description
Example input: The diff fixes a price formula and adds a test.
Check the output: Distinguish checks actually run from proposed or unavailable checks.
Read the local diff and write a concise PR description.
Include: user-visible problem and resulting behaviour; main changed files; exact validation run; material risks and limits.
Do not invent test results. Flag unrelated edits separately. Use direct technical language.