
The Workflow Edit | Practical AI Tool Tutorial
How to Use GitHub Copilot Without Generic AI Instructions
GitHub Copilot suggests code inline and in chat inside your editor. It works best when you ask for one small function with its test and verify the diff before you accept.
Dear Suzannah
Dear Suzannah, I’m writing a function I half remember how to write and I keep getting suggestions that look right but I’m not sure are right. How do I use the autocomplete without shipping something subtle and broken?
Ask for one small function with a test, then verify.
The real use case
You’re a developer writing real code and want Copilot to speed up repetitive or boilerplate work — a function, a test, a refactor. You need it to match your codebase’s patterns and you need to actually verify it runs.
The tool-specific prompt to use
This prompt is specific to GitHub Copilot and this use case. Paste it into the chat box, then replace the bracketed notes with your real project details.
Write one function in [language] that does: [exact behavior, e.g. 'parse a date string in YYYY-MM-DD and return a UTC timestamp']. Inputs: [types and shapes]. Outputs: [type]. Edge cases to handle: [list them, e.g. empty string, invalid date, timezone offset]. Match the naming and style of this repo: [paste 2-3 example lines or describe the convention]. Constraints: [no external deps / use stdlib only / must be pure]. Give me the function, then a unit test that covers the happy path and each edge case. Do not invent APIs or libraries that don't exist. Do not add error handling I didn't ask for. If there's a standard-library way to do it, prefer that. End with a one-line note on anything I should double-check before merging.
Prompt length: about 200 words.
Make the result less generic
- Describe the function’s exact inputs and outputs.
- List the edge cases you actually care about.
- Ask for a test alongside the function, not after.
- Force it to match your repo’s naming and style.
- Review the diff before you accept, every time.
Quick human check
- Does the function come with tests?
- Are your edge cases covered?
- Does it match your repo’s style and naming?
- Does it compile and pass the type checker?
- Are there no invented APIs or libraries?
