Skip to content

Commit b0bfbc7

Browse files
GeekTrainerCopilot
andcommitted
docs: refresh App workshop with learner-created skills and QA
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 0d4024f commit b0bfbc7

102 files changed

Lines changed: 4717 additions & 3231 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AUTHORING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ copilot-workshops/
1515
│ ├── cli/ ← Copilot CLI lessons (0-prerequisites.md + numbered exercises)
1616
│ ├── vscode/ ← VS Code lessons (0-prerequisites.md + numbered exercises)
1717
│ ├── cloud/ ← Cloud agent lessons (0-prerequisites.md + numbered exercises)
18-
│ ├── app/ ← GitHub Copilot app lessons (setup folded into Exercise 1)
18+
│ ├── app/ ← GitHub Copilot app lessons (setup 0–1, core modules 2–10)
1919
│ ├── es-es/ ja-jp/ ... ← Translated locale trees (currently the app harness)
2020
│ └── _images/ ← Screenshots and diagrams (shared across locales)
2121
├── website/ ← Optional Astro + Starlight publisher

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ GitHub Copilot inside **Visual Studio Code** and GitHub Codespaces. Work with Co
2727

2828
### 🤖 [Copilot App](app/)
2929

30-
The **GitHub Copilot app** — a desktop application built on Copilot CLI. Run parallel agent sessions, switch session modes, collaborate on canvases, and manage GitHub issues and pull requests natively — including **Agent Merge**, which shepherds a pull request through rebases, review feedback, CI fixes, and merge.
30+
The **GitHub Copilot app** — a desktop application built on Copilot CLI. Follow the same setup and nine core modules through the star-rating, instructions, filtering, skill, MCP, QA, and feature-PR workflow, using the app's isolated sessions and **Agent Merge**. Create and merge a repository-backed canvas as the fourth pull-request milestone, then wrap up.
3131

3232
### ☁️ [Copilot Cloud Agent](cloud/)
3333

docs/app/0-prerequisites.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ In this lesson, you will:
1515

1616
## Install Node.js
1717

18-
Several lessons ask an agent to build features and run the Tailspin Toys test suite locally, which needs **[Node.js][nodejs]** — the only runtime the project requires. Install version **22 or newer**; the current **LTS** release is a safe choice.
18+
Several lessons ask an agent to build features and run the Tailspin Toys test suite locally, which needs **[Node.js][nodejs]**. Use **Node.js 22.13 or later**, and confirm the supported version in your checkout's `package.json` and README.
1919

2020
The simplest option on every platform is the official installer:
2121

2222
1. In your operating system, open a terminal window using Windows Terminal, macOS terminal, or whatever you typically use.
23-
2. Run the following command to confirm you have at least Node.js 22 or higher installed:
23+
2. Run the following command to confirm you have Node.js 22.13 or later installed:
2424

2525
```shell
2626
node --version
2727
```
2828

29-
3. If you see `v22` or a higher number, you can skip to the next section!
29+
3. If the reported version is at least `v22.13.0` and supported by the project, you can skip to the next section.
3030

3131
> [!TIP]
3232
> You only need to complete these steps if you don't have Node installed, or you need to update.
@@ -41,10 +41,10 @@ The simplest option on every platform is the official installer:
4141
node --version
4242
```
4343
44-
9. You should see `v22.x.x` or higher.
44+
9. Confirm the reported version is at least `v22.13.0` and supported by the project.
4545
46-
> [!TIP]
47-
> Prefer containers? If you have **[Docker][docker]**, you can use the repository's [dev container][dev-containers] instead of installing Node.js locally — it bundles Node for you. You don't need both.
46+
> [!IMPORTANT]
47+
> This App path uses local worktrees. A runtime installed only in a container is not available to those local sessions. Each worktree also needs the project dependencies and Playwright Chromium for E2E checks. Follow the learner repository's README when preparing a worktree, and review any installation request before approving it.
4848

4949
## Set up the lab repository
5050

@@ -64,6 +64,8 @@ You'll work against your own copy of the Tailspin Toys project. Create it now fr
6464
> [!NOTE]
6565
> When you create your repository from the template, a backlog of GitHub issues is created for you automatically. You'll work from these issues throughout the workshop — there's nothing to file yourself.
6666

67+
Use a fresh copy of the revised template: it includes repository instructions, application code, tests, and an existing canvas extension, but no supplied custom agents or skills. You will create your own quality-checks skill and QA profile during the workshop. If you use an older copy, inspect existing customizations rather than overwrite them.
68+
6769
## Summary and next steps
6870

6971
You're set up! You installed Node.js so the project can build and test on your machine, and you created your own copy of the Tailspin Toys repository from the template.
@@ -79,7 +81,5 @@ Next, you'll install the GitHub Copilot app, connect the repository you just cre
7981
[next-lesson]: ../1-install-copilot-app/
8082
[nodejs]: https://nodejs.org/
8183
[node-download]: https://nodejs.org/en/download
82-
[docker]: https://www.docker.com/products/docker-desktop/
83-
[dev-containers]: https://code.visualstudio.com/docs/devcontainers/containers
8484
[template-repository]: https://docs.github.com/repositories/creating-and-managing-repositories/creating-a-template-repository
8585
[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app

docs/app/1-install-copilot-app.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,23 +41,23 @@ To use the GitHub Copilot app the first step, as you might imagine, is to instal
4141

4242
With your project connected, take a moment to learn your way around. The app organizes everything into a few areas in the sidebar:
4343

44-
- **Sessions** — where agents do their work. Each session runs in its own isolated workspace, so you can run several at once without their changes colliding. You'll start your first session in the next lesson.
44+
- **Sessions** — where agents do their work. For this workshop, choose a **new working tree** so each PR milestone has an isolated checkout and branch. Other workspace choices exist, but are not used here.
4545
- **Quick chats** — lightweight conversations for questions and brainstorming that don't need a branch or workspace of their own. You'll try one at the end of this lesson.
4646
- **My work** — your issues and pull requests, surfaced through the app's **native GitHub integration**. From here you can browse and filter issues and pull requests, check CI status, start a session from an issue, and review pull requests — all without leaving the app.
47-
- **Automations** — saved agent tasks that run on a schedule or on demand. You'll create one near the end of the harness.
47+
- **Customize** — discover and manage MCP servers, skills, and canvases. You'll use it to configure Playwright MCP.
48+
- **Automations** — saved agent tasks that run on a schedule or on demand. The wrap-up links to these as a next step, not another workshop exercise.
4849

4950
### Find your seeded backlog
5051

5152
Because the app integrates with GitHub natively, the work waiting in your repository shows up right inside the app. When you created your repository from the template, a backlog of issues was filed for you — let's confirm it's there.
5253

5354
1. Select **My work** in the sidebar.
54-
2. The template seeded eight issues in your backlog. This harness focuses on the following three — confirm you can see them:
55+
2. Find these issues by title rather than assuming their issue numbers:
5556

5657
- Allow users to filter games by category and publisher
5758
- Update our repository coding standards
58-
- Implement pagination on the game list page
5959

60-
3. Select an issue to read its details. Each issue is also a launch point for an agent session — you'll start work from these issues later in the harness.
60+
3. Select an issue to read its details. Each issue is also a launch point for an agent session — you'll start work from these issues later in the harness. Other backlog issues provide context for the canvas, not another implementation task.
6161

6262
> [!NOTE]
6363
> The list of items in My work is automatically filtered to only display items from the repositories you've added to Copilot app. Want to see work items from other repos? Add them to the app!
@@ -84,15 +84,21 @@ Congratulations! You've installed the GitHub Copilot app, connected your project
8484
- get oriented in the workspace and find your seeded backlog in **My work**.
8585
- use a quick chat to ask a fast, throwaway question.
8686

87-
Next, you'll start your first agent session and make your first change to the project — showing a star rating on the game cards. Continue to [Lesson 2 - Running your first agent session][next-lesson].
87+
## Keep PR milestones separate
88+
89+
You will merge four PRs: star ratings; instructions with a small demonstration; filtering with the skill, QA profile, and tests; then the triage canvas. Use one branch per PR milestone. Lessons 4–8 stay in the same filtering session, worktree, and branch, with checkpoint commits rather than extra PRs.
90+
91+
A new App worktree can start from stale local state. Before each new milestone edits files, fetch the repository and fast-forward the new session branch to the latest `origin/main`. The next lessons show this explicitly. Do not stack branches, cherry-pick earlier work, or switch an active filtering session to another branch.
92+
93+
Next, you'll start your first agent session and make your first change to the project — showing a star rating on the game cards. Continue to [Lesson 2 - Add star ratings: a quick win][next-lesson].
8894

8995
## Resources
9096

9197
- [About the GitHub Copilot app][about-copilot-app]
9298
- [Getting started with the GitHub Copilot app][getting-started]
9399
- [Working with agent sessions in the GitHub Copilot app][agent-sessions]
94100

95-
[ex0]: ../0-prerequisites/
101+
[previous-lesson]: ../0-prerequisites/
96102
[next-lesson]: ../2-add-star-rating/
97103
[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app
98104
[getting-started]: https://docs.github.com/copilot/how-tos/github-copilot-app/getting-started
Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,43 @@
11
---
2-
title: "Lesson 8 - Review and next steps"
3-
description: "Recap the GitHub Copilot app harness, automate recurring work, and explore where to go next."
2+
title: "Lesson 10 - Wrap-up and next steps"
3+
description: "Recap the nine core App modules, four PR milestones, and reusable quality workflow, then explore further resources."
44
authors:
55
- geektrainer
6-
lastUpdated: 2026-07-09
6+
lastUpdated: 2026-09-11
77
---
88

99
Over the last several lessons, you took a feature from idea to merge with the GitHub Copilot app, including:
1010

1111
- connecting a repository and orienting to the app's workspace and your seeded backlog.
1212
- starting sessions from a direct task and from issues, and using Plan and Autopilot modes to control how the agent works.
13-
- guiding the agent with custom instructions and a reusable skill.
13+
- guiding the agent with custom instructions, then asking it to create a reusable skill with shell scripts that you inspected and ran for lint, unit tests, end-to-end tests, and type checks.
1414
- testing your work with the Playwright MCP server in a real browser.
15+
- creating and selecting a QA custom agent to assess requirements, coverage, skill-script results, and browser evidence.
1516
- collaborating with the agent on a shared canvas.
16-
- shipping changes up a ladder of merge automation — from merging on github.com yourself to letting **Agent Merge** land a pull request.
17+
- explicitly merging the early PRs yourself, then authorizing **Agent Merge** within the feature and canvas PR workflows.
1718

18-
Let's automate some recurring work, talk through best practices, and look at where to go next.
19+
Setup Lessons 0–1 led into nine core modules, Lessons 2–10. Take a moment to review the artifacts and where to go next; this wrap-up does not launch another hands-on task.
1920

20-
## Automate recurring work
21+
## What you shipped
2122

22-
The app can run agents for you on a schedule or on demand through **automations** — great for routine tasks like triaging new issues or recapping recent activity. Let's create a simple, non-destructive one.
23+
The workshop has four PR milestones, each on its own branch from updated `main`:
2324

24-
1. Select **Automations** in the sidebar, then select **New automation**.
25-
2. Give it a name, such as `Recap my recent work`.
26-
3. Choose a trigger. **Manual** lets you run it on demand; **On a schedule** runs it automatically; **When an issue is created** reacts to new issues. Choose **Manual** for this lesson.
27-
4. Enter a read-only prompt so the automation can't change anything, for example:
25+
1. **Star ratings:** display the existing `starRating` and an explicit unrated state on game cards.
26+
2. **Instructions and demonstration:** add the documentation convention and verify its effect on a small real code change.
27+
3. **Filtering and quality workflow:** implement the issue, create the shell-bundled `quality-checks` skill and QA profile, and include the associated tests.
28+
4. **Repository-backed triage canvas:** share a board that adds issue context without automatically implementing another feature.
2829

29-
```plaintext
30-
Summarize the pull requests merged in this repository over the last week, and list any issues still open in the backlog.
31-
```
30+
Lessons 4–8 used the same filtering session, worktree, and branch. Checkpoint commits preserved progress within PR 3; skills, MCP configuration, and QA did not need separate feature branches. Each later milestone began only after the earlier PR merged and the fresh session branch was updated from `origin/main`.
3231

33-
5. Pick the project (your Tailspin Toys repository) and create the automation.
34-
6. Run it on demand to see the result.
32+
## Different kinds of verification
3533

36-
> [!TIP]
37-
> Automations can run locally or in the cloud. Enable **Run in the cloud** and pick the **Tools** an automation may use when you want it to run unattended on a schedule. Keep scheduled automations scoped and non-destructive until you trust their output.
34+
The early features used existing npm checks. Filtering added your manual browser inspection. The skill made the four checks repeatable through bundled scripts, MCP added direct agent browser observations, and QA combined requirements and coverage with final verification. The PR reused QA evidence only while it applied to the submitted revision.
35+
36+
Tests added should close genuine gaps; a QA run that needs no new tests can be correct. Missing tools, skipped checks, and failures are visible blockers, not passes. Review code and evidence before authorizing merge, and refresh affected evidence after changes.
3837

3938
## Best practices
4039

41-
When using any AI tool, the infrastructure around it drives the quality of what you get out. Instructions files, skills, and custom agents all played a part in this workshop — invest in them and reuse them across sessions.
40+
When using any AI tool, the infrastructure around it drives the quality of what you get out. You created instructions, a skill, and a QA profile in this workshop — review them and reuse them across sessions. Custom agents define specialist roles and instructions, with available tools governed by configuration and harness permissions; skills package reusable task instructions, executable scripts, and supporting resources loaded on demand. A custom agent can execute scripts too, including those bundled with a skill. Confirm actual script execution and custom-agent selection rather than relying on a convincing description.
4241

4342
Match the **mode and model** to the task. Use **Plan** to think through an approach before building, **Interactive** to stay in the loop on focused changes, and **Autopilot** only for well-scoped, isolated tasks. Choose a faster model for routine edits and a more capable model with higher reasoning effort for complex work.
4443

@@ -49,6 +48,7 @@ Context still matters as much as infrastructure. Clearly describing *what* you w
4948
You've covered the core workflow. A few more features worth a look:
5049

5150
- **Quick chats** for fast, throwaway questions that don't need a full session.
51+
- [**Automations**][using-automations] for recurring or on-demand tasks such as summarizing recent work. Review the schedule, permissions, and scope before adopting one; creating an automation is a next step, not part of this workshop.
5252
- **Rubber duck** to talk through a problem and get high-signal feedback before you build.
5353
- [**Custom agents**][custom-agents] to package a role, its tools, and its instructions for repeatable, specialized work.
5454
- [`/chronicle`][chronicle] to generate a narrative of what happened in a session.
@@ -60,7 +60,7 @@ You've covered the core workflow. A few more features worth a look:
6060

6161
The best way to improve with any tool is to keep using it! Use it for production code, for hobby code, for the little app you've had in mind for years but never got around to building. Share your learnings with your team, and learn from theirs. And, as always, explore the documentation.
6262

63-
If you'd like to explore more of the GitHub Copilot ecosystem, check out the [VS Code harness](../../vscode/), the [Copilot CLI harness](../../cli/), or the [Cloud agent harness](../../cloud/).
63+
If you'd like to explore more of the GitHub Copilot ecosystem, check out the [VS Code harness][vscode-harness], the [Copilot CLI harness][cli-harness], or the [Cloud agent harness][cloud-harness].
6464

6565
## Resources
6666

@@ -71,6 +71,10 @@ If you'd like to explore more of the GitHub Copilot ecosystem, check out the [VS
7171
- [Working with canvas extensions][canvas-docs]
7272
- [About cloud and local sandboxes][sandboxes]
7373

74+
[previous-lesson]: ../9-canvases/
75+
[vscode-harness]: ../../vscode/
76+
[cli-harness]: ../../cli/
77+
[cloud-harness]: ../../cloud/
7478
[about-copilot-app]: https://docs.github.com/copilot/concepts/agents/github-copilot-app
7579
[getting-started]: https://docs.github.com/copilot/how-tos/github-copilot-app/getting-started
7680
[customize]: https://docs.github.com/copilot/how-tos/github-copilot-app/customize-github-copilot-app

0 commit comments

Comments
 (0)