Consider GitHub Copilot when its editor integration and selected plan fit your repository workflow.
Start with the finished task
Begin with a bounded function, supported Python version and expected behavior. Tests matter more than a persuasive explanation of a generated snippet.
- 1Ask for a minimal diff
Ask for a minimal diff and list dependencies.
- 2Inspect imports, filesystem access and
Inspect imports, filesystem access and exception behavior.
- 3Run appropriate tests in an
Run appropriate tests in an isolated project before merging.
- 4Keep the assistant’s explanation beside
Keep the assistant’s explanation beside actual test output rather than replacing evidence with prose.
Choose a workflow that fits
Use a separate review for changes involving files or external calls. Avoid evaluating an assistant only with a happy-path example that cannot reveal its assumptions.
| Tool | Source evidence | Confirm before buying |
|---|---|---|
| GitHub Docs ↗ | GitHub documents Copilot plan differences and usage allowances. | Current feature allowance, editor support and repository policy. |
| Manual or conventional route | Use a small conventional function when the task has a fixed specification and no ambiguous requirements. | Editorial workflow advice; this is not a measured comparison or vendor performance claim. |
The correction in our worked example
The initial function divides by zero for the stated edge case. This exercise supplies a corrected contract and arithmetic, not a vendor-generated or executed implementation.
Fictional function averages a list. Supplied inputs are [2,4,6] and an empty list; empty input should raise ValueError.
Return sum(values)/len(values) with no empty-input check.
Check for empty input and raise ValueError. For [2,4,6], compute 12/3=4. Keep both acceptance cases in the test plan.
Build and inspect the handoff
Ask for a minimal diff and list dependencies. Inspect imports, filesystem access and exception behavior. Run appropriate tests in an isolated project before merging. Keep the assistant’s explanation beside actual test output rather than replacing evidence with prose.
Define expected behavior
Specify valid inputs, the empty-input policy and at least one result you can compute by hand. Run proposed code in a controlled environment before describing it as tested. Use a small conventional function when the task has a fixed specification and no ambiguous requirements.
Compare the full cost
Price the workflow you use: completion, chat and agent usage may have different allowances. Free-tier documentation changes; confirm the current counter instead of quoting an older limit.
Development questions
Is compiling enough to accept a function?
No. Run behavior checks covering empty, invalid and boundary inputs relevant to the contract.
When is a simpler workflow a better choice?
Use a small conventional function when the task has a fixed specification and no ambiguous requirements.
THE RESEARCH DESK
Sources & methodology
Official documentation was consulted on 2026-10-07. The worked example uses fictional inputs and was edited for this guide. No vendor application benchmark or outcome test was performed. Prices and allowances should be confirmed before purchase.
docs.github.com · plans↗Put this guide to work
Your decision criteria: Current feature allowance, editor support and repository policy.
- Fictional function averages a list. Supplied inputs are [2,4,6] and an empty list; empty input should raise ValueError.
- Specify valid inputs, the empty-input policy and at least one result you can compute by hand. Run proposed code in a controlled environment before describing it as tested.
- Current feature allowance, editor support and repository policy.