Commit Graph

2192 Commits

Author SHA1 Message Date
Matt Soucoup ab7544d03d Merge pull request #2452 from jennyf19/add-daily-focus-board-skill
ember: add daily-focus-board skill (EF/neurodivergent-friendly)
2026-08-07 13:02:29 -07:00
Jenny Ferries 39225356d9 fix(website): resolve extension owner plugin
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 31016278-f98b-48ef-8a77-430091b34b91
2026-08-07 09:52:12 -07:00
Jenny Ferries c73936e05e Merge remote-tracking branch 'upstream/main' into add-daily-focus-board-skill 2026-08-07 09:38:12 -07:00
Jenny Ferries 817800315c docs: refresh plugin index
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 31016278-f98b-48ef-8a77-430091b34b91
2026-08-07 09:11:54 -07:00
github-actions[bot] 811ed362dd docs: update learning hub with Aug 2026 Copilot CLI changes (#2573)
- Update Sessions Sidebar/Tab: graduated from experimental (v1.0.79)
- Add /worktree new subcommand shorthand (v1.0.79-3)
- Document allowDevToolAccess rename from allowDevToolCaches (breaking, v1.0.79)
- Add browser-based OAuth login documentation (v1.0.77)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-07 02:05:16 +00:00
Yoav Lax c424bc1d74 fix(phoenix-tracing): remove 4 broken references/attributes-*.md links (#2569)
These files don't exist anywhere in the repo (verified via the GitHub
Contents API against skills/phoenix-tracing/references/), so an agent
following the Reference Files list would hit a missing file instead of
the documented attribute schema.

Fixes #2567

Impacted by AI (Agent mode: copilot | Prompts: 1)

Co-authored-by: Yoav Lax <ylax+varonis@varonis.com>
2026-08-07 02:03:11 +00:00
Stephen Benjamin 4214189287 fix: repair broken skill references, fence nesting, and invisible unicode (#2568)
While implementing the Agent Plugin v1 spec in https://github.com/stbenjam/skillsaw/pull/483, I used this repository as a canonical real-world source for tests. Along the way its checks surfaced genuine correctness issues worth fixing regardless of tooling:

- Internal links that do not resolve (22): wrong relative paths, links whose targets are runtime output paths rather than bundled files (now inline code), a schemeless external URL parsed as a relative path, and links to files that do not exist (removed).

- Bundled skill files never referenced from their SKILL.md (14): each is now cited from the section where it is used, so nothing ships unreachable from the skill's instructions.

- Unclosed or mis-nested code fences (11): markdown templates embedding code blocks now use four-backtick outer fences so inner fences nest instead of closing the template early and leaking example content as live markdown; also removed stray orphan fences and closed an unterminated block at end of file.

- Invisible unicode (1): removed a zero-width space from a code example, a copy-paste artifact invisible to reviewers.
2026-08-07 02:01:43 +00:00
Jason Colapietro 11deaef597 feat(skills): add MCP release QA (#2562) 2026-08-07 11:57:49 +10:00
qinezh 3deffe2e89 Upgrade microsoft-foundry plugin to 1.0.6 (#2561)
* chore: upgrade microsoft-foundry plugin to 1.0.6

Update the external plugin catalog to the 1.0.6 source commit and regenerate the marketplace output.

* chore: update microsoft-foundry 1.0.6 source SHA

Point the external plugin catalog and generated marketplace output to the replacement 1.0.6 source commit.
2026-08-07 11:54:14 +10:00
Aaron Powell 7b602c3370 Updating to latest agentic workflows (#2556)
* Updating to latest agentic workflows

* cleaning up tools and more explicit copilot app checks
2026-08-07 11:19:05 +10:00
Konstantinos Passadis | Azure MVP | MCT 3c576c96c7 Add Microsoft Foundry (azure-ai-projects v2) Python instructions 🤖🤖🤖 (#2539)
* Add Microsoft Foundry (azure-ai-projects v2) Python instructions

* Address Copilot review: raise version floor, add endpoint routing, fix auth/cost/logging notes

* Remove stray closing code fence at end of file

* Address reviewer feedback: add explicit ManagedIdentityCredential pattern for production

* Clarify credential patterns: separate AKS workload identity from managed identity

* Fix credential order and add user-assigned identity example for managed identity and AKS patterns

* Fix credential chain description, logging level clarity, and use correct RBAC role name

* Refine RBAC documentation link, complete function-tool loop, and qualify az login requirement
2026-08-07 10:31:31 +10:00
Gaetan Semet 1dbe7ce16f fix: update copilot-goal-skill to 1.1.2 (#2538)
Signed-off-by: Gaetan Semet <gaetan@xeberon.net>
2026-08-07 10:29:42 +10:00
Jenny Ferries ec705989e3 fix(plugin-validation): allow parent-bundled extensions
Accept reusable canvas sources that are referenced by an existing parent plugin, matching the post-#2546 scaffolding guidance, while continuing to reject orphaned sources. Cover parent-only, standalone, and orphaned registrations.

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

Copilot-Session: 52be9c67-3ae4-4610-93d0-fe0b7ab95ccb
2026-08-06 09:18:27 -07:00
Jenny Ferries 200213ed4c Merge upstream main and migrate daily focus board plugin
Adopt the Agent Plugins v1.0.0 namespaced composition model from #2546. Bundle the reusable daily-focus-board canvas into Ember only and remove its obsolete standalone catalog manifest.

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

Copilot-Session: 52be9c67-3ae4-4610-93d0-fe0b7ab95ccb
2026-08-06 09:18:07 -07:00
Aaron Powell a7fdcd5006 Migrate plugins and canvas extensions to Agent Plugins spec (#2546)
* feat: migrate plugins and extensions to Agent Plugins v1.0.0 spec

- Add \ to all 69 curated plugin manifests
- Migrate all 18 extension manifests: add \, move logo into
  xtensions.com.github.copilot.logo namespace, remove top-level
  logo and string xtensions: '.'
- Update eng/validate-plugins.mjs: require \, validate
  namespace-keyed extensions object for canvas extensions, widen
  name pattern to allow dots (spec §5.5, max 64 chars)
- Update eng/materialize-plugins.mjs: emit spec-clean served manifests
  (only spec fields: \, name, version, description, author,
  homepage, repository, license, keywords, extensions)
- Update eng/generate-website-data.mjs: read logo from namespace
  with fallback to top-level logo for compatibility
- Update eng/create-plugin.mjs: scaffold emits \
- Add .github/workflows/validate-plugins.yml: blocking CI for PRs
  touching plugins/** or extensions/**
- Add spec compliance check to external plugin quality gates:
  non-blocking warnings with /⚠️/🛑 emoji legend
- Update AGENTS.md: document new extension manifest shape,
  add \ to plugin checklist

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* refactor: consolidate canvas extension plugins

- Move all extension plugin manifests from extensions/<name> to plugins/<name>
- Keep extensions/<name> as reusable source only
- Remove standalone extension discovery from marketplace and website plugin catalogs
- Auto-bundle same-name extension sources during materialization
- Add build-only extensions.json references for sharing extensions across plugins
- Remove x-awesome-copilot extension metadata support
- Update validation and contributor documentation

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* feat: add canvas extension scaffolding skill

- Add repo-local skill for creating canvas extension sources
- Generate spec-compliant plugin manifests under plugins/
- Support registering reusable extensions with multiple plugins
- Remove guidance for extension-local plugin manifests and custom fields

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix: align extension namespaces with current guidance

- Use each extension ID as its manifest namespace key
- Update validation and website generation to resolve extension-specific namespaces
- Upsert plugin validation PR comments using the existing repository pattern

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix: use Copilot extension namespace

- Adopt com.github.copilot for all canvas extension manifests
- Require the namespace during validation and website generation
- Update extension scaffolding guidance

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* docs: regenerate plugin catalog after merge

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* refactor(plugins): move manifests to plugin roots

Use root plugin.json manifests and namespaced extension directories throughout local tooling, validation, generation, and contributor documentation. Restore materialize-plugins.mjs line breaks so the source remains readable in GitHub.

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

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* feat(plugins): migrate manifests to namespaced composition

Move repository composition metadata under com.github.awesome-copilot, materialize reusable extensions into the plugin extensions directory, and improve contributor and PR validation guidance.

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

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix(validation): address plugin review findings

Restore executable build scripts, validate namespaced manifests and hook directories, improve README item counts, and manage validation comments across reruns.

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

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* Potential fix for pull request finding

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76
2026-08-06 22:29:31 +10:00
Massimo Bonanni 6c7fe1b15f New "Azd best practices" skill (#2549)
* Add Azure Developer CLI skill and related documentation

* Add Azure Developer CLI skill to README with usage instructions and bundled assets

* 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-08-06 13:19:37 +10:00
Kerolos Atallah 9db369d00f Add cloud and SaaS outage triage agent 🤖🤖🤖 (#2545)
* Add cloud and SaaS outage triage agent

* Follow agent frontmatter quoting convention
2026-08-05 15:55:15 +10:00
Anton Standrik 0245e7f80a docs: update codebase-memory-mcp skill for v0.9.1-rc.1 🤖🤖🤖 (#2528)
* docs: update codebase-memory-mcp skill for rc.1

* docs: clarify full indexing exclusions
2026-08-05 15:52:00 +10:00
alfredtech2026 df5d1f21b0 Add Shopify review triage skill (#2526)
Co-authored-by: Alfred <260210865+alfredtech2026@users.noreply.github.com>
2026-08-05 15:51:22 +10:00
Subin Kim bfefe9ddc6 Add gh-attach skill (#2512) 2026-08-05 15:43:58 +10:00
alsoleg89 37ade4b521 Add source-grounded evidence map skill 🤖🤖🤖 (#2505)
* Add source-grounded evidence map skill

* Bundle offline evidence map validation

* Avoid implicit package execution
2026-08-05 15:17:55 +10:00
RJ f83a8a942c Add exact-bound agent action verification skill (#2476)
Add a non-executing review workflow for recomputation, exact action binding, replay, reviewer dependence, evidence conflict, and monitoring freshness.\n\nAssisted-by: OpenAI Codex
2026-08-05 14:52:42 +10:00
github-actions[bot] 940cf68164 docs: update Learning Hub for Copilot CLI v1.0.76-1.0.78 features (#2541)
- copilot-configuration-basics.md:
  - Add Grok 4.5 model (v1.0.76) to model family aliases section
  - Update /rewind docs: no longer requires git, adds conversation-only
    vs conversation+files rollback choice (v1.0.78)
  - Add /new-worktree experimental command (v1.0.78)
  - Add /permissions command for switching approval modes (v1.0.78)
  - Add directable queue manager feature (v1.0.76)
  - Add Sessions Sidebar experimental feature (v1.0.76)
  - Add allowDevToolCaches sandbox setting (v1.0.78)

- installing-and-using-plugins.md:
  - Add /plugins enable/disable controls for plugin components (v1.0.76)
  - Update best practices: first-party plugins auto-update (v1.0.78)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-05 04:05:23 +00:00
dependabot[bot] 14a9bbf248 chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates (#2536)
Bumps the npm_and_yarn group with 1 update in the / directory: [fast-uri](https://github.com/fastify/fast-uri).
Bumps the npm_and_yarn group with 1 update in the /website directory: [undici](https://github.com/nodejs/undici).


Updates `fast-uri` from 3.1.4 to 3.1.5
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5)

Updates `undici` from 7.28.0 to 7.29.0
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.28.0...v7.29.0)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: undici
  dependency-version: 7.29.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-05 14:02:32 +10:00
jennyf19 4af329f943 Add cost-aware Workshop desk profiles (#2532)
* feat: add cost-aware Workshop desk profiles

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

Copilot-Session: 83dd4f49-a03d-44a0-bdd1-8c4f54da8ec2

* fix: address Copilot review feedback

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

Copilot-Session: 83dd4f49-a03d-44a0-bdd1-8c4f54da8ec2

* fix: isolate Agency MCP discovery

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

Copilot-Session: 83dd4f49-a03d-44a0-bdd1-8c4f54da8ec2

* fix: label desk launch profile controls

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

Copilot-Session: 83dd4f49-a03d-44a0-bdd1-8c4f54da8ec2

---------

Co-authored-by: Jenny Ferries <jenny.ferries@microsoft.com>
Copilot-Session: 83dd4f49-a03d-44a0-bdd1-8c4f54da8ec2
2026-08-05 13:58:54 +10:00
Muhammad Ubaid Raza b3d1718165 [gem-team] Introduce model routing (#2522)
* Bump gem-team plugin version to 1.94.0 and update gem-designer-mobile agent documentation to align with Google DESIGN.md spec

* chore: improve replan workflow

* chore: minor adjustments

* fix: plan route list

* chore: add model routing section to gem-orchestrator.agent.md and update plan access rule; bump gem-team plugin version to 1.97.0; add Intelligent Model Routing section to README

* chore: context cache tweaks
2026-08-05 13:57:21 +10:00
Ashley Grant e7a57fd0fd Enhance Terraform Azure instructions with new guidelines (#2506)
Added guidelines for provider selection and documentation updates from `generate-modern-terraform-code-for-azure.instructions.md`.
2026-08-05 13:48:12 +10:00
Jenny Ferries ece5dc858d Merge upstream main into daily focus board
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 83dd4f49-a03d-44a0-bdd1-8c4f54da8ec2
2026-08-04 14:29:58 -07:00
Aaron Powell dab758a392 Bumping to latest Vally release and standardising on package.json version (#2535)
The workflows were doing their own vally installs, which means that we had the potential for drift in the version of Vally being used. Now we do a npm ci and get the version from there, removing the ambiguity
2026-08-04 16:49:17 +10:00
Florian Vogt d99609ee1a deps(external.json): Update UI5 plugins to v0.1.8 (#2525) 2026-08-04 16:34:53 +10:00
Christopher Harrison cb87dae678 Seed Copilot Workshops Learning Hub mirror (#2527)
* Seed Copilot Workshops Learning Hub mirror

Perform the initial import of github-samples/copilot-workshops
(@b543d2f) into the Learning Hub, since a first-run import from the
scheduled sync workflow exceeds the 100-file safe-output PR cap.

Also update the sync workflow prompt so future runs are always
incremental and stay under the file cap.

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

* Stop codespell flagging mirrored workshop content

codespell only knows English, so the localized Learning Hub mirrors
(es-es, ja-jp, ko-kr, pt-br, zh-cn) produce ~150 false positives such as
"comando ==> commando". Skip those locale directories, and allow the two
valid English words the mirrored pages use verbatim.

Mirrored pages must stay source-faithful, so the fix belongs in
.codespellrc rather than in the content. Note that in the sync workflow
so future runs handle new false positives the same way.

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-08-04 15:55:03 +10:00
github-actions[bot] 842b32bb5f Add external plugin modern-web-guidance (#2533)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-04 05:34:39 +00:00
Antonio Villanueva 4b6430ee3e Update upgrade-agent plugin to 1.1.290 (#2531)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 084fc8dc-c246-4427-ab40-d24e769453dd
2026-08-04 11:31:32 +10:00
Jenny Ferries 20208a6794 daily-focus-board: reject array progress/doc containers in normalize()
An array is typeof "object", so progress:[] (or a top-level array state file) was kept as the container; JSON.stringify then drops the non-index props (counters, t, day...), the API returns progress:[] and the canvas crashes reading state.counters. Guard both with !Array.isArray, matching looksLikeBoard. Headless regression tests added (48/48).

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

Copilot-Session: fd1eae93-cc9f-4777-812c-a2a9872e1c2b
2026-07-31 09:48:13 -07:00
Jenny Ferries ee94962c8d Merge upstream/main into add-daily-focus-board-skill
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: fd1eae93-cc9f-4777-812c-a2a9872e1c2b
2026-07-31 09:03:19 -07:00
Copilot 336af71f1b Update external install deep links (#2499)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-07-31 17:07:13 +10:00
Copilot aa3fa2f22a Pin transitive tmp dependency to 0.2.7 (#2494)
* Initial plan

* fix: override tmp to 0.2.4

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

* fix: pin tmp to 0.2.7 via override

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-07-31 14:34:28 +10:00
Jenny Ferries b1c1b32d47 daily-focus-board: filter malformed momentum/brain entries in normalize()
A state file with a non-string txt (e.g. {"txt":1}) previously loaded, then esc(n.txt) in the canvas threw (numbers have no .replace) and the whole board failed to render. Filter day/brain entries to require a string txt, mirroring the existing task-notes filter. Verified with a headless regression test (45/45).

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

Copilot-Session: fd1eae93-cc9f-4777-812c-a2a9872e1c2b
2026-07-30 17:54:30 -07:00
jennyf19 a3e55ed11f Merge branch 'main' into add-daily-focus-board-skill 2026-07-30 17:31:53 -07:00
Adrien Clerbois aa01464ccb Update dotnet-mcp-builder skill to ModelContextProtocol 2.x (#2487)
* Update dotnet-mcp-builder skill to ModelContextProtocol 2.x

Align the skill with the C# SDK 2.0.0 release and the MCP 2026-07-28
spec: stable line is now 2.x, HttpServerTransportOptions.Stateless
defaults to true, roots/sampling/MCP-channel logging are [Obsolete]
(MCP9005) with the multi-round-trip input_required pattern as the
replacement, discovery-first negotiation (server/discover) supersedes
the initialize handshake, Mcp-Method/Mcp-Name routable headers, raw
structuredContent for non-object results, required Tool.inputSchema,
and the new ModelContextProtocol.Extensions.Tasks and
ModelContextProtocol.Extensions.Apps packages (typed MCP Apps support
replacing the hand-rolled _meta/ui:// pattern on 1.x).

* Address Copilot review: Apps extension accuracy, header scope, capability ownership

- packages.md: the Apps package replaces the manual _meta wiring, not the
  ui:// resource; note the experimental MCPEXP003 diagnostic; label the
  1.x -> 2.0 list as highlights and add the OAuth/SSE runtime changes
  with a pointer to the full release notes.
- transport-http.md: Mcp-Method is on every POST, Mcp-Name only on named
  invocations (tools/call, prompts/get, resources/read) - do not require
  it globally at gateways.
- mcp-apps.md: current MIME type is text/html;profile=mcp-app (skybridge
  is a legacy draft value); document [McpAppUi] + WithMcpApps().
- server-features.md: roots/sampling are client capabilities, only
  logging sits on ServerCapabilities.

* Correct stateful HTTP guidance: 2026-07-28 has no HTTP sessions

Per the official SDK v2 elicitation docs, a server with Stateless=false
refuses the 2026-07-28 revision so dual-path clients fall back to an
initialize-capable revision; ElicitAsync cannot be used on 2026-07-28
Streamable HTTP at all. Reframe stateful HTTP as down-level
compatibility mode and document the multi-round-trip pattern
(InputRequiredException / InputRequest.ForElicitation, retry with
InputResponses -> ElicitResult) as the current-protocol way to ask
mid-tool, across SKILL.md, transport-http.md, and elicitation.md.
2026-07-31 10:31:14 +10:00
Adrien Clerbois ed3d68dd66 Update typescript-mcp-server-generator skill to MCP TypeScript SDK v2 (#2486)
* Update typescript-mcp-server-generator skill to MCP TypeScript SDK v2

Replace the retired monolithic @modelcontextprotocol/sdk with the v2
focused packages (server, node, core, framework adapters), require
zod@^4.2 and Node 20+, document the registerTool config-object API,
the ctx handler context, the new error hierarchy, removed SSE/WebSocket
transports, and the v1-to-v2 codemod migration path.

* Address Copilot review: adapter peer frameworks and sampling consistency

Framework adapters now note their required peer framework install
(e.g. @modelcontextprotocol/express + express), and the two remaining
sampling recommendations are replaced with the multi-round
input_required pattern that v2 recommends over the deprecated
sampling subsystem.
2026-07-31 10:27:27 +10:00
github-actions[bot] f0ec774e5c Update Learning Hub: /model plan, Claude Opus 5, and Open Plugin Spec v1 (#2472)
- copilot-configuration-basics: document /model plan command (v1.0.74+) for
  per-phase model selection in plan mode, and note Claude Opus 5 availability
- installing-and-using-plugins: add Open Plugin Spec v1 compatibility section
  documenting mcp.json bundle support (v1.0.74+)

Sources:
- https://github.com/github/copilot-cli/blob/main/changelog.md (v1.0.74, v1.0.75)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-31 10:26:13 +10:00
Jenny Ferries 32e9ca7c37 Merge upstream/main into add-daily-focus-board-skill
Resolve the .codespellrc conflict by keeping the daily-focus-board checkin key alongside upstream ACI and soruce ignore terms.

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

Copilot-Session: fd1eae93-cc9f-4777-812c-a2a9872e1c2b
2026-07-30 08:26:29 -07:00
Aaron Powell be7a1cf734 Harden external plugin validation: semver, SPDX, email, and unknown-field checks (#2445)
* Harden external plugin validation: semver, SPDX, email, unknown fields

Extend the canonical external-plugin validator with Open-Plugins-aligned
rules, reusing the shared validation functions rather than duplicating checks:

- version: enforce Semantic Versioning (allows prerelease/build metadata)
- license: validate SPDX identifiers/expressions; warn (not error) on
  well-formed-but-unrecognized ids so existing entries like SSAL-1.0 pass
- author.email: validate format when present
- unknown-field detection: warn on typo'd top-level/author/source keys
- immutable locator: marketplace warns when source lacks ref/sha;
  publicSubmission keeps the existing hard error

Add eng/external-plugin-validation.test.mjs (node:test) covering each rule
plus a regression that committed external.json passes marketplace policy
with zero errors. Update CONTRIBUTING.md accordingly.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eaa5eed6-5b65-4b28-9904-24f380d26728

* Make license non-SPDX a warning and share license check with local plugins

The agent-plugins-spec schema does not enforce SPDX, and plugins may use
proprietary/non-OSS licenses. Relax license validation so any non-empty
license string that isn't a recognized SPDX identifier/expression produces a
warning rather than an error.

Extract the license check into a reusable validateLicenseField() and apply it
to both external plugins and local plugin.json manifests via
eng/validate-plugins.mjs, so licenses are validated consistently in one place.

Update tests and CONTRIBUTING.md accordingly.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eaa5eed6-5b65-4b28-9904-24f380d26728

* Extract shared license validation into eng/lib/license.mjs

Move the SPDX constants and license validation (validateLicenseField,
isRecognizedSpdxExpression) out of external-plugin-validation.mjs into a
dedicated eng/lib/license.mjs module. Both the external plugin catalog
validator and the local plugin.json validator now import license logic
from this neutral shared module instead of one validator importing from
the other. Behavior is unchanged; tests import from the new home.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eaa5eed6-5b65-4b28-9904-24f380d26728

* Fix SPDX license parsing correctness and warning-message injection

Rewrite isRecognizedSpdxExpression as a recursive-descent SPDX license
expression parser to address PR review feedback:

- Validate LicenseRef-/DocumentRef- grammar (non-empty idstring; DocumentRef
  requires the ":LicenseRef-<id>" suffix) instead of accepting any token with
  that prefix.
- Parse parentheses with balance and placement checks rather than stripping
  them, so malformed groupings like "(MIT", "MIT)", and "MIT OR (Apache-2.0))"
  are no longer silently treated as valid.
- Treat WITH as a distinct operator whose right operand must be a known SPDX
  license exception, so "MIT WITH Apache-2.0" and "GPL-2.0-only WITH MIT" are
  rejected while "GPL-2.0-only WITH Classpath-exception-2.0" is recognized.
- Sanitize the untrusted license value in the non-SPDX warning (collapse
  whitespace, truncate, escape backticks, wrap as inline code) since the
  warning is rendered verbatim into a Markdown bot comment during intake.

Malformed SPDX stays a warning (never an error) so proprietary and non-OSS
license strings remain allowed. Adds targeted grammar and sanitization tests.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eaa5eed6-5b65-4b28-9904-24f380d26728

* Complete backslash escaping and run source unknown-field check for all sources

Address two PR review findings:

- eng/lib/license.mjs: sanitizeForMessage now escapes backslashes before
  backticks so the inline-code warning value is fully escaped, resolving a
  CodeQL "incomplete string escaping" alert. A raw backslash in a license
  value is now doubled rather than left to combine with a following escaped
  backtick.
- eng/external-plugin-validation.mjs: move the source unknown-field check out
  of validateGitHubSource into the outer source-object branch so it runs for
  every object source and then dispatch by source.source. A typo in the source
  discriminator (e.g. "soruce") or an unsupported source type now still
  surfaces the unknown-field warning instead of being silently skipped.

Adds regression tests for both behaviors.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eaa5eed6-5b65-4b28-9904-24f380d26728

* Harden Markdown safety of validation warnings via inlineCode helper

External-plugin validation warnings are rendered verbatim as Markdown
list items in the intake bot comment, so untrusted values interpolated
into them are an injection vector.

Add eng/lib/markdown.mjs exporting inlineCode(), which wraps a value in
a code span fenced with more backticks than any run in the content (and
pads leading/trailing backticks). This cannot be broken out of, unlike
the previous backslash escaping, which does not work inside code spans.

- lib/license.mjs: replace sanitizeForMessage with inlineCode for the
  non-SPDX license warning.
- external-plugin-validation.mjs: wrap unknown-field keys (attacker
  controlled JSON object keys) with inlineCode so newlines/Markdown in a
  key can no longer inject a new list item.
- Add inlineCode unit tests and injection-neutralization tests for both
  the license value and unknown-field key paths.

Addresses PR review comments 3679379606 and 3679434134.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eaa5eed6-5b65-4b28-9904-24f380d26728

* Fixing codespell

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: eaa5eed6-5b65-4b28-9904-24f380d26728
2026-07-30 14:35:49 +10:00
Jenny Ferries 96ca38efa1 Merge upstream/main into add-daily-focus-board-skill
Resolve the .codespellrc conflict by retaining both the daily-focus-board checkin key and upstream ACI term.

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

Copilot-Session: fd1eae93-cc9f-4777-812c-a2a9872e1c2b
2026-07-29 21:22:17 -07:00
John Haugabook c46b4a919a Add flight-map-canvas extension (#2482)
* Add flight-map-canvas extension

A canvas port of the Flight Map VSCode extension: a first-person
satellite terrain map flown with flight simulator controls, for
session breaks while an agent works.

The simulator under game/ is copied verbatim from the source
extension's media/ folder. That page already reached its host through
one seam - an acquireVsCodeApi() object and a placeholder in its head -
so extension.mjs fills that seam for the canvas: a loopback server that
injects a policy, the render configuration, and a shim translating
Server-Sent Events into the messages the page already handles.

Two agent actions: fly_to sends the flight to a capital, a geocoded
city, or a raw lat/lng, and picks a random capital when called with no
input; report_job shows the current job step under the HUD.

Adds the vendored three.min.js to the codespell skip list, matching the
existing entry for arcade-canvas's phaser.min.js.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Apply suggestions from code review

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 13:32:55 +10:00
Aaron Powell 43527d1336 chore: bump contributor check AGT to v4.1.0 (#2484)
Update contributor-check workflow to fetch AGT scripts from v4.1.0.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4b935b0a-90c8-454f-958f-93b468fd4e17
2026-07-30 12:13:36 +10:00
Adrien Clerbois 45305f1602 Add azure-container-registry-cli skill (#2450)
* Add azure-container-registry-cli skill

* Address Copilot review: 2025 ACR changes (ABAC, zone redundancy, task network bypass) and secure credential handling

* Add ACI (Azure Container Instances) to codespell ignore list

* Address second Copilot review wave: DCT deprecation, purge --untagged caveat, soft-delete tiers, Catalog Lister scope, secret quoting

---------

Co-authored-by: Aaron Powell <me@aaron-powell.com>
2026-07-30 11:52:42 +10:00
Burak Bayır 27d766f032 docs: add Xquik Apify Actor workflows (#2442)
Co-authored-by: kriptoburak <kriptoburak@users.noreply.github.com>
2026-07-30 11:50:43 +10:00
denis-a-evdokimov 7968055c17 Simplify AI Team Orchestration workflow 🤖 (#2439)
* Simplify AI Team Orchestration workflow

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

* Clarify recovery context sources

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-30 11:49:48 +10:00