Bootstrap
Rest Assured skill pack for designing, implementing, documenting, and reporting API tests in Java and CI workflows.
npx -y skills add jovd83/restassured-skill --skill bootstrapAssembled 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.
What its author says it does
Copied from the file, not written here
Use when Codex needs to scaffold, retrofit, or normalize a Java Rest Assured test module with JUnit 5, Maven or Gradle, shared specifications, and an initial runnable smoke test.
SKILL.md
4.6 KB, as published. Nobody here has run it
Bootstrap Rest Assured
1. Inspect
- Detect the build tool from
pom.xml,build.gradle, orbuild.gradle.kts. - Detect the Java version from compiler settings, toolchains, or CI.
- Detect the active test engine from dependencies and existing tests.
- Detect existing HTTP test libraries before adding Rest Assured.
2. Choose a Baseline
- Use JUnit 5 for new work unless the repository clearly standardizes on TestNG.
- Use Rest Assured
6.xonly when Java17+is available. - Use Rest Assured
5.5.xfor Java11compatibility. - Add
json-schema-validator, Testcontainers, or WireMock only when the request requires them.
3. Scaffold
- Run
python bootstrap/scripts/init_restassured_module.py --helpto inspect options. - Run the script with the target path, package, build tool, and Java version.
- Pass a known stable smoke endpoint with
--smoke-pathwhen the target API does not expose/health. - Let the script derive an endpoint-specific smoke test class name from
--smoke-path, or override it explicitly with--smoke-class-name. - Generate:
- The build file additions.
src/test/java/<package>/support/Specifications.java.src/test/java/<package>/tests/<DerivedSmokeClass>.java.src/test/resources/test.properties.
- Skip overwriting user files unless the request explicitly allows replacement.
4. Verify
- Run the narrowest test command first.
- Use the generated smoke test class name for the first targeted run, for example
mvn -Dtest=OpenapiSmokeTest test. - Use the generated smoke test class name for Gradle, for example
./gradlew test --tests '*OpenapiSmokeTest'. - Fix missing env vars, base URLs, or TLS settings before writing more tests.
5. Read When Needed
- Read bootstrap-checklist.md before scaffolding a new module.
- Read dependency-matrix.md when choosing dependencies or plugin wiring.
6. Examples
- Input:
Set up Maven JUnit 5 Rest Assured tests under services/orders.Output:python bootstrap/scripts/init_restassured_module.py --path services/orders --build maven --package com.example.orders --java-version 17 - Input:
Retrofit this Gradle Java 11 repo without forcing a Java upgrade.Output:python bootstrap/scripts/init_restassured_module.py --path . --build gradle --package com.example.api --java-version 11 --restassured-version 5.5.7 - Input:
Bootstrap tests for Swagger Petstore, using the OpenAPI endpoint as smoke check.Output:python bootstrap/scripts/init_restassured_module.py --path dry-run/petstore-tests --build maven --package com.example.petstore --java-version 17 --smoke-path /api/v3/openapi.json - Input:
Bootstrap tests for /store/inventory and force a specific smoke class name.Output:python bootstrap/scripts/init_restassured_module.py --path services/store-tests --build maven --package com.example.store --java-version 17 --smoke-path /store/inventory --smoke-class-name StoreInventorySmokeTest
7. Troubleshooting
- Problem: The repo already has JUnit 4 only. Fix: Add JUnit Jupiter carefully and update the selected test task or Surefire version.
- Problem: The smoke test fails with
Connection refused. Fix: ConfirmBASE_URLand server startup order before changing the test. - Problem: The target repo uses Kotlin Gradle scripts.
Fix: Generate Gradle output for
.ktssyntax and keep the repo's existing style. - Problem: The generated smoke test uses the wrong endpoint.
Fix: Rerun the bootstrap script with
--smoke-pathpointing at a stable endpoint exposed by the target API. - Problem: The generated smoke test class name is too generic or awkward.
Fix: Rerun the bootstrap script with
--smoke-class-nameand keep the endpoint-specific path.