feat: add spring boot testing skill#1067
Conversation
- Introduced MockMvcTester for AssertJ-style assertions in Spring MVC testing. - Added @restclienttest for testing REST clients with MockRestServiceServer. - Implemented RestTestClient as a modern alternative to TestRestTemplate. - Documented migration steps from Spring Boot 3.x to 4.0, including dependency and annotation changes. - Created an overview of test slices to guide appropriate testing strategies. - Included Testcontainers setup for JDBC testing with PostgreSQL and MySQL. - Enhanced @WebMvcTest documentation with examples for various HTTP methods and validation.
There was a problem hiding this comment.
Pull request overview
This PR appears to broaden the repository’s plugin catalog by adding multiple new agents/skills across various plugins, and updating many plugin manifests to reference agent/skill directories. It also adds a new spring-boot-testing entry to the skills index.
Changes:
- Added numerous new agent and skill markdown files across several
plugins/*packages. - Updated many
plugins/**/.github/plugin/plugin.jsonmanifests to reference./agentsdirectories and to normalize skill paths (remove trailing slashes). - Updated
docs/README.skills.mdto include the newspring-boot-testingskill and its reference files.
Reviewed changes
Copilot reviewed 123 out of 308 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/mcp-m365-copilot/agents/mcp-m365-agent-expert.md | Adds an MCP/M365-focused declarative agent definition. |
| plugins/mcp-m365-copilot/.github/plugin/plugin.json | Changes agent/skill path declarations (agents now point to directory). |
| plugins/kotlin-mcp-development/agents/kotlin-mcp-expert.md | Adds a Kotlin MCP server development expert agent definition. |
| plugins/kotlin-mcp-development/.github/plugin/plugin.json | Changes agent/skill path declarations (agents now point to directory). |
| plugins/java-mcp-development/.github/plugin/plugin.json | Changes agent path declaration to directory. |
| 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 5 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 scaffolding skill (curl start.spring.io, config guidance). |
| plugins/java-development/.github/plugin/plugin.json | Registers new Java skills (and normalizes paths). |
| plugins/go-mcp-development/agents/go-mcp-expert.md | Adds a Go MCP server development expert agent definition. |
| plugins/go-mcp-development/.github/plugin/plugin.json | Changes agent/skill path declarations (agents now point to directory). |
| plugins/gem-team/agents/gem-reviewer.md | Adds a security/PRD-focused reviewer agent definition. |
| plugins/gem-team/agents/gem-orchestrator.md | Adds an orchestrator agent definition for multi-agent workflows. |
| plugins/gem-team/agents/gem-implementer.md | Adds an implementer agent definition emphasizing TDD. |
| plugins/gem-team/agents/gem-documentation-writer.md | Adds a documentation-writer agent definition. |
| plugins/gem-team/agents/gem-devops.md | Adds a devops agent definition with approval gates and JSON output schema. |
| plugins/gem-team/agents/gem-browser-tester.md | Adds a browser tester agent definition for E2E/accessibility workflows. |
| plugins/gem-team/.github/plugin/plugin.json | Changes agents declaration to ./agents directory. |
| plugins/frontend-web-dev/skills/playwright-generate-test/SKILL.md | Adds a Playwright MCP test-generation skill. |
| plugins/frontend-web-dev/skills/playwright-explore-website/SKILL.md | Adds a Playwright MCP website exploration skill. |
| plugins/frontend-web-dev/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills paths. |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-mcp/references/connection-references.md | Adds reference docs for FlowStudio MCP connection references. |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-mcp/references/action-types.md | Adds reference docs for FlowStudio MCP action type reading. |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-mcp/references/MCP-BOOTSTRAP.md | Adds an MCP bootstrap quick reference (headers, response shape, parsing). |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-debug/references/debug-workflow.md | Adds a debug decision tree/reference workflow. |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-debug/references/common-errors.md | Adds a common errors reference doc. |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-build/references/trigger-types.md | Adds trigger templates/reference (recurrence, manual, connectors). |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-build/references/flow-schema.md | Adds a flow schema reference for update_live_flow payloads. |
| plugins/flowstudio-power-automate/skills/flowstudio-power-automate-build/references/build-patterns.md | Adds copy-paste build pattern templates. |
| plugins/flowstudio-power-automate/.github/plugin/plugin.json | Normalizes skill paths (removes trailing slashes). |
| plugins/edge-ai-tasks/.github/plugin/plugin.json | Changes agents declaration to directory. |
| plugins/doublecheck/skills/doublecheck/assets/verification-report-template.md | Adds a verification report template asset. |
| plugins/doublecheck/agents/doublecheck.md | Adds a verification agent that uses web tools and structured reporting. |
| plugins/doublecheck/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills path. |
| plugins/devops-oncall/skills/multi-stage-dockerfile/SKILL.md | Adds a multi-stage Dockerfile best-practices skill. |
| plugins/devops-oncall/agents/azure-principal-architect.md | Adds an Azure principal architect agent definition. |
| plugins/devops-oncall/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills paths. |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-usecase-builder/SKILL.md | Adds a Dataverse Python SDK use-case builder skill. |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-quickstart/SKILL.md | Adds a Dataverse Python SDK quickstart skill. |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-production-code/SKILL.md | Adds a Dataverse Python production-code skill with patterns. |
| plugins/dataverse-sdk-for-python/skills/dataverse-python-advanced-patterns/SKILL.md | Adds advanced Dataverse SDK patterns skill. |
| plugins/dataverse-sdk-for-python/.github/plugin/plugin.json | Registers Dataverse Python skills (normalizes paths). |
| plugins/database-data-management/skills/postgresql-code-review/SKILL.md | Adds a Postgres-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 | Changes agents declaration to directory; normalizes skills 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 | Changes agents declaration to directory; normalizes skills paths. |
| plugins/csharp-dotnet-development/skills/dotnet-upgrade/SKILL.md | Adds a .NET upgrade planning 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 minimal API + OpenAPI guidance skill. |
| plugins/csharp-dotnet-development/agents/expert-dotnet-software-engineer.md | Adds a .NET expert engineering guidance agent definition. |
| plugins/csharp-dotnet-development/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills 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 context-gathering skill (files needed before answering). |
| plugins/context-engineering/skills/refactor-plan/SKILL.md | Adds a multi-file refactor planning skill. |
| plugins/context-engineering/skills/context-map/SKILL.md | Adds a context map generation skill. |
| plugins/context-engineering/agents/context-architect.md | Adds a context architect agent definition. |
| plugins/context-engineering/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills 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 REPL-first Clojure agent definition. |
| plugins/clojure-interactive-programming/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills path. |
| plugins/cast-imaging/agents/cast-imaging-structural-quality-advisor.md | Adds CAST Imaging quality advisor agent definition. |
| plugins/cast-imaging/agents/cast-imaging-software-discovery.md | Adds CAST Imaging discovery agent definition. |
| plugins/cast-imaging/agents/cast-imaging-impact-analysis.md | Adds CAST Imaging impact analysis agent definition. |
| plugins/cast-imaging/.github/plugin/plugin.json | Changes agents declaration to directory. |
| plugins/azure-cloud-development/skills/azure-pricing/references/SERVICE-NAMES.md | Adds Azure Retail Prices API service name reference. |
| plugins/azure-cloud-development/skills/azure-pricing/references/REGIONS.md | Adds Azure Retail Prices API region mapping reference. |
| plugins/azure-cloud-development/skills/azure-pricing/references/COST-ESTIMATOR.md | Adds cost estimation formulas reference. |
| plugins/azure-cloud-development/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md | Adds Copilot Studio billing rates reference. |
| plugins/azure-cloud-development/agents/terraform-azure-planning.md | Adds a Terraform planning agent definition. |
| plugins/azure-cloud-development/agents/terraform-azure-implement.md | Adds a Terraform implementation agent definition. |
| plugins/azure-cloud-development/agents/azure-verified-modules-terraform.md | Adds AVM Terraform agent definition with required test commands. |
| plugins/azure-cloud-development/agents/azure-verified-modules-bicep.md | Adds AVM Bicep agent definition. |
| plugins/azure-cloud-development/agents/azure-saas-architect.md | Adds SaaS architect agent definition. |
| plugins/azure-cloud-development/agents/azure-principal-architect.md | Adds principal architect agent definition. |
| plugins/azure-cloud-development/agents/azure-logic-apps-expert.md | Adds Logic Apps expert agent definition. |
| plugins/azure-cloud-development/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills paths. |
| plugins/awesome-copilot/skills/suggest-awesome-github-copilot-skills/SKILL.md | Adds a skill to suggest skills from awesome-copilot repo. |
| plugins/awesome-copilot/skills/suggest-awesome-github-copilot-instructions/SKILL.md | Adds a skill to suggest instruction files from awesome-copilot repo. |
| plugins/awesome-copilot/skills/suggest-awesome-github-copilot-agents/SKILL.md | Adds a skill to suggest agent files from awesome-copilot repo. |
| plugins/awesome-copilot/agents/meta-agentic-project-scaffold.md | Adds an agent intended to pull content from awesome-copilot. |
| plugins/awesome-copilot/.github/plugin/plugin.json | Changes agents declaration to directory; normalizes skills paths. |
| plugins/automate-this/.github/plugin/plugin.json | Normalizes skill path (removes trailing slash). |
| docs/README.skills.md | Registers the new spring-boot-testing skill in the skills index. |
You can also share your feedback on Copilot code review. Take the survey.
| "./agents" | ||
| ], | ||
| "skills": [ | ||
| "./skills/mcp-create-declarative-agent/", | ||
| "./skills/mcp-create-adaptive-cards/", | ||
| "./skills/mcp-deploy-manage-agents/" | ||
| "./skills/mcp-create-declarative-agent", | ||
| "./skills/mcp-create-adaptive-cards", | ||
| "./skills/mcp-deploy-manage-agents" |
| "./agents/gem-devops.md", | ||
| "./agents/gem-reviewer.md", | ||
| "./agents/gem-documentation-writer.md" | ||
| "./agents" |
| - Docker | ||
| - Docker Compose | ||
|
|
||
| - If you need to custom the project name, please change the `artifactId` and the `packageName` in [download-spring-boot-project-template](./create-spring-boot-java-project.prompt.md#download-spring-boot-project-template) |
| spring.data.redis.host=localhost | ||
| spring.data.redis.port=6379 | ||
| spring.data.redis.password=rootroot |
| spring.datasource.url=jdbc:postgresql://localhost:5432/postgres | ||
| spring.datasource.username=postgres | ||
| spring.datasource.password=rootroot |
| spring.data.mongodb.username=root | ||
| spring.data.mongodb.password=rootroot |
| | [shuffle-json-data](../skills/shuffle-json-data/SKILL.md) | Shuffle repetitive JSON objects safely by validating schema consistency before randomising entries. | None | | ||
| | [snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md) | Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None | | ||
| | [sponsor-finder](../skills/sponsor-finder/SKILL.md) | Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke with /sponsor followed by a GitHub owner/repo (e.g. "/sponsor expressjs/express"). | None | | ||
| | [spring-boot-testing](../skills/spring-boot-testing/SKILL.md) | Expert Spring Boot 4 testing specialist that selects the best Spring Boot testing techniques for your situation with Junit 6 and AssertJ. | `references/assertj-basics.md`<br />`references/assertj-collections.md`<br />`references/context-caching.md`<br />`references/datajpatest.md`<br />`references/instancio.md`<br />`references/mockitobean.md`<br />`references/mockmvc-classic.md`<br />`references/mockmvc-tester.md`<br />`references/restclienttest.md`<br />`references/resttestclient.md`<br />`references/sb4-migration.md`<br />`references/test-slices-overview.md`<br />`references/testcontainers-jdbc.md`<br />`references/webmvctest.md` | |
kartikdhiman
left a comment
There was a problem hiding this comment.
@all-contributors add @kartikdhiman for skills
|
It looks like you've incorrectly branched from the You can attempt to fix this with a rebase: If that does not resolve it, you can run |
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.Description
@WebMvcTest@DataJpaTest@RestClientTest@JsonTest@SpringBootTestType 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.