Skip to content
GitHub Copilot Train-the-Trainer
Trainer Guide

Session M6-02 trainer guide: End-to-end capstone for one endpoint

Teaching goal

Guide learners through one reviewed POST /api/bookmarks change with GitHub Copilot. Keep scope decisions in the accepted GitHub issue and require the Session M5-02 specification standards. Do not let the exercise expand into a full API, deployment, or tool tour.

One-hour plan

Time Segment
0:00 to 0:08 Define the one-slice capstone
0:08 to 0:18 Set the issue boundary
0:18 to 0:30 Inspect and tighten the specification
0:30 to 0:40 Write the implementation issue
0:40 to 0:50 Walk through the patch and tests
0:50 to 1:00 Make the review decision and hand off

Teach the boundary

The required slice is POST /api/bookmarks. Learners use GitHub Copilot to implement it, run the tests, and review the result with a person. Unfinished work does not count as capstone completion.

Write these non-goals where everyone can see them:

  • no authentication;
  • no persistent storage;
  • no list, read, update, or delete endpoint;
  • no deployment or CI redesign;
  • no new dependency.

Keep the boundary in the issue

Have learners put every scope decision in the accepted GitHub issue. Do not create a separate form. They must implement only POST /api/bookmarks, use synthetic data, and keep the existing dependencies. They must stop if the work requires another endpoint, live data, deployment, tool configuration, or a new dependency.

Apply Session M5-02

Use lab/starter/bookmark-create-spec.md as the source for accepted behavior. Ask learners to check that each requirement is observable, technology choices stay in the constraints section, and non-goals are named. They must map each issue criterion to a specification ID and a test.

The issue should name the exact route, response shapes, validation rules, duplicate behavior, expected files, required tests, reviewer, and stop conditions. It must not invent behavior absent from the specification.

Implementation walkthrough

Use this work order:

Implement only the accepted POST /api/bookmarks issue in the training sandbox.
Use synthetic data and the existing dependencies. Before editing, name the expected
files and map each change to a requirement. Run npm test. Stop if the work requires
another endpoint, live data, deployment, tool configuration, or a new dependency.
Report changed files, test results, deviations, and deferred scope for review.

After 30 minutes of implementation, check whether learners can finish within the segment. If blocked, record the blocker and a request-changes or pause decision in the handoff. Resume implementation before claiming completion.

Review gate

Review in this order:

  1. Specification and acceptance criteria.
  2. Scope and deferrals.
  3. Validation, response shape, duplicate handling, and tests.
  4. Stop conditions and deviations from the accepted issue.
  5. Handoff owner and next action.

Record one decision: approve, request changes, or pause. Do not approve a change with a serious issue because time ran out.

Reference assets

Common questions

Should learners add the other Bookmark endpoints? No. Record them under deferred scope.

What if agent access fails? Stop the lab. Do not count a patch plan as capstone completion.

What if the tests cannot run? Record the command, failure, findings from inspection, and owner for the next action. Do not approve without executable test results.