Commit Graph

1810 Commits

Author SHA1 Message Date
Aaron Powell 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
Christopher Harrison b3815b0ab3 Add og:image dimensions for better social cards (#1955)
Adds og:image:width and og:image:height to the global head so LinkedIn
(and friends) reliably render the large preview card instead of a tiny
thumbnail. The image and the rest of the Open Graph tags were already in
good shape, so this is the missing piece. Also adds a website README
documenting how the cards work and the gotchas.

Co-authored-by: GeekTrainer <GeekTrainer@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-10 14:44:42 +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
Preyas Prakasan d93e8cf931 Plugin for AWS and addition of new skills 🤖🤖🤖 (#1903)
* aws plugin and adding few more aws agents

* updating the agent def

* fixed around skill validator results.

---------

Co-authored-by: Preyas Prakasan <preyasprakasan@Preyass-MacBook-Pro.local>
2026-06-10 14:43:31 +10:00
Kaps deaabda6ee Add Scala spark instructions (#1898)
* Add scala-spark instructions

* Add scala-spark instructions - readme

* Add scala-spark instructions-readme-updated

---------

Co-authored-by: Kapil Samant <kapilsamant@microsoft.com>
2026-06-10 14:36:26 +10:00
Muhammad Ubaid Raza 33c3ac8935 chore(deps, docs): bump marketplace version to 1.46.0 (#1877)
* chore(deps, docs): bump marketplace version to 1.46.0

- Refine execution priority guidance in agent documentation
- Imrpvoe discovery guidance
- Improve context cache guidance
- Add script usage guidelines to agent documentation
- Simplify agent input references

* feat: bump marketplace version to 1.47.0 and enhance agent workflows

- Add Bug‑Fix Mode with validation gate for `debugger_diagnosis` tasks
- Expand allowed task types to include `research`
- Reduce subagent concurrency limit from 4 to 2
- Update design validation handling for flagged tasks
- Update marketplace plugin version reference to 1.47.0

* chore: bump marketplace version to 1.48.0 and refine agent context envelope workflow documentation

- Enhance the Init section in gem-browser-tester.agent.md, gem-code-simplifier.agent.md, and gem-critic.agent.md with detailed context envelope handling, active context treatment, and reuse_notes trust/verification logic.
- Add explicit steps for safe assumption, verification before use, and controlled re‑reading of context notes.

* chore: refine verification of symbol usages before modifying shared components

* chore(marketplace): bump version to 1.50.0; refactor(gem-browser-tester): simplify workflow steps

* chore(docs): simplify Phase 0 task classification and streamline initialization

* chore: Merges teps for batching

* feat: Enhcanc esuport for trivial/ low complex tasks

* chore: bump version to 1.56.0 and add config settings for visual regression, devops approvals, and orchestrator complexity

* chore: fix toc links

* chore: Remove emojis from headings

* chore: Update readme

* chore: Enforce orchestration

* chore: clarify orchestrator role and bump version to 1.59.0

* chore: bump version to 1.61.0 and refine agent documentation
2026-06-10 14:34:29 +10:00
Burak Kaygusuz 21e2d9f0d6 feat(instructions): add Java JUnit 5 assertions best practices 🤖🤖🤖 (#1765)
* feat(instructions): add java junit5 assertions best practices

* feat(instructions): add JUnit 5 assertions best practices guide
2026-06-10 14:29:47 +10:00
Aaron Powell 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 Powell 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 Powell 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 Powell 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
Tim Mulholland 881690af58 Merge pull request #1912 from SanyamSavla/SanyamSavla/update-modernize-dotnet-1.0.1152-preview1 2026-06-07 23:20:46 -07:00
Bruno Borges 990e78f57e Merge pull request #1876 from github/namecheap-skill
Namecheap skill
2026-06-05 18:43:22 -04:00
Bruno Borges ac1fbd92a8 Merge branch 'staged' into namecheap-skill 2026-06-05 16:59:18 -04:00
Aaron Powell 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 Powell 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
Sanyam Vipul Savla cfa33d6929 Update modernize-dotnet plugin to 1.0.1152-preview1 2026-06-03 16:16:22 -07:00
Aaron Powell 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
copilot-swe-agent[bot] 3cd14cedd0 docs(namecheap): document JSON schemas for setHosts and forwarding files
Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com>
2026-05-29 21:58:31 +00:00
Bruno Borges b839f3e71b Rewrite namecheap skill in Python to address PR review
Replace the Bash namecheap.sh with a stdlib-only Python CLI (namecheap.py)
that resolves all Copilot PR review feedback:

- Cache the public IP once per run instead of per request
- Build API requests in-process via urllib so the API key never appears
  in process argv or shell history
- Broaden multi-part TLD detection (co.uk, com.au, etc.) and document the
  limitation
- Allow setup to update existing stored credentials
- Stop soliciting the API key via chat; use terminal getpass or env vars
- Remove non-portable Bash constructs (inline local, grep -oP)

Also normalize domain casing, preserve MX priority 0, accept
case-insensitive record types, and handle mixed-case email-forwarding
attributes. Update SKILL.md and regenerate the skills README.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-29 15:23:06 -04:00
Bruno Borges 65c205fb96 Skill for Namecheap DNS Management API 2026-05-29 13:58:55 -04:00
Bruno Borges 3fbb60c3e1 Skill for Namecheap DNS Management API 2026-05-29 13:57:49 -04:00
Aaron Powell 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
John Haugabook 0e95cb4539 patch: rhino3d-scripts (#1868) 2026-05-29 11:23:22 +10:00
Padmaraj Nidagundi 78291724c3 feat: add QA engineering best practices instruction 🤖🤖🤖 (#1864) 2026-05-29 11:16:30 +10:00
Niels Bosma 105ea51d57 Add Ivy Tendril to CLI Tools (#1862) 2026-05-29 11:11:10 +10:00
Aaron Powell 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 Powell 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
Xianpeng Shen 72c4f54d04 feat: add conventional-branch skill (#1858)
* feat: add conventional-branch skill

Add a new agent skill for creating Git branches following the
Conventional Branch specification. The skill covers branch naming
rules, valid/invalid examples, type prefixes (feature/, bugfix/,
hotfix/, release/, chore/), trunk branch detection, and a
step-by-step workflow for branch creation.

The skill complements the existing conventional-commit skill and
references the specification at https://conventional-branch.github.io.

* fix: use explicit numbered workflow steps in conventional-branch skill

Replace markdown heading-based workflow steps (### 1., ### 2.)
with explicit 'Step N — Title' format for better agent
comprehension.
2026-05-28 15:06:54 +10:00
Trent Blackburn 70209f3dfd Clarify that Set-ItResult ends the It block in Pester v5 Skip section (#1857)
Set-ItResult -Skipped/-Inconclusive throws internally to end the It block, so code after it does not run and a trailing return is unreachable. Documenting this prevents the recurring suggestion to add a redundant return after Set-ItResult.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 15:05:02 +10:00
Lixin2026 a3f54b1cd8 docs: clarify .NET Framework project formats (#1856) 2026-05-28 15:04:18 +10:00
John Haugabook 9bdb742cbd patch: use-cliche-data-in-docs, adobe-illustrator-scripting (#1855) 2026-05-28 10:09:54 +10:00
kimtth 78d62afc0c fix: stabilize generated instructions README ordering (#1846)
Pass an explicit 'en' locale to localeCompare for instruction title
sorting in update-readme.mjs. Previously the default OS locale was
used, causing String.prototype.localeCompare to produce different
orderings on Windows vs Ubuntu (affecting characters like Korean and
Japanese CJK titles), which made the validate-readme CI workflow
non-deterministic.

Fixes the root cause of the locale-dependent sort instability.
2026-05-28 10:09:14 +10:00
AlisonMacLellanCreates 18526f2089 Enhance Ember with from-the-other-side trio profiles (#1809)
* Enhance Ember with trio from-the-other-side skills

* Regenerate plugin index after build

* Address Ember README review consistency feedback
2026-05-28 10:08:40 +10:00
Parth Sangani 2f47529767 fix(pm-skills): use plain tag name for ref, not refs/tags/ (#1771)
* fix(pm-skills): use plain tag name for ref, not refs/tags/

`apm install pm-skills@awesome-copilot` invokes `git clone --depth=1 --branch=<ref>` against the source repo. `git clone --branch` rejects `refs/tags/v2.1.0` ("Remote branch not found in upstream origin") and only accepts the plain tag name.

Matches the convention used by the other entries in this file - `chrome-devtools-plugin` uses `chrome-devtools-mcp-v1.0.1`, `ai-ready` uses a SHA. `pm-skills` was the only entry with the `refs/tags/` prefix, inherited from the placeholder example in the external-plugin issue form.

Tested locally: with the fix applied, `apm install pm-skills@awesome-copilot --target claude` resolves cleanly (12 skills + MCP server + 2 hooks integrated).

Original submission: github/awesome-copilot#1767 / github/awesome-copilot#1770

* fix: regenerate marketplace.json after pm-skills ref fix

The previous force-push (7fbf75a) updated plugins/external.json only.
.github/plugin/marketplace.json is a derived artifact regenerated by
`npm start` and must be kept in sync. The Validate README.md workflow
detected the mismatch and failed.

Ran `npm ci && npm start` locally; produces a single 1-line update to
marketplace.json matching the plugins/external.json change.
2026-05-28 10:07:42 +10:00
Tim Mulholland 048f6c52d1 Merge pull request #1854 from tlmii/anvillan/update-modernize-dotnet-1.0.1146-preview1
Update modernize-dotnet plugin to 1.0.1146-preview1
2026-05-27 13:09:20 -07:00
Antonio Villanueva 348437d82f Update modernize-dotnet plugin to 1.0.1146-preview1 2026-05-27 12:47:48 -07:00
Aaron Powell 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
Hannah Gould b4948a9450 Fix ghs_ token regex for new stateless format (#1840)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-27 10:37:04 +10:00
John Haugabook 3d6b8edfae new instruction exclude-prompt-data.instructions (#1838)
* new instruction exclude-prompt-data.instructions

* 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-27 10:32:39 +10:00
Aaron Powell 1f977fc2dc Merge branch 'main' into staged 2026-05-27 10:25:01 +10:00
github-actions[bot] 0d6d15ec13 chore: publish from staged 2026-05-26 23:56:26 +00:00
Aaron Powell 88dd885726 Using sha not ref for vercel plugin (#1841) 2026-05-27 09:56:00 +10:00
github-actions[bot] 6db4fd20ce chore: publish from staged 2026-05-26 23:51:42 +00:00
Sophio Japharidze 01accdef93 Update SonarQube plugin tag name (#1834) 2026-05-27 09:51:22 +10:00
github-actions[bot] c42f267686 chore: publish from staged 2026-05-26 23:47:18 +00:00
Ravikiran Dasari 2811d95860 Add Embedded C Expert agent definition for safety-critical embedded guidance (#1805) 2026-05-27 09:47:00 +10:00
github-actions[bot] f8c986079e chore: publish from staged 2026-05-26 00:45:02 +00:00