Files
awesome-copilot/.github/workflows/learning-hub-updater.md
T
Aaron PowellandCopilot App d7e4ad98ed Add Copilot code review quality guidance (#3665)
* Add Copilot code review quality guidance

Add a repository-specific Copilot Code Review skill for repo-fit, provenance, differentiation, validation, and marketing-signal review. Wire it into the repo review instructions and CODEOWNERS, add an advisory PR quality-signal workflow, and tighten the Learning Hub updater instructions to reuse existing bot PRs instead of creating duplicate stale update PRs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Fix PR review workflow feedback

Add constrained safe outputs for reusing and closing Learning Hub bot pull requests, and declare the quality-signal workflow name in source frontmatter.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Upgrade agentic workflows

Rebase the PR onto main and upgrade gh-aw to v0.88.8. Refresh setup actions, generated workflow locks, container pins, and updater permissions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-23 13:26:28 +10:00

8.5 KiB
Raw Blame History

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.
schedule workflow_dispatch
daily
contents copilot-requests pull-requests
read write read
edit web-fetch github
toolsets
repos
pull_requests
fetch fetch-depth
*
0
allowed-domains create-pull-request push-to-pull-request-branch close-pull-request
github.com
github.blog
code.visualstudio.com
nishanil.github.io
labels title-prefix base-branch allowed-files
automated-update
copilot-updates
[bot] main
website/learning-hub/**/*.md
target required-title-prefix required-labels allowed-files
* [bot]
automated-update
copilot-updates
website/learning-hub/**/*.md
target required-labels required-title-prefix max
*
automated-update
copilot-updates
[bot] 5

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/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:

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.

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 Notes section 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:

  1. Create a new markdown file in the appropriate section of website/learning-hub (e.g., website/learning-hub/agents/new-agent.md).
  2. Write a summary of the new feature, how it works, and its use cases.
  3. 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:

  1. Use the push_to_pull_request_branch safe-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.
  2. Keep the branch and title stable so the update remains a single, current review thread.
  3. If an older matching PR is stale or clearly superseded by the newer content, use the close_pull_request safe-output tool to close it with a short explanation such as "Superseded by newer automated update".
  4. 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:

  1. What new features or changes were found
  2. What sections of the guide were updated
  3. Links to the source announcements
  4. 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_request with 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.