Skip to content
Back to skills

Contract Testing Roster

ASecurity

Use when an agent must produce a provider-side contract test for THIS service's API and needs to know the stack adapter and whether the optional Microcks verification layer is enabled. Resolves the stack and reads the Microcks opt-in (off by default), then points to the concrete `contract-testing-<stack>` adapter. Loaded by the contract-testing-worker. A baseline in-process integration test is always produced; Microcks contract verification is an additive opt-in.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 26, 2026
ai-agentsjavaspringtestinggitapi

Works with

  • api

Security analysis

A100/100

Scanned September 26, 2026

npx -y skills add SebastienDegodez/skraft-plugin --skill contract-testing-roster --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Contract Testing Roster?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Contract Testing Roster
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sebastiendegodez-contract-testing-roster/badge)](https://www.skillsdirectory.com/skills/sebastiendegodez-contract-testing-roster)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: contract-testing-roster
description: Use when an agent must produce a provider-side contract test for THIS service's API and needs to know the stack adapter and whether the optional Microcks verification layer is enabled. Resolves the stack and reads the Microcks opt-in (off by default), then points to the concrete `contract-testing-<stack>` adapter. Loaded by the contract-testing-worker. A baseline in-process integration test is always produced; Microcks contract verification is an additive opt-in.
---

# Contract Testing Roster (stack agnostic, opt-in Microcks)

The single place that resolves **how** a provider-side contract test is built.
A baseline in-process integration test (the app started in-memory, exercised over
real HTTP) is ALWAYS produced. A Microcks contract-verification layer is an
ADDITIVE opt-in, stacked on top — never a replacement, never a default. The
concrete harness (e.g. WebApplicationFactory, @SpringBootTest, supertest) and the
concrete Microcks call are owned by the per-stack adapter, NOT by this roster.

This mirrors `resolving-stack-commands`: the roster owns routing + the opt-in
read; the per-stack adapter owns the concrete wiring of both layers.

## One axis (stack) + one boolean (opt-in)

Unlike mocking, there is no exclusive strategy choice here. Only:

- **Stack** — WHICH toolchain, detected via `resolving-stack-commands`.
- **Microcks opt-in** — a boolean ADD-ON. `false` = baseline only (default);
  `true` = baseline + Microcks contract-verification layer (the adapter picks the
  stack-appropriate Microcks API).

## Resolving the opt-in (cascade)

Read the opt-in by tool-call, never from recall. Precedence, first writer wins:

1. **Explicit prompt** — the run prompt asks for Microcks contract verification.
2. **Repo instruction file** — read
   `.github/instructions/skraft.instructions.md` field
   `testing.contract.microcks`. Read ONLY the `testing.contract.*` namespace.
3. **Default** — `false`.

Read the file with a tool call (fact-that-must-be-true, S7). If absent, default.

## Detection -> adapter

Detect the stack (delegate to `resolving-stack-commands`), then resolve the
per-stack adapter. The adapter carries BOTH layers and branches on the opt-in
flag internally:

| Stack | Adapter | Status |
|---|---|---|
| .NET | [contract-testing-dotnet](../contract-testing-dotnet/SKILL.md) | supported |
| Java | _(contract-testing-java not yet provided)_ | NOT SUPPORTED |

Adding a stack = add ONE `contract-testing-<stack>` adapter and the row here,
with zero edits to the worker or the orchestrator.

## Generic source

Both layers consume the GENERIC contract artifacts authored by the
[contract-testing](../contract-testing/SKILL.md) skill (OpenAPI / `.apiexamples`
/ `.apimetadata`). The roster does not duplicate that authoring.

## Unknown value -> stop, never guess

If `testing.contract.microcks` is neither `true` nor `false`, or the detected
stack has no adapter, STOP and emit a structured blocker:

```yaml
status: blocked
type: invalid_contract_optin   # | unsupported_stack
message: Could not resolve the contract-testing configuration
context:
  microcks: "maybe"
  stack: dotnet
  source: prompt | skraft.instructions.md | default
```

## Contract for callers

- Resolve `(stack)` + opt-in here; do not embed the decision in the worker.
- Baseline in-process integration test is ALWAYS produced regardless of the opt-in.
- Adding a stack = add an adapter and a row here, zero edits elsewhere.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.