Add explicit top-level Markdown allowlist entries for both PR creation and branch updates, preserving nested-file coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: f2274c18-63bd-426e-8899-eb97b7711b1a
9.1 KiB
name, description, on, permissions, tools, checkout, safe-outputs
| name | description | on | permissions | tools | checkout | safe-outputs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Learning Hub Updater | Daily check for new GitHub Copilot features and updates. Opens a PR if the Learning Hub needs updating. |
|
|
|
|
|
Check for Awesome GitHub Copilot Updates
You are a documentation maintainer for the Awesome GitHub Copilot Learning Hub. Your job is to check for recent updates to GitHub Copilot and determine if the Learning Hub pages in website/src/content/docs/learning-hub need updating.
Step 1 — Gather recent Copilot updates
Use web-fetch to read the following pages and extract the latest entries from the past 7 days:
- https://github.blog/changelog/label/copilot/ — official changelog
- https://github.com/github/copilot-cli/blob/main/changelog.md — CLI changelog
- https://github.com/github/github-app/blob/main/changelog/changelog.md — GitHub Copilot app changelog
- https://github.blog/ai-and-ml/github-copilot/ — blog posts
- https://code.visualstudio.com/updates - VS Code release notes (filter for Copilot-related updates)
- https://nishanil.github.io/copilot-guide/ - community-maintained guide (check for recent commits or updates)
Also use GitHub tooling to check the latest releases and commits in the github/copilot-cli and github/github-app repos.
Look for:
- New features or capabilities (new slash commands, new agent modes, new integrations)
- Significant changes to existing features (renames, deprecations, GA announcements)
- New customization options (instructions, agents, skills, MCP, hooks, plugins)
- New platform features (memory, spaces, SDK updates)
- Notable community projects built on Copilot
Step 2 — Compare against the current Learning Hub
Read the pages in the current Learning Hub and compare the features documented there against what you found in Step 1, with the exception of the cli-for-beginners section as we handle updates to that separately. Any suggested changes to those pages will be rejected.
Also exclude website/src/content/docs/learning-hub/app-for-beginners/ and
website/public/images/learning-hub/copilot-app-for-beginners/. The
app-for-beginners-sync workflow owns this source-faithful course mirror.
Do not rewrite its lessons or assets from feature research, or change its
course card and cross-links independently of that sync.
Identify:
- Missing features — new capabilities not yet documented
- Outdated information — features that have been renamed, deprecated, or significantly changed
- Missing links — new official docs or blog posts not in the Further Reading section
- Stale version notes — inline
vX.Y.Z+callouts, "previously"/"as of"/"breaking change" notes, or superseded feature descriptions that are candidates for consolidation or removal now that a newer release has landed
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 Learning Hub
If updates are needed, make a decision on whether a new page needs to be added (e.g., for a major new feature) or if existing pages can be updated with new sections.
Content model — read this before editing. The Learning Hub distinguishes between two kinds of content, and each page should keep them clearly separated into distinct sections:
- Evergreen guides (most pages, e.g.
copilot-configuration-basics.md,building-custom-agents.md,installing-and-using-plugins.md,understanding-mcp-servers.md,automating-with-hooks.md) must describe current behavior as the primary voice — write "Use X to do Y", not "In vA.B.C, X was added". These pages are not a changelog and must not be allowed to become one. - Compatibility and migration notes are where release-specific history belongs: breaking changes, renamed settings, removed commands, and minimum-version requirements that a reader upgrading from an older version needs. Put this material in a
## Compatibility and Migration Notessection at the bottom of the relevant page (create the section if it doesn't exist yet) instead of inline in the main teaching flow.
Prefer consolidation over addition:
- Before adding a new inline
(vX.Y.Z+)note, check whether the same section already has one or more older version notes on the same setting, command, or field. If so, rewrite that passage to describe only the current behavior, and move any genuinely useful migration detail (old name, old default, what breaks) into the Compatibility and Migration Notes section. - Do not add a new inline version tag for a feature that has been generally available for more than a couple of releases — just document it as the current behavior.
- Only keep an inline version tag when a reader must know the version to make a decision right now (e.g., "requires v1.0.80 or later").
- If a page's main teaching flow already has more than roughly 8–10 inline version tags outside of a Compatibility and Migration Notes section, treat that as a signal to do a consolidation pass on that page during this run, not just append another note.
For new pages:
A new page should be created for major features or capabilities that warrant their own documentation (e.g., a new feature of Copilot, a new pattern for working with Copilot, etc.).
To create a new page:
- Create a new markdown file in the appropriate section of
website/src/content/docs/learning-hub(e.g.,website/src/content/docs/learning-hub/agents/new-agent.md). - Write a summary of the new feature, how it works, and its use cases.
- Add a "Further Reading" section with links to official documentation, blog posts, and relevant community resources.
For updates to existing pages:
If the new information can be added to existing pages, edit those pages to include refinements, new sections, or updated information as needed, following the content model above. Make sure to update any relevant links in the "Further Reading" sections.
Step 4 — Reuse or update the existing bot pull request
Before opening a new pull request, use GitHub pull request tooling to find open
PRs with the automated-update and copilot-updates labels and a [bot]
title prefix. Identify whether any matching PR is already updating the same
Learning Hub area.
If a matching PR already exists:
- Use the
push_to_pull_request_branchsafe-output tool to push the changes onto that PR's branch instead of creating a new PR. This tool can only target PRs that carry both labels and the[bot]title prefix. - Keep the branch and title stable so the update remains a single, current review thread.
- If an older matching PR is stale or clearly superseded by the newer content,
use the
close_pull_requestsafe-output tool to close it with a short explanation such as "Superseded by newer automated update". - Prefer a single active PR that reflects the latest information.
Only use the create_pull_request safe-output tool to open a fresh PR when no
relevant open bot PR exists for the same content area.
When creating a new PR, use the main branch as the base branch. The PR title
should summarize what was updated (for example, "Add/plan command and model
marketplace documentation"). The PR body should list:
- What new features or changes were found
- What sections of the guide were updated
- Links to the source announcements
- Content cleanup — what older inline version notes were consolidated, rewritten as current behavior, or moved into a Compatibility and Migration Notes section, or a brief note that none needed changes this run
The PR should target the main branch and include the labels automated-update and copilot-updates.
Step 5 — Avoid duplicate bot churn
Do not create a new PR when the same content is already being tracked in a current open bot PR — push to it instead (Step 4).
If the repo already has one or more older bot PRs for near-identical Learning Hub changes, prefer to:
- push the update to the newest relevant PR via
push_to_pull_request_branch - close stale duplicates via
close_pull_requestwith a short explanation such as "Superseded by newer automated update" - avoid leaving the maintainers to triage multiple almost-identical docs PRs
This keeps the automation loop tight and reduces review noise.