Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions .github/workflows/course-updater.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 10 additions & 6 deletions .github/workflows/course-updater.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: "Course Updater"
description: "Daily check for new GitHub Copilot CLI features and updates. Opens a PR if the course content needs updating."
description: "Weekly check (Mondays) for new GitHub Copilot CLI features and updates. Opens a PR if the course content needs updating."
on:
schedule: daily
schedule: weekly on monday
workflow_dispatch:
tools:
bash: ["curl", "gh"]
Expand Down Expand Up @@ -37,25 +37,29 @@ Look for:
- Significant changes to existing features (renames, deprecations)
- New customization options (e.g. instructions, agents, skills, MCP, plugins)

## Step 2 — Compare against the current course content and existing PRs
## Step 2 — Check for existing open PRs to avoid duplicates

Before doing any content comparison, list all open pull requests in this repo that have the `automated-update` or `copilot-cli-updates` labels. Read their titles and descriptions to understand which features or changes each PR already covers. Build a list of features that are **already addressed** by existing PRs — you must exclude those features from any updates you propose later. If every feature you found in Step 1 is already covered by an open PR, stop here and report that no new updates are needed.
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Step 2 requires enumerating open PRs and reading their titles/descriptions. In the compiled workflow, the agent job’s GITHUB_TOKEN permissions are limited to contents: read, which can cause gh pr list/PR API calls to fail with “Resource not accessible by integration”. Consider either (a) granting pull-requests: read to the agent job token, or (b) explicitly instructing the agent to use the GitHub MCP github tool (which is already configured with GITHUB_MCP_SERVER_TOKEN) to list PRs instead of relying on gh auth.

Suggested change
Before doing any content comparison, list all open pull requests in this repo that have the `automated-update` or `copilot-cli-updates` labels. Read their titles and descriptions to understand which features or changes each PR already covers. Build a list of features that are **already addressed** by existing PRs — you must exclude those features from any updates you propose later. If every feature you found in Step 1 is already covered by an open PR, stop here and report that no new updates are needed.
Before doing any content comparison, use the `github` MCP tool (not `gh`) to list all open pull requests in this repo that have the `automated-update` or `copilot-cli-updates` labels. Read each matching PR's title and description to understand which features or changes it already covers. Build a list of features that are **already addressed** by existing PRs — you must exclude those features from any updates you propose later. If every feature you found in Step 1 is already covered by an open PR, stop here and report that no new updates are needed.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The instruction “PRs that have the automated-update or copilot-cli-updates labels” is ambiguous for common tooling: gh pr list --label filters are conjunctive (AND), and GitHub search defaults to AND as well. To reliably avoid duplicates, clarify the intended query (either explicitly fetch both label sets and union them, or use an OR-capable search expression) so PRs with only one of the labels aren’t missed.

Suggested change
Before doing any content comparison, list all open pull requests in this repo that have the `automated-update` or `copilot-cli-updates` labels. Read their titles and descriptions to understand which features or changes each PR already covers. Build a list of features that are **already addressed** by existing PRs — you must exclude those features from any updates you propose later. If every feature you found in Step 1 is already covered by an open PR, stop here and report that no new updates are needed.
Before doing any content comparison, list all open pull requests in this repo that have **either** the `automated-update` label **or** the `copilot-cli-updates` label. Do this with an explicit OR-capable query, or by fetching PRs for each label separately and then unioning and deduplicating the results, so PRs that have only one of the labels are not missed. Read their titles and descriptions to understand which features or changes each PR already covers. Build a list of features that are **already addressed** by existing PRs — you must exclude those features from any updates you propose later. If every feature you found in Step 1 is already covered by an open PR, stop here and report that no new updates are needed.

Copilot uses AI. Check for mistakes.

## Step 3 — Compare against the current course content

This course targets beginners, so only include content changes that cater to that audience. For example, if a new feature is advanced, marked as experimental, or otherwise doesn't qualify as a "beginner" level feature, don't include it in the course content since we don't want to overwhelm learners. Determine what is most relevant and helpful for beginners learning about the Copilot CLI.

Read all of the readme files in the repo and compare the features documented there against what you found in Step 1. Also check existing pull requests to see if any updates are already in progress. DO NOT duplicate efforts if an update has already been proposed in an open PR.
Read all of the readme files in the repo and compare the features documented there against what you found in Step 1.
Identify:

- **Missing features** — new capabilities not yet documented
- **Outdated information** — features that have been renamed, deprecated, or significantly changed

If there is nothing new or everything is already up to date, stop here and report that no updates are needed.

## Step 3 — Update the course content
## Step 4 — Update the course content

If updates are needed, make a decision on which chapter(s) need to be updated.

If the new information can be added to existing chapter(s), edit those chapters to include refinements, new sections, or updated information as needed. Remember that this course targets beginners, so ensure that any new content is explained clearly and simply, with examples if possible.

## Step 4 — Open a pull request
## Step 5 — Open a pull request

Create a pull request with your changes, using the `main` branch as the base branch. The PR title should summarize what was updated (e.g., "Add /plan command documentation"). The PR body should list:

Expand Down
Loading