chore: publish from staged#1283
Conversation
There was a problem hiding this comment.
main, but PRs should target staged.
The main branch is auto-published from staged and should not receive direct PRs.
Please close this PR and re-open it against the staged branch.
You can change the base branch using the Edit button at the top of this PR,
or run: gh pr edit 1283 --base staged
There was a problem hiding this comment.
Pull request overview
This PR appears to standardize plugin manifests to reference agent/skill directories (instead of enumerating each file) while adding a large set of new partner agents and new skills across multiple plugins.
Changes:
- Add many new agent markdown definitions under various
plugins/*/agents/directories. - Add multiple new skill folders (with
SKILL.md) across plugins. - Normalize plugin manifests (
plugin.json) to point at"./agents"directories and remove trailing slashes from skill paths.
Reviewed changes
Copilot reviewed 141 out of 245 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/partners/agents/neon-migration-specialist.md | Adds a Neon Postgres migration agent definition |
| plugins/partners/agents/mongodb-performance-advisor.md | Adds a MongoDB performance advisory agent definition |
| plugins/partners/agents/lingodotdev-i18n.md | Adds an i18n agent definition with Lingo MCP configuration |
| plugins/partners/agents/jfrog-sec.md | Adds a JFrog security remediation agent definition |
| plugins/partners/agents/elasticsearch-observability.md | Adds an Elastic observability/security/vector-search agent definition |
| plugins/partners/agents/diffblue-cover.md | Adds a Diffblue Cover unit-test generation agent definition |
| plugins/partners/agents/arm-migration.md | Adds an Arm migration agent definition |
| plugins/partners/agents/amplitude-experiment-implementation.md | Adds an Amplitude experiment implementation agent definition |
| plugins/partners/.github/plugin/plugin.json | Switches partners plugin to reference ./agents directory |
| plugins/ospo-sponsorship/.github/plugin/plugin.json | Normalizes skill path (removes trailing slash) |
| plugins/openapi-to-application-python-fastapi/skills/openapi-to-application-code/SKILL.md | Adds OpenAPI-to-application skill content (FastAPI) |
| plugins/openapi-to-application-python-fastapi/agents/openapi-to-application.md | Adds OpenAPI-to-application agent (FastAPI) |
| plugins/openapi-to-application-python-fastapi/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/openapi-to-application-nodejs-nestjs/skills/openapi-to-application-code/SKILL.md | Adds OpenAPI-to-application skill content (NestJS) |
| plugins/openapi-to-application-nodejs-nestjs/agents/openapi-to-application.md | Adds OpenAPI-to-application agent (NestJS) |
| plugins/openapi-to-application-nodejs-nestjs/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/openapi-to-application-java-spring-boot/skills/openapi-to-application-code/SKILL.md | Adds OpenAPI-to-application skill content (Spring Boot) |
| plugins/openapi-to-application-java-spring-boot/agents/openapi-to-application.md | Adds OpenAPI-to-application agent (Spring Boot) |
| plugins/openapi-to-application-java-spring-boot/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/openapi-to-application-go/skills/openapi-to-application-code/SKILL.md | Adds OpenAPI-to-application skill content (Go) |
| plugins/openapi-to-application-go/agents/openapi-to-application.md | Adds OpenAPI-to-application agent (Go) |
| plugins/openapi-to-application-go/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/openapi-to-application-csharp-dotnet/skills/openapi-to-application-code/SKILL.md | Adds OpenAPI-to-application skill content (C#/.NET) |
| plugins/openapi-to-application-csharp-dotnet/agents/openapi-to-application.md | Adds OpenAPI-to-application agent (C#/.NET) |
| plugins/openapi-to-application-csharp-dotnet/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/noob-mode/.github/plugin/plugin.json | Normalizes skill path (removes trailing slash) |
| plugins/mcp-m365-copilot/agents/mcp-m365-agent-expert.md | Adds an MCP/M365 Copilot expert agent definition |
| plugins/mcp-m365-copilot/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| plugins/kotlin-mcp-development/agents/kotlin-mcp-expert.md | Adds a Kotlin MCP development expert agent definition |
| plugins/kotlin-mcp-development/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/java-mcp-development/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/java-development/skills/java-springboot/SKILL.md | Adds a Java Spring Boot best-practices skill |
| plugins/java-development/skills/java-junit/SKILL.md | Adds a JUnit best-practices skill |
| plugins/java-development/skills/java-docs/SKILL.md | Adds a Java Javadoc best-practices skill |
| plugins/java-development/skills/create-spring-boot-java-project/SKILL.md | Adds a Spring Boot project creation skill |
| plugins/java-development/.github/plugin/plugin.json | Normalizes skill paths (removes trailing slashes) |
| plugins/go-mcp-development/agents/go-mcp-expert.md | Adds a Go MCP development expert agent definition |
| plugins/go-mcp-development/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/gem-team/agents/gem-reviewer.md | Adds a GEM “reviewer” agent definition |
| plugins/gem-team/agents/gem-implementer.md | Adds a GEM “implementer” agent definition |
| plugins/gem-team/agents/gem-documentation-writer.md | Adds a GEM documentation writer agent definition |
| plugins/gem-team/agents/gem-devops.md | Adds a GEM DevOps agent definition |
| plugins/gem-team/agents/gem-browser-tester.md | Adds a GEM browser tester agent definition |
| plugins/gem-team/.github/plugin/plugin.json | Switches plugin to reference ./agents directory |
| plugins/frontend-web-dev/skills/playwright-generate-test/SKILL.md | Adds a Playwright test generation skill |
| plugins/frontend-web-dev/skills/playwright-explore-website/SKILL.md | Adds a Playwright website exploration skill |
| plugins/frontend-web-dev/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| plugins/edge-ai-tasks/.github/plugin/plugin.json | Switches plugin to reference ./agents directory |
| plugins/devops-oncall/skills/multi-stage-dockerfile/SKILL.md | Adds a multi-stage Dockerfile skill |
| plugins/devops-oncall/agents/azure-principal-architect.md | Adds an Azure principal architect agent definition |
| plugins/devops-oncall/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| plugins/dataverse/.github/plugin/plugin.json | Normalizes skill path (removes trailing slash) |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-usecase-builder/SKILL.md | Adds Dataverse Python use-case builder skill |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-quickstart/SKILL.md | Adds Dataverse Python quickstart skill |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-production-code/SKILL.md | Adds Dataverse Python production-code skill |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-advanced-patterns/SKILL.md | Adds Dataverse Python advanced-patterns skill |
| plugins/dataverse-sdk-for-python/.github/plugin/plugin.json | Normalizes skill paths (removes trailing slashes) |
| plugins/database-data-management/skills/postgresql-code-review/SKILL.md | Adds a PostgreSQL-focused code review skill |
| plugins/database-data-management/agents/postgresql-dba.md | Adds a PostgreSQL DBA agent definition |
| plugins/database-data-management/agents/ms-sql-dba.md | Adds an MS-SQL DBA agent definition |
| plugins/database-data-management/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| plugins/csharp-mcp-development/skills/csharp-mcp-server-generator/SKILL.md | Adds a C# MCP server generator skill |
| plugins/csharp-mcp-development/agents/csharp-mcp-expert.md | Adds a C# MCP expert agent definition |
| plugins/csharp-mcp-development/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/csharp-dotnet-development/skills/dotnet-upgrade/SKILL.md | Adds a .NET upgrade prompts/guide skill |
| plugins/csharp-dotnet-development/skills/dotnet-best-practices/SKILL.md | Adds a .NET best practices skill |
| plugins/csharp-dotnet-development/skills/csharp-xunit/SKILL.md | Adds an xUnit best practices skill |
| plugins/csharp-dotnet-development/skills/csharp-tunit/SKILL.md | Adds a TUnit best practices skill |
| plugins/csharp-dotnet-development/skills/csharp-nunit/SKILL.md | Adds an NUnit best practices skill |
| plugins/csharp-dotnet-development/skills/csharp-async/SKILL.md | Adds a C# async best practices skill |
| plugins/csharp-dotnet-development/skills/aspnet-minimal-api-openapi/SKILL.md | Adds an ASP.NET Minimal API + OpenAPI skill |
| plugins/csharp-dotnet-development/agents/expert-dotnet-software-engineer.md | Adds an expert .NET engineer agent definition |
| plugins/csharp-dotnet-development/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| plugins/copilot-sdk/.github/plugin/plugin.json | Normalizes skill path (removes trailing slash) |
| plugins/context-engineering/skills/what-context-needed/SKILL.md | Adds a “what context do you need” skill |
| plugins/context-engineering/skills/refactor-plan/SKILL.md | Adds a refactor planning skill |
| plugins/context-engineering/skills/context-map/SKILL.md | Adds a context-map skill |
| plugins/context-engineering/agents/context-architect.md | Adds a context-architect agent definition |
| plugins/context-engineering/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| plugins/clojure-interactive-programming/skills/remember-interactive-programming/SKILL.md | Adds an interactive programming reminder skill |
| plugins/clojure-interactive-programming/agents/clojure-interactive-programming.md | Adds a Clojure REPL-first agent definition |
| plugins/clojure-interactive-programming/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill path |
| plugins/cast-imaging/agents/cast-imaging-structural-quality-advisor.md | Adds a CAST Imaging quality advisor agent definition |
| plugins/cast-imaging/agents/cast-imaging-software-discovery.md | Adds a CAST Imaging discovery agent definition |
| plugins/cast-imaging/agents/cast-imaging-impact-analysis.md | Adds a CAST Imaging impact analysis agent definition |
| plugins/cast-imaging/.github/plugin/plugin.json | Switches plugin to reference ./agents directory |
| plugins/azure-cloud-development/skills/azure-pricing/references/SERVICE-NAMES.md | Adds Azure pricing reference material |
| plugins/azure-cloud-development/skills/azure-pricing/references/REGIONS.md | Adds Azure pricing reference material |
| plugins/azure-cloud-development/skills/azure-pricing/references/COST-ESTIMATOR.md | Adds Azure pricing reference material |
| plugins/azure-cloud-development/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md | Adds Copilot Studio pricing reference material |
| plugins/azure-cloud-development/agents/terraform-azure-planning.md | Adds a Terraform-for-Azure planning agent definition |
| plugins/azure-cloud-development/agents/terraform-azure-implement.md | Adds a Terraform-for-Azure implementation agent definition |
| plugins/azure-cloud-development/agents/azure-verified-modules-terraform.md | Adds an AVM Terraform agent definition |
| plugins/azure-cloud-development/agents/azure-verified-modules-bicep.md | Adds an AVM Bicep agent definition |
| plugins/azure-cloud-development/agents/azure-saas-architect.md | Adds an Azure SaaS architect agent definition |
| plugins/azure-cloud-development/agents/azure-principal-architect.md | Adds an Azure principal architect agent definition |
| plugins/azure-cloud-development/agents/azure-logic-apps-expert.md | Adds an Azure Logic Apps expert agent definition |
| plugins/azure-cloud-development/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| plugins/awesome-copilot/skills/suggest-awesome-github-copilot-skills/SKILL.md | Adds a meta-skill for suggesting skills from awesome-copilot |
| plugins/awesome-copilot/skills/suggest-awesome-github-copilot-prompts/SKILL.md | Adds a meta-skill for suggesting prompts from awesome-copilot |
| plugins/awesome-copilot/skills/suggest-awesome-github-copilot-instructions/SKILL.md | Adds a meta-skill for suggesting instructions from awesome-copilot |
| plugins/awesome-copilot/skills/suggest-awesome-github-copilot-agents/SKILL.md | Adds a meta-skill for suggesting agents from awesome-copilot |
| plugins/awesome-copilot/agents/meta-agentic-project-scaffold.md | Adds a meta scaffold agent definition |
| plugins/awesome-copilot/.github/plugin/plugin.json | Switches plugin to ./agents and normalizes skill paths |
| - Look at the packages installed by the Dockerfile send each package to the learning_path_server tool to check each package for ARM compatibility. If a package is not compatible, change it to a compatible version. When invoking the tool, explicitly ask "Is [package] compatible with ARM architecture?" where [package] is the name of the package. | ||
| - Look at the contents of any requirements.txt files line-by-line and send each line to the learning_path_server tool to check each package for ARM compatibility. If a package is not compatible, change it to a compatible version. When invoking the tool, explicitly ask "Is [package] compatible with ARM architecture?" where [package] is the name of the package. |
There was a problem hiding this comment.
This agent instructs using a learning_path_server tool, but the only MCP server declared is custom-mcp with tools [\"skopeo\", \"check_image\", \"knowledge_base_search\", \"migrate_ease_scan\", \"mcp\", \"sysreport_instructions\"]. As written, these steps reference a tool that is not provided by the agent, so the workflow is not executable. Update the instructions to use one of the declared tools (or add the missing tool/server to the front matter) so the tool calls are consistent.
| - Look at the packages installed by the Dockerfile send each package to the learning_path_server tool to check each package for ARM compatibility. If a package is not compatible, change it to a compatible version. When invoking the tool, explicitly ask "Is [package] compatible with ARM architecture?" where [package] is the name of the package. | |
| - Look at the contents of any requirements.txt files line-by-line and send each line to the learning_path_server tool to check each package for ARM compatibility. If a package is not compatible, change it to a compatible version. When invoking the tool, explicitly ask "Is [package] compatible with ARM architecture?" where [package] is the name of the package. | |
| - Look at the packages installed by the Dockerfile and send each package to the knowledge_base_search tool to check each package for ARM compatibility. If a package is not compatible, change it to a compatible version. When invoking the tool, explicitly ask "Is [package] compatible with ARM architecture?" where [package] is the name of the package. | |
| - Look at the contents of any requirements.txt files line-by-line and send each line to the knowledge_base_search tool to check each package for ARM compatibility. If a package is not compatible, change it to a compatible version. When invoking the tool, explicitly ask "Is [package] compatible with ARM architecture?" where [package] is the name of the package. |
| - Create `docker-compose.yaml` at project root and add following services: `redis:6`, `postgresql:17` and `mongo:8`. | ||
|
|
||
| - redis service should have | ||
| - password `rootroot` | ||
| - mapping port 6379 to 6379 | ||
| - mounting volume `./redis_data` to `/data` | ||
| - postgresql service should have | ||
| - password `rootroot` |
There was a problem hiding this comment.
The official Docker image for PostgreSQL is postgres, not postgresql. Using postgresql:17 will fail for most users. Update the instructions to reference postgres:17 (and keep the rest of the compose guidance consistent with that image's environment variables).
| - Create `docker-compose.yaml` at project root and add following services: `redis:6`, `postgresql:17` and `mongo:8`. | |
| - redis service should have | |
| - password `rootroot` | |
| - mapping port 6379 to 6379 | |
| - mounting volume `./redis_data` to `/data` | |
| - postgresql service should have | |
| - password `rootroot` | |
| - Create `docker-compose.yaml` at project root and add following services: `redis:6`, `postgres:17` and `mongo:8`. | |
| - redis service should have | |
| - password `rootroot` | |
| - mapping port 6379 to 6379 | |
| - mounting volume `./redis_data` to `/data` | |
| - postgresql service should have | |
| - `POSTGRES_PASSWORD` set to `rootroot` |
| # This section maps a GitHub secret to the AUTH_HEADER environment variable | ||
| # The 'ApiKey' prefix is required by Elastic | ||
| env: | ||
| AUTH_HEADER: ApiKey ${{ secrets.ELASTIC_API_KEY }} |
There was a problem hiding this comment.
This agent uses GitHub Actions expression syntax (${{ secrets.ELASTIC_API_KEY }}) inside a YAML front matter block. Outside GitHub Actions, this will usually be treated as a literal string and the MCP server auth will fail. Prefer using the repository's convention for secrets/inputs in these agent files (e.g., ${input:elastic-api-key} or a documented environment variable) so the configuration works consistently across environments.
| # This section maps a GitHub secret to the AUTH_HEADER environment variable | |
| # The 'ApiKey' prefix is required by Elastic | |
| env: | |
| AUTH_HEADER: ApiKey ${{ secrets.ELASTIC_API_KEY }} | |
| # This section maps an agent input to the AUTH_HEADER environment variable | |
| # The 'ApiKey' prefix is required by Elastic | |
| env: | |
| AUTH_HEADER: ApiKey ${input:elastic-api-key} |
| "./agents" | ||
| ] | ||
| } |
There was a problem hiding this comment.
The agents field previously listed explicit agent file paths, but now points to a directory (\"./agents\"). If the plugin manifest schema expects file paths (rather than folder globbing), this will break agent discovery at runtime. Confirm/align with the plugin loader expectations—either keep explicit file entries, or update the loader/schema/docs to support directory entries.
| --- | ||
| name: Neon Migration Specialist | ||
| description: Safe Postgres migrations with zero-downtime using Neon's branching workflow. Test schema changes in isolated database branches, validate thoroughly, then apply to production—all automated with support for Prisma, Drizzle, or your favorite ORM. | ||
| --- |
There was a problem hiding this comment.
This PR introduces many new agent/skill files (including this one). Per the repository's contribution guidelines, new additions should also be registered in the corresponding docs/README.<type>.md index (e.g., agents/skills/plugin listings, depending on how this repo organizes them). Please add the newly introduced agents/skills to the appropriate README index files so they are discoverable.
| - Use try/catch blocks around await expressions | ||
| - Avoid swallowing exceptions in async methods | ||
| - Use `ConfigureAwait(false)` when appropriate to prevent deadlocks in library code | ||
| - Propagate exceptions with `Task.FromException()` instead of throwing in async Task returning methods |
There was a problem hiding this comment.
This guidance is inaccurate/misleading for C#: throwing inside an async Task/Task<T> method is the standard way to fault the returned task; Task.FromException(...) is mainly for non-async methods that return Task. Suggest rewriting this bullet to clarify when Task.FromException is appropriate (non-async path) and that throw is correct inside async methods.
| - Propagate exceptions with `Task.FromException()` instead of throwing in async Task returning methods | |
| - In `async Task`/`Task<T>` methods, use `throw` to fault the returned task; use `Task.FromException(...)` mainly in non-`async` methods that need to return a faulted `Task`/`Task<T>` |
| @@ -0,0 +1,49 @@ | |||
| --- | |||
| name: Neon Migration Specialist | |||
There was a problem hiding this comment.
Agent name values in this PR use mixed conventions (some are Title Case with spaces, others are lowercase hyphenated). If your platform uses name as an identifier (rather than just a display label), this can create inconsistent invocation UX or collisions. Consider standardizing name across these agents (e.g., consistently using a display name vs. an id-like slug) and, if needed, adding a separate explicit id field where supported.
| name: Neon Migration Specialist | |
| name: neon-migration-specialist |
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.stagedbranch for this pull request.Description
Type of Contribution
Additional Notes
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.