Core
Use when Codex needs to implement, refactor, debug, or extend Rest Assured API tests with JUnit 5, reusable request and response specifications, authentication helpers, DTOs, contract checks, and service-test best practices.From its SKILL.md
npx -y skills add jovd83/restassured-skill --skill coreAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.6 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Rest Assured Core
1. Preflight
- Inspect the build file, Java version, test engine, and module boundaries.
- Inspect API documentation, existing contracts, auth flow, and environment variables.
- Read preflight.md before major changes.
2. Choose the Test Shape
- Use service-test-types.md to classify the test as smoke, regression, contract, integration, negative, or workflow.
- Read project-structure.md before creating new packages.
- Use JUnit 5 patterns from junit5-patterns.md.
- Use build guidance from maven-and-gradle.md.
- Decide whether the suite is
runtime-aligned,contract-enforcement, ormixedbefore writing assertions.
3. Implement the Backbone
- Build shared request and response specs from request-response-specs.md.
- Centralize auth logic with authentication.md.
- Add semantic assertions using validation-and-assertions.md.
- Add schema or contract checks only when they increase signal; use schema-and-contract-validation.md.
- Build deterministic test data with test-data-management.md.
- In
runtime-alignedmode, assert the live behavior in executable tests and route discrepancies to../documentation/contract-mismatches/SKILL.md. - In
contract-enforcementmode, keep assertions aligned to the specification and tag the tests so drift is visible as an explicit contract failure. - In
mixedmode, keep runtime-aligned regression tests separate from contract-enforcement checks by tag, package, or class naming.
4. Add Service-Test Details
- Read testcontainers-and-wiremock.md before introducing containers or stubs.
- Read observability-and-redaction.md before enabling request or response logging.
- Read security-negative-testing.md for authz, authn, and abuse cases.
- Read graphql-and-file-upload.md for GraphQL or multipart endpoints.
- Read xml-and-soap-payloads.md for XML or SOAP payload handling.
- Read the framework recipe that matches the repo: framework-spring-boot.md, framework-quarkus.md, or framework-micronaut.md.
5. Run and Debug
- Run the narrowest relevant test first.
- Use debugging.md for triage.
- Use error-index.md when a common failure pattern appears.
- If a failure reveals contract drift, capture the raw request, raw response metadata, and affected contract path before changing assertions.
- When a contract-enforcement test fails because the runtime drift is already known, preserve the failing evidence and link it to the mismatch artifact instead of muting the test silently.
6. Examples
- Input:
Implement POST /orders negative tests from the approved coverage plan.Output: AddOrdersApiTest, shared specs, data builders, and explicit400,401,403,409, and422assertions. - Input:
Refactor these duplicated given/when/then chains.Output: Extract request and response specs plus auth support before changing test intent. - Input:
The OpenAPI says JSON but the live 404 returns XML.Output: Keep the executable test aligned to the live XML response, then document the contract mismatch separately. - Input:
Keep strict contract checks, but do not break the main regression suite.Output: Put the contract-enforcement assertions in a separate tagged slice and keep the runtime-aligned suite stable.
7. Troubleshooting
- Problem: The suite uses static
RestAssured.baseURIeverywhere. Fix: Move configuration into request specs or JUnit lifecycle setup. - Problem: Tests pass only when run in order. Fix: Isolate data setup and cleanup per test or per fixture.
- Problem: Logs expose secrets. Fix: Add redaction filters and restrict full logging to failures.
- Problem: The contract and runtime disagree on status, content type, or payload shape. Fix: Treat the live runtime as the source for executable assertions, then create a mismatch record instead of forcing the test to match the contract.
- Problem: The user needs both regression stability and strict spec conformance. Fix: Split the suite into runtime-aligned and contract-enforcement slices instead of forcing one assertion mode to do both jobs.
What ships with it: 21 files
7.0 KB alongside SKILL.md
agents/
- openai.yaml202 B
references/
- authentication.md415 B
- debugging.md315 B
- error-index.md542 B
- framework-micronaut.md231 B
- framework-quarkus.md209 B
- framework-spring-boot.md287 B
- graphql-and-file-upload.md289 B
- junit5-patterns.md513 B
- maven-and-gradle.md403 B
- observability-and-redaction.md220 B
- preflight.md303 B
- project-structure.md343 B
- request-response-specs.md531 B
- schema-and-contract-validation.md401 B
- security-negative-testing.md303 B
- service-test-types.md481 B
- testcontainers-and-wiremock.md272 B
- test-data-management.md285 B
- validation-and-assertions.md355 B
- xml-and-soap-payloads.md274 B