Commit Graph
100 Commits
Author SHA1 Message Date
a34c98bfbf Automate external plugin update PR quality checks (#2005)
* Add PR quality gates for external plugin updates

Automate external plugin update PR review by running skill-validator and install smoke checks against changed entries in plugins/external.json. Sync PR workflow-state labels and upsert a marker-based status comment with source tree links for each changed plugin.

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

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Tighten external plugin PR workflow permissions

Scope write permissions to the PR synchronization job, keep the quality-gate job read-only, and handle no-op and detection-failure states explicitly. Also fix source tree link encoding for refs, SHAs, and plugin paths.

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

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix external plugin workflow job steps

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-06-16 15:40:21 +10:00
Aaron Powell 8a32e00ea0 Removing old plugin to unblock #1962 external plugin addition (#1996) 2026-06-15 11:24:01 +10:00
3ae6b2007c Add soft-gate PR risk scan automation for agentic PRs (#1969)
* Add soft-gate PR risk scanning automation

Introduce a PR risk scanner script plus two workflows: one to scan changed files and upload findings, and one to upsert a sticky PR comment with a summary table and findings. This adds non-blocking supply-chain risk visibility for agentic contributions.

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

* Harden path checks and reduce scanner false positives

Reject absolute paths, enforce repo-root containment after resolution, and tighten unpinned-version detection to dependency/version contexts to avoid markdown noise.

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

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Harden soft-gate behavior and scanner coverage

Make PR risk scan workflows non-blocking on scanner/artifact edge cases, always upload artifacts, reduce required permissions, and extend scanner script detection to plugin skill paths.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-15 10:59:01 +10:00
8771f74e80 Add GitHub Copilot app learning hub page (#1981)
* Add GitHub Copilot app learning hub page

- Create new learning hub page covering Copilot app basics, features, and use cases
- Include information about target audiences (developers, non-dev roles, teams with parallel work)
- Highlight key features: My Work view, isolated worktrees, canvases, Agent Merge
- Add installation and getting started instructions
- Update learning hub index to include app in Getting Started section

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

* Refine GitHub Copilot app learning hub page

- Add the app to the learning hub navigation
- Tighten the page copy around audiences, features, and getting started
- Keep canvases and automations high level as requested

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

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-15 10:55:43 +10:00
3e4cc87e91 fix: auto-approve bot review when PR base is changed off main (#1971)
* fix: reset bot review when PR base is changed off main

The check-pr-target workflow only ran on 'opened' events targeting main,
so it never re-ran after a submitter edited the base branch to 'staged'.
The REQUEST_CHANGES review was left in place, blocking merge and requiring
a manual maintainer override.

Changes:
- Broaden trigger to also fire on edited, reopened, and synchronize events,
  and add 'staged' to the branches filter so the workflow runs after a
  base-branch edit.
- Before posting REQUEST_CHANGES, check whether the bot already has an
  active CHANGES_REQUESTED review to avoid duplicate reviews.
- After a base-branch edit: if the PR no longer targets main and the bot's
  latest review state is CHANGES_REQUESTED, post an APPROVE review to
  clear the block automatically.

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

* fix: rerun PR target check for any base branch

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-06-12 12:21:47 +10:00
Aaron PowellandCopilot c4a0a3ef5a Route intake failures to submitter fixes (#1970)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-11 15:17:32 +10:00
517be706aa Fix external plugin command concurrency issues (#1958)
* Separate re-review commands from intake/approval pipeline

- Removed /re-review-* from external-plugin-command-router.yml
- Created external-plugin-rereview-command.yml with separate concurrency
- Each pipeline maintains independent per-issue serialization
  - Router: /approve, /reject, /mark-ready-for-review, /rerun-intake
  - Re-review: /re-review-keep, /re-review-needs-changes, /re-review-remove

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

* Scope router workflow token permissions

- Set default router workflow permissions to contents:read + issues:write
- Move elevated contents/pull-requests write permissions to approval-command only
- Keep approval command behavior unchanged while reducing privileges for rerun-intake and mark-ready paths

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

* Align router concurrency with intake workflow

- Update command router to reuse the intake concurrency group key
- Preserve queueing behavior for comment commands

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

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-10 15:14:57 +10:00
Aaron Powell 50854076f2 The new lines weren't working properly as we'd filter them out, whoops (#1951) 2026-06-10 14:44:16 +10:00
Aaron PowellandCopilot dbd45cf6f2 Fix external plugin intake rate limits (#1953)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-09 16:57:58 +10:00
Aaron PowellandCopilot ecf170397b fix: respect all manifest locations in smoke-test post-install verification (#1952)
The install smoke gate was hardcoding .github/plugin/plugin.json as the
expected manifest path after copilot plugin install, which caused a false
ail for plugins whose manifests live at plugin.json (root) or
.plugins/plugin.json instead of the Copilot CLI convention.

Replace the hardcoded path with a call to the existing indPluginJson()
helper that already probes all three candidate locations in priority order.
Separate the 'install directory missing' check from 'no manifest found' so
error messages surface the actual root cause.

Also fix a .plugin/ → .plugins/ typo in EXTERNAL_PLUGIN_ROOT_MANIFEST_PATHS
(external-plugin-validation.mjs) which caused the error message shown to
submitters to reference a path that indPluginJson never actually checks.
Add cross-reference comments on both constants so they stay in sync.

Closes: reported in issue #1837

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-09 16:57:34 +10:00
Aaron Powell 27bc67adbb Adding more reactions when slash commands are run (#1949) 2026-06-09 15:55:12 +10:00
Aaron PowellandCopilot 7d65425eeb Render issue bodies as markdown in external plugins board (#1946)
* feat: Add external plugins Kanban board canvas extension

- Create interactive Kanban board showing external plugin submission issues
- Display issues in columns based on labels: 'requires-submitter-fixes', 'ready-for-review', 'approved', 'rejected'
- Support drag-and-drop state transitions between columns
- Show PR links for approved issues via [Generated PR](url) pattern in issue body
- Display issue summaries with numbers and titles
- Use app theme variables for visual integration
- Implement demo mode with example issues for consistent testing

The canvas includes:
- HTTP server with /api/issues endpoint for issue fetching
- Drag-and-drop UI with vanilla JavaScript
- Responsive HTML/CSS Kanban layout
- Auto-refresh on drag operations

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

* feat: Add issue detail modal to Kanban board canvas

- Click any issue card to view full details in a modal
- Modal shows issue description, creation/update dates, labels, and PR link
- Displays formatted dates and color-coded label badges
- Modal can be closed via X button or clicking outside
- Drag-and-drop still works on issue cards
- Added hover effects to issue cards for better interactivity

Demo data now includes issue body descriptions, created_at, and updated_at timestamps for realistic display.

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

* feat: Integrate real external plugin issues from repository

- Replaced hard-coded demo data with live gh CLI integration
- Attempts to fetch actual issues using 'gh issue list --label external-plugin'
- Tries multiple gh installation paths for Windows compatibility
- Falls back to demo data if gh CLI isn't accessible from extension subprocess
- Demo data now contains real external plugin issue titles from repository
- Maintains full functionality (Kanban board, drag-drop, modal details, PR links)

Note: gh CLI integration may require environment configuration on Windows.
The extension gracefully degrades to accurate demo data when live integration unavailable.

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

* Implement external plugins Kanban board canvas with GitHub API integration

- Created external-plugins-board canvas extension with HTTP loopback server
- 4-column Kanban board layout (requires-submitter-fixes, ready-for-review, approved, rejected)
- Fetches real issues from github/awesome-copilot repository via GitHub REST API
- Click issues to view full details in modal (title, description, dates, labels, PR links)
- Drag-and-drop support for state transitions (future: update labels via API)
- Responsive design with theme variable integration for light/dark mode
- No hard-coded demo data - displays actual repository data

Resolved subprocess execution limitation:
- Extension subprocess is sandboxed and cannot execute system binaries (gh, cmd.exe, powershell.exe)
- Solution: Use GitHub REST API directly instead of gh CLI subprocess execution
- API calls work perfectly from within restricted subprocess environment

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

* Render issue body as markdown in board modal

- add marked dependency for markdown parsing\n- render issue body HTML in the modal\n- style markdown elements for readable theme-aware output\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-09 15:53:42 +10:00
Aaron PowellandCopilot 0adac0dadd React to accepted rerun intake comments (#1948)
* React to rerun intake comments

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

* some whitespace fixes

* more whitespace fixes

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-09 15:08:41 +10:00
Aaron PowellandCopilot c66449b4fa fix: skill-validator invocation for .github/plugin/plugin.json convention (#1916)
* fix: skill-validator invocation for .github/plugin/plugin.json convention

The skill-validator --plugin mode looks for plugin.json at <dir>/plugin.json,
but external plugins (and the Copilot CLI) place it at .github/plugin/plugin.json.
This caused every external plugin with skills or agents to fail the skill-validator
gate with a misleading 'No plugin.json found' error, even when the install smoke
test passed correctly.

Extract buildSkillValidatorArgs() which reads plugin.json from
.github/plugin/plugin.json, resolves skills/agents paths relative to the plugin
root, and invokes skill-validator with --skills/--agents instead of --plugin.
Falls back to --plugin if the conventional path is not present.

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

* fix: also check .plugins/plugin.json and root plugin.json locations

Extend buildSkillValidatorArgs to probe three candidate plugin.json locations
in priority order before falling back to --plugin:
  1. .github/plugin/plugin.json  (Copilot CLI convention)
  2. .plugins/plugin.json
  3. plugin.json  (root — also the skill-validator's native --plugin expectation)

Extract findPluginJson() and PLUGIN_JSON_CANDIDATES constant so the list is easy
to extend. Paths in plugin.json are always resolved relative to the plugin root
regardless of where the manifest lives.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-04 12:53:27 -07:00
Aaron PowellandCopilot d11fb21f3a Add workflow run link to external plugin intake comments (#1915)
* Add workflow run link to external plugin intake comments

- Include a link to the GitHub Actions workflow run in intake comment
- Helps users trace which action run generated the intake report
- Works for both initial intake and re-run intake flows
- Link appears at bottom of comment for all intake states (passed/failed/quality gates)

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

* Address PR review feedback on intake comment formatting

- Remove leading spaces from runLink construction to preserve markdown formatting
- Remove unnecessary newline prefix before runLink in quality gates section
- Move workflow run link to the very end of all comment types (after warnings)
- For merged intake comments, append link as final element
- Remove unused runId parameter from applyExternalPluginIntakeEvaluation

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-04 12:30:39 -07:00
Aaron PowellandCopilot 36cdc52037 Add Canvas Extensions website page (#1900)
Generate extensions data, add the extensions listing route/navigation, and include install URL copy actions pinned to the build commit SHA.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-02 11:17:56 -07:00
Aaron PowellandCopilot 8c10dfb7df Fix skill-check command injection (#1869)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-29 14:09:52 +10:00
47701d25f4 Add external plugin quality gates and maintainer override flow (#1860)
* Add external plugin quality gates and override flow

Introduce a dedicated reusable quality-gates workflow for external plugin submissions and wire intake/rerun orchestration to consume its results. Add quality-aware intake state handling, including a submitter-fix blocker state and richer intake comments.

Also add a maintainer /mark-ready-for-review command workflow for explicit overrides, update related approval-label handling, and document the new external plugin review flow in CONTRIBUTING and AGENTS guidance.

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

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: use specific auth/network patterns in classifySmokeFailure

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* refactor: hoist INFRA_ERROR_PATTERNS to module level, fix timeout regex

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* fix: install Copilot CLI in external-plugin-quality-gates workflow

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-05-28 15:50:13 +10:00
Aaron PowellandCopilot f98dcc1c1f Normalize labels on merged external-plugin PRs (#1859)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 15:07:13 +10:00
Aaron PowellandCopilot 2746e462c1 Fix entity decode ordering in md-to-docx (#1844)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-27 11:10:08 +10:00
Aaron Powell d1fdc3184e stuffed up and plugins are in staged (#1845)
* stuffed up and plugins are in staged

* fixing readme

* fixing plugin file
2026-05-27 11:05:34 +10:00
Aaron Powell 1f977fc2dc Merge branch 'main' into staged 2026-05-27 10:25:01 +10:00
Aaron Powell 88dd885726 Using sha not ref for vercel plugin (#1841) 2026-05-27 09:56:00 +10:00
8e9424ce8d Make main and marketplace publishes append-only (#1830)
* Make publish branches append-only

Transition the publish workflow so main and marketplace are updated by append-only commits built on top of each branch's current tip instead of force-pushing source-branch history.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix worktree path handling in publish workflow

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* Handle publish branch tip drift before atomic push

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* Clarify publish drift error details

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* Improve concurrent publish drift message

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-05-26 10:44:36 +10:00
6fc05f480e Splitting ref and sha into two fields correctly for the intake form (#1788)
* Splitting ref and sha into two fields correctly for the intake form

* Enforce 40-character commit SHA in validateImmutableRef

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* Add backward compatibility for legacy checklist text and field title

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

* Avoid unnecessary array spread when iterating checklist equivalents

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-05-22 10:54:34 +10:00
2ca49df9d4 Adding a new /rerun-intake command for when updates are required (#1786)
* Adding a new /rerun-intake command for when updates are required

Reruns the intake process if feedback is given that will require the submitter to update something about the submittion.

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Use rerun command constant in parser regex

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-05-22 10:53:15 +10:00
Aaron Powell a303e17975 Fix path for Chrome DevTools external plugin (#1784)
* Fixing path on chrome devtools external pluginPath is to the folder in the repo where the plugin structure starts, not where the plugin.json file lives.

* Updating validation scripts and guidance to avoid this mistake again
2026-05-21 15:51:17 +10:00
Aaron Powell 8a43097de6 Adding Parth's name to dictionary (#1789)
* Adding Parth's name to dictionary

* Fixing an accidental formatting issue

* Fixing bad unicode causing file to not be spellchecked

* Fixing readme
2026-05-21 15:48:23 +10:00
Aaron Powell 570297ccdd Removing legacy skills (#1756)
* Removing some legacy skills

* removing skill from plugin
2026-05-19 12:34:21 +10:00
Aaron Powell 3b9e5e1842 Fixing code scanning #24 (#1760) 2026-05-19 12:25:39 +10:00
Aaron Powell 0528d4104c Agentic Workflows update (#1727)
* adding a deeper analysis of the oldest items in the report

* Updating aw
2026-05-15 16:33:29 +10:00
Aaron PowellandCopilot e66aa80240 feat: add public external plugin workflows (#1723)
* feat: add external plugin submission workflows

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

* minor adjustment to contributing guide

* fix: address external plugin review feedback

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

* Reverting some changes to the readme.agents.md file

* fix: address follow-up review feedback

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

* fix: tighten external plugin workflows

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-15 15:37:18 +10:00
Aaron Powell dd919ab9bf Updating contributor list (#1706) 2026-05-14 14:45:29 +10:00
Aaron Powell 352def3ca2 Removing the gh-cli skillWith the 1.0.46 release of CLI, there's built-in handling around certain readonly gh commands, and combining with the generalised knolwedge of the models on how to work with gh, this skill is no longer needed (#1692) 2026-05-14 10:01:29 +10:00
Aaron Powell 0d9792baf1 updating agentic workflows (#1666) 2026-05-11 11:29:18 +10:00
Aaron PowellandCopilot Autofix powered by AI 9aa4f61105 Patching the comment with the check results over creating a new one (#1637)
* Patching the comment with the check results over creating a new oneAvoids spamming multiple comments

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-07 10:02:09 +10:00
Aaron Powell 3a81b4e57f Updating the action triggers for more events (#1636) 2026-05-07 09:24:12 +10:00
Aaron PowellandCopilot ce516684b5 Add labels for skill check findings (#1627)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-06 10:05:16 +10:00
Aaron Powell 1f96bce626 Updating version (#1620) 2026-05-05 13:58:41 +10:00
Aaron Powell e2f5b958b1 Bumping to node 22 for astro (#1618) 2026-05-05 12:01:49 +10:00
Aaron PowellandCopilot 1b7a70a049 Run contributor checks from AGT scripts (#1617)
* Run contributor checks from AGT scripts

Fetch the pinned AGT contributor check scripts directly and execute them with Python so the workflow no longer depends on missing console entrypoints from the published package.

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

* Log contributor check JSON outputs

Dump the raw AGT JSON outputs and stderr logs in the contributor check workflow to make future debugging easier.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-05 11:53:18 +10:00
Aaron PowellandCopilot 4577676325 Fix contributor check risk parsing (#1614)
Normalize AGT risk extraction in the contributor check workflow so missing per-check values do not render as blank or inflate the overall risk.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-05 11:03:48 +10:00
Aaron PowellandCopilot aa0b6ef061 Add missing contributors (#1613)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-05 10:55:36 +10:00
b644d55e12 feat: add PR intent labeling workflow (#1604)
* feat: label PR intent

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

* need a git repo

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-04 16:34:15 +10:00
a1197525bd Enforce canonical plugin manifest ordering (#1601)
* Enforce canonical plugin manifest ordering

Sort existing plugin manifest spec arrays so plugin:clean no longer creates noisy diffs from out-of-order entries. Add validation to require alphabetical ordering and teach plugin:clean to normalize manifest arrays when cleaning materialized plugin content.

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

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-04 12:00:50 +10:00
Aaron PowellandCopilot Autofix powered by AI 15d91bf066 Updating the workflow to publish to the new marketplace branch (#1567)
* Updating the workflow to publish to the new marketplace branch

Using env vars for the branch names so that we can easily update without inlining everything as we progress through

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-30 16:39:22 +10:00
Aaron PowellandCopilot 76ac13a9b8 Simplify website search and listing controls (#1553)
* Removing search from the home pageThis was a little confusing because there are two searches, but the overall site search is a lot more powerful

* Prefilter website search by resource page

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

* small error handling and formatting

* Simplify website listing controls

Remove per-page text search, trim page-specific controls, and move remaining sort/filter controls into compact flyouts.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-29 16:03:08 +10:00
Aaron Powell e11f349dad Updating contributors (#1539) 2026-04-28 17:33:39 +10:00
Aaron Powell 2f972ba80c Consolidate scripts and automate report management (#1540)
* removing old scripts

* consolidated folder

* Updating usage of scripts

* Adding script to generate an open PR report, rather than making AI gen it each time

* Adding step to close old quality report discussions
2026-04-28 17:29:40 +10:00
Aaron Powell 4b13306427 Fix gh skill command to gh skills and update README (#1531)
* Fixing gh skill to be gh skills and adding to the README

* Adding skills install instruction to readme

* Fixing escapes
2026-04-28 16:58:22 +10:00
Aaron Powell 0c31682e47 Updating packages (#1530) 2026-04-28 11:56:54 +10:00
Aaron Powell 3ce818d8d1 Updating agentic workflows (#1397) 2026-04-16 08:57:55 +10:00
Aaron PowellandCopilot 7df3657076 fix: remove shell usage from plugin check (#1367)
* fix: remove shell usage from plugin check

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

* fix: harden plugin symlink scan

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 14:24:59 +10:00
Aaron Powell cfe4143cdd Adding missing contributors (#1361) 2026-04-10 11:42:34 +10:00
Aaron Powell e8383064d8 Fixing learning hub hero (#1360)
* Combining the spans

* Removing some excessive padding
2026-04-10 11:33:55 +10:00
Aaron PowellandCopilot 017f31f495 Learning Hub: Agents and subagents (#1261)
* New page on agents and subagents

* Update website/src/content/docs/learning-hub/agents-and-subagents.md

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

* Update website/src/content/docs/learning-hub/github-copilot-terminology-glossary.md

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-09 16:25:56 +10:00
Aaron Powell cd576764e7 Merge branch 'staged' into skill/lsp-setup 2026-04-09 13:00:46 +10:00
aa86725613 Add URL-synced listing search (#1217)
* Add URL-synced listing search

Closes #1174

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

* Apply suggestions from code review

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-30 12:26:37 +11:00
Aaron Powell 1edf5bc29d Adding missing contributors (#1219) 2026-03-30 12:24:30 +11:00
Aaron Powell 2794657623 Script to clean up branches (#1218) 2026-03-30 12:13:17 +11:00
Aaron Powell 6cef3005bd Content updater workflow change (#1189)
* Ignoring the CLI for Beginners course from the learning hub updater

* bumping aw release
2026-03-27 15:46:56 +11:00
Aaron Powell 90b4bf3853 Copilot CLI for Beginners website experience (#1078)
* Initial pass at bringing a website experience to copilot cli for beginners

* dropped the number from the heading

* Adding codeowner

* agentic workflow to keep the docs in sync

* Making it more aligned with the source material

* Removing the badges and TOC since we get some of that from astro

* updating the agentic workflow

* Adding learning hub to llms.txt

* Removing nav that comes from the source markdown files
2026-03-26 09:03:21 +11:00
Aaron Powell 2528c0e755 The plugin doesn't contain the full file path, so we have to manipulate itFixes #1149 (#1162) 2026-03-25 09:40:11 +11:00
Aaron Powell 2c873efce7 adding contributor (#1144) 2026-03-24 10:19:41 +11:00
Aaron Powell 562185066e Website build error (#1136)
* Fixing model names

* handling arrays of models for agent frontmatter

* Cleaning up some warnings on website build

* adding a workflow to run and perform CI of the website
2026-03-23 16:04:46 +11:00
Aaron Powell 6962f991ed Updating workflow to ignore noop (#1135) 2026-03-23 15:29:43 +11:00
Aaron Powell 4944316569 Adding pasindudilshan1 as contributor (#1133) 2026-03-23 14:38:51 +11:00
ad89dd2f3a Update CODEOWNERS for PR #1118 (#1132)
Add @joshjohanning as owner of agents/github-actions-node-upgrade.agent.md

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-23 14:34:14 +11:00
Aaron Powell 322e2db27f Contribution guide tweaks (#1128)
* Adding a new checklist item on the branch to PR against

* Tweaking the guide for AI agentsThis is inspired by https://glama.ai/blog/2026-03-19-open-source-has-a-bot-problem
2026-03-23 12:28:21 +11:00
Aaron Powell 71a72afe6a Adding some missing people (#1127) 2026-03-23 11:47:21 +11:00
Aaron Powell c50b3563f8 Updating contributors (#1096)
* Updating contributors

* tweaking spelling
2026-03-20 15:50:28 +11:00
Aaron Powell cb6cf924fb update to aw 0.61.2 (#1080) 2026-03-19 15:45:27 +11:00
3b462df7b0 Update CODEOWNERS for PR #1049 (#1055)
Add @VeVarunSharma as owner for GHAS skills contributed in PR #1049:
- /skills/codeql/
- /skills/dependabot/
- /skills/secret-scanning/

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 11:27:23 +11:00
Aaron PowellandCopilot 5a4bedabd9 Add fuller social metadata tags (#1056)
Supplement Starlight's default head output with Twitter title, description, URL, and domain tags plus extra image metadata so social crawlers have a more complete card payload.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 11:22:13 +11:00
Aaron PowellandCopilot 0fb9163ed0 Fix website social metadata (#1054)
Add default Starlight description metadata and wire the existing social image into Open Graph and Twitter tags so shared links render a proper preview.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 10:47:08 +11:00
Aaron Powell d31377846b Fixing layout of contributor grid (#1040) 2026-03-17 16:36:10 +11:00
Aaron PowellandCopilot Autofix powered by AI f97b43dd7c Learning hub evergreen (#1037)
* Adding new learning hub updater workflow

* Updating aw to latest

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-17 14:18:58 +11:00
ab8d6b56a2 Update CODEOWNERS for PR #1009 (#1016)
Add @AndreaGriffiths11 as owner of /skills/publish-to-pages/

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-16 12:34:30 +11:00
Aaron PowellandCopilot 39a1a0ce04 Update skill modal ZIP download (#1015)
Make the skill modal download button reuse the existing skill ZIP behavior so it downloads the full skill bundle instead of only the current file. Extract the ZIP creation into a shared utility and reuse it from the skills and hooks pages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-16 11:51:41 +11:00
Aaron Powell 9272be1a8d Duplicate review (#1001)
* Removing a codex-specific agent (model deprecated) and removing model from blueprint mode

* Combining skills into a single skill with an internal decision tree

* Converting agents to skill with decision tree

Closes #998

* Converting agents to skill with decision tree"
Fixes #999
2026-03-16 10:27:54 +11:00
Aaron Powell b1f3346ef2 content review (#995)
* Cleaned up some tool names

* Removing some instructionsThese instructions are no longer useful as the knowledge the add is already well handled by frontier models, so the instructions potentially provide conflicting or incorrect information to the agent while it undertakes a task

* Improved the skill to be more explicit on how to use playwright

* Removing a skill that is of low value

The information captured in this skill is mostly just what is found in the links that are at the top of the references, and thus the model will already have that knowledge available to it, meaning that the skill will potentially provide conflicting guidance to the agent as it works

* Updating readmes
2026-03-13 13:45:17 +11:00
Aaron Powell 3025370a15 Updating our agentic workflows (#996) 2026-03-13 12:25:46 +11:00
Aaron Powell cf0820a01c Updating codeowners (#984)
* Updating codeowners

* no backticks
2026-03-12 15:48:01 +11:00
Aaron PowellandCopilot 423be2fc70 Improve website accessibility (#979)
* Improve website accessibility

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

* Refine homepage search semantics

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-12 14:25:18 +11:00
Aaron PowellandCopilot e65c8359b1 More website tweaks (#977)
* Some layout tweaks

* SSR resource listing pages

Render resource listing pages in Astro for first paint and hydrate client filtering/search behavior on top.

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

* Fixing font path

* removing feature plugin reference as we don't track that anymore

* button alignment

* rendering markdown

* Improve skills modal file browsing

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

* Improving the layout of the search/filter section

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-12 11:48:54 +11:00
Aaron Powell 494d6ac783 Policy update (#969)
* Policy update

* Adding guidance on not accepting contributions that lower frontier model capabilities

* Remote plugin source policy
2026-03-12 11:17:26 +11:00
Aaron Powell f12b83cf1b skills readme was getting junk files (#967) 2026-03-11 10:44:46 +11:00
Aaron Powell 52dd53d3a3 website tweaks (#952)
* Adding nav to learning hub

* Simplifying the home page

* Fixing footer spacing
2026-03-10 16:03:53 +11:00
Aaron PowellandCopilot 3efc4f3a5b feat: show external plugins on the website (#937)
* feat: show external plugins on the website

Read plugins/external.json during website data generation and include
external plugins alongside local ones in plugins.json. External plugins
are flagged with external:true and carry metadata (author, repository,
homepage, license, source).

On the website:
- Plugin cards show a '🔗 External' badge and author attribution
- The 'Repository' button links to the source path within the repo
- The modal shows metadata (author, repo, homepage, license) and a
  'View Repository' CTA instead of an items list
- External plugins are searchable and filterable by tags

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

* fix: address PR #937 security and UX review comments

- Add sanitizeUrl() function to validate URLs and prevent XSS via javascript:/data: schemes
- Add rel="noopener noreferrer" to all target="_blank" links to prevent reverse-tabnabbing
- Change external plugin path from external/<name> to plugins/<name> for proper deep-linking
- Track actual count of external plugins added (after filtering/deduplication) in build logs

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-10 10:13:16 +11:00
Aaron Powell 7172ebfb8b a few style tweaks (#938) 2026-03-09 17:01:30 +11:00
Aaron Powell 299033c7dc manually updating codeowners field (#939) 2026-03-09 17:00:01 +11:00
Aaron PowellandCopilot e6437902d6 Fix sidebar navigation text contrast in light mode (#902)
* Fixing the action link

* Fix sidebar navigation text contrast in light mode

- Use --sl-color-text-invert instead of --sl-color-white for active
  sidebar item, fixing near-black text on dark purple background
  (contrast ~2.5:1 → ~7.1:1)
- Bump inactive sidebar links to font-weight 500 for better readability

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-06 16:10:05 +11:00
Aaron Powell 8dcf0378ac Opening in VS Code will cause a sln file to get generated and the obj folder with the background compile artifacts. Ignoring them (#887) 2026-03-05 22:13:07 +11:00
Aaron PowellandCopilot 40fd1a6c72 Migrate website to Starlight with full-text resource search (#883)
* Add search functionality to Learning Hub index page

Add a client-side search bar that filters articles by title, description,
and tags. Sections with no matching results are hidden automatically.
Uses the existing .search-bar CSS pattern from the cookbook page.

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

* chore: remove deprecated layouts, theme script, and learning-hub config

Phase 5 cleanup of Starlight migration:
- Delete BaseLayout.astro (replaced by StarlightPage)
- Delete ArticleLayout.astro (replaced by Starlight docs rendering)
- Delete theme.ts (Starlight has built-in theme toggle)
- Delete src/config/learning-hub.ts (sidebar order now in astro.config.mjs)
- Replace learning-hub glob collection with Starlight docs collection in content.config.ts
- Keep search.ts (still used by homepage and all resource page scripts)

Build verified: 23 pages, no errors.

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

* Migrate website to Starlight with full-text resource search

- Replace bespoke Astro layouts with Starlight integration
  - Homepage and resource pages use StarlightPage wrapper
  - Learning Hub articles rendered via Starlight docs collection
  - Starlight provides search, theme toggle, sidebar, ToC, a11y

- Add custom Pagefind integration for resource search
  - All 614 agents/skills/instructions/hooks/workflows/plugins
    indexed as custom records with deep-link URLs
  - Type filter pills (horizontal pill toggles) above results
  - Search results link directly to resource modals via #file= hash

- Move global.css to src/styles/ for Vite processing
  - Scope CSS reset to #main-content to avoid Starlight conflicts
  - Full-width page gradient via body:has(#main-content)
  - Light/dark theme support with Starlight gray scale inversion

- Delete old layouts (BaseLayout, ArticleLayout), theme.ts, config

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

* Address PR review feedback

- Fix pagefind-resources.ts header comment (pagefind:true not false)
- Remove unused base variable in cookbook/index.astro
- Replace hardcoded /awesome-copilot/ paths with relative links in index.md
- Delete stale public/styles/global.css (source of truth is src/styles/)
- Replace fragile getBasePath() with Astro config base in pagefind integration
- Document pagefind:true reasoning in astro.config.mjs
- Use proper visually-hidden pattern + :focus-visible ring for filter pills
- Remove dead header/nav/theme CSS from global.css (~160 lines)

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-05 21:50:44 +11:00
Aaron PowellandCopilot 833a5c9b5b Use GH_AW_CODEOWNER_PR_TOKEN for PR creation in codeowner-update
Scoped custom token only to create-pull-request safe output.
All other operations use default token fallback chains.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-04 13:35:03 +11:00
Aaron PowellandCopilot 9767068359 Fix codeowner-update: remove explicit github-token, use default fallback
Without explicit github-token, the compiler generates a proper
fallback chain (GH_AW_GITHUB_TOKEN || GITHUB_TOKEN) ensuring
a valid token is always available for git push operations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-04 13:21:41 +11:00
Aaron PowellandCopilot 75b4531d4c Fix codeowner-update auth: add github-token for PR creation (#871)
The default GITHUB_TOKEN cannot push branches in this org.
Add explicit github-token using GH_AW_GITHUB_TOKEN secret
to the create-pull-request safe output.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-04 12:30:58 +11:00
Aaron PowellandCopilot 338d3e8c6e Add codeowner-update agentic workflow (#870)
Adds an agentic workflow triggered by #codeowner comments on PRs.
It creates a PR against staged updating CODEOWNERS with the PR's
files (in agents/, skills/, instructions/, workflows/, hooks/,
plugins/) owned by the PR creator.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-04 10:22:10 +11:00
Aaron Powell 3857869d88 forgot that place to update 2026-03-03 09:47:46 +11:00
Aaron Powell e24b411d0b Temp disabling of cname 2026-03-03 09:05:15 +11:00