Session M2-05: GitHub Copilot App for developers¶
Module: Module 2: Copilot in Practice
Difficulty: Intermediate
Prerequisites: Sessions M1-01 to M1-03, M2-01 to M2-04
Duration: 180 minutes (1 hour trainer content, 2 hour lab)
Overview¶
Use the GitHub Copilot app for engineering work. Separate exploratory chats from project sessions and choose Interactive, Plan, or Autopilot based on risk. Keep concurrent work in isolated working trees.
Follow one synthetic change through a local inner loop and a GitHub-facing outer loop. Attach files and test output, hand work between sessions, and request an independent critique. Then inspect an issue and pull-request snapshot and define a manual read-only automation that reports PR readiness without changing GitHub.
Learning outcomes¶
- Choose between a chat and a project session.
- Explain when to use Interactive, Plan, or Autopilot.
- Start isolated work and check the branch or working-tree boundary.
- Attach only the files needed for the next decision.
- Hand a task to a fresh session without relying on hidden conversation history.
- Use tests, diffs, and command output to check work in the inner loop.
- Challenge
/planwith/rubber-duckbefore implementation and record the revision. - Explain the critic's read-only role and automatic contrasting-model selection.
- Compare a
/sparargument in a checked fork and review/merge-to-parent. - Run
/reviewon the uncommitted repair and check its findings. - Connect issue intent, pull-request changes, review threads, and checks.
- Request an independent critique before declaring work ready.
- Define and run a manual read-only PR-readiness automation.
Access policy¶
GitHub Copilot app access is required. Before the session,
check that each learner can open the app, sign in, connect the local Git training
project, and start a working-tree session. Check /plan, /review, and
/rubber-duck in the command picker.
The lab also requires /fork, /merge-to-parent, and /spar. Check local
sandbox and approval settings before the run; do not weaken them for the exercise.
If app access is unavailable, learners must not improvise with customer repositories or paste protected code into another service. Stop the lab if app access or a required command is unavailable.
After this session, use the Session M7-05 developer route to practise supervising independent child sessions. Sessions M7-01 to M7-04 are not prerequisites for that route.
Session structure¶
| Block | Duration | Content |
|---|---|---|
| Trainer content | 60 min | Slides and trainer guide |
| Lab | 120 min | App workflow lab |
Materials¶
| Resource | Location |
|---|---|
| Trainer guide | trainer-content/README.md |
| Slides | slides.md |
| Lab guide | lab/README.md |
| Starter project and sample results | lab/starter/ |
| Reference solution | lab/solution/ |
| Shared glossary | ../glossary.md |
Data boundary¶
All issue text, code, pull-request metadata, checks, and review comments in this session are synthetic. Do not replace them with customer names, tenant details, private repository URLs, secrets, or production logs.
Product references¶
These references were checked on October 15, 2026. The app is evolving, so trainers should recheck command names and preview labels before delivery.