CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/outbox-pattern-test-author

Authors tests for the transactional outbox pattern: atomic DB-write-plus-event-insert in one transaction, relay/poller publishing with at-least-once delivery and consumer deduplication, insertion-order preservation, idempotent consumers, and relay failure/retry. Use when adding outbox infrastructure, changing the relay or poller, or auditing whether dual-write atomicity and at-least-once delivery guarantees hold under failure.

71

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable skill: complete pytest examples for all five test dimensions, a dimension-mapping table up front, and an anti-patterns table linking each failure mode to the test that catches it. Minor deductions for repeated source quotations restating known concepts, the absence of an explicit run-and-triage step, and an all-in-one file layout that includes a cross-skill file reference.

Suggestions

Trim the microservices.io quotations in the intro and Steps 4–5 to the single guarantee sentence being tested (e.g., "messages are sent if and only if the transaction commits") — the pattern background is already established by the first paragraph.

Add a final step instructing the model to run the full suite and use the anti-patterns table's Consequence→Fix columns to triage any failing test, closing the feedback loop.

If the skill grows, split the per-dimension test recipes into references/ files (e.g., references/ordering.md) with SKILL.md kept as overview plus the Step 1 mapping table, and drop or verify the cross-bundle reference to event-sourcing-tests references/convergence-windows.md.

DimensionReasoningScore

Conciseness

Efficient overall: the body is dominated by dense, executable test code and two compact tables, with each unit delivering a concrete recipe. Not 5: minor over-explanation remains — the multi-sentence microservices.io quotations in the intro and Steps 4–5 restate the dual-write/2PC background and at-least-once rationale Claude already knows and could be trimmed to the single guarantee sentence each. Not 3: the padding is limited and each quote anchors a testable contract rather than padding for length.

4 / 5

Actionability

Every step ships complete pytest functions with concrete SQL, failure injection ("broker.inject_publish_then_crash_before_ack()", "relay.crash_after_n_publishes = 0"), and precise assertions covering happy and failure paths for all five dimensions, plus an anti-patterns table mapping each failure mode to the test that catches it. Not 4: there are no real gaps — this is copy-paste-ready executable code, not hints or pseudocode; the db/broker/relay/consumer fixtures are the system under test, which a test-authoring skill necessarily assumes.

5 / 5

Workflow Clarity

Clear sequence: Step 1's mapping table enumerates which dimensions apply, Steps 2–6 each implement one test group, Step 6 explicitly pairs with Step 4, and the anti-patterns table cross-links consequences to fixing steps. Not 5: there is no explicit run-and-verify/triage step wiring the anti-patterns table into a feedback loop (e.g., "run the suite; if the atomicity test fails, check outbox insert placement"); not 3: the per-test assertions are strong checkpoints and the sequence has no gaps.

4 / 5

Progressive Disclosure

Good structure in a single well-sectioned file: clear headers, two navigation tables, and a References section with one-level-deep external links; no bundle files exist to verify beyond this file. Not 5: everything is inlined in one ~246-line file — the per-dimension test recipes are candidates for references/ files — and the References section cites another skill's bundle file ("event-sourcing-tests references/convergence-windows.md") that is not resolvable within this bundle. Not 3: references are clearly signaled and nothing is buried.

4 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, an explicit what-plus-when structure with concrete trigger phrases, and a comprehensive enumeration of the pattern's test dimensions. The only gap is a few natural trigger variations (e.g., "polling publisher", "message broker") beyond its already solid outbox/relay/dedup vocabulary.

DimensionReasoningScore

Specificity

Enumerates multiple concrete actions — "atomic DB-write-plus-event-insert in one transaction", "relay/poller publishing with at-least-once delivery and consumer deduplication", "insertion-order preservation", "idempotent consumers, and relay failure/retry" — comprehensively covering the pattern's test surface. Not 4: there are no coverage gaps; the description's action list matches all five test dimensions the skill addresses.

5 / 5

Completeness

Explicitly answers both what ("Authors tests for the transactional outbox pattern: atomic DB-write-plus-event-insert...") and when ("Use when adding outbox infrastructure, changing the relay or poller, or auditing whether dual-write atomicity and at-least-once delivery guarantees hold under failure") with concrete trigger phrases. This matches the anchor-5 exemplar structure exactly; not 4 because the when-clause is already explicit and specific.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "transactional outbox", "relay", "poller", "at-least-once", "deduplication", "dual-write", "idempotent" are terms a user would plausibly say when needing this skill. Not 5: a few natural variations are absent from the description itself (e.g., "polling publisher" — the canonical name for the relay — "message broker", "event-driven"); not 3: coverage goes well beyond "some relevant keywords with missing synonyms".

4 / 5

Distinctiveness Conflict Risk

"Transactional outbox pattern" is a clear niche with distinct triggers (relay/poller, dedup, dual-write atomicity) that are unlikely to fire for unrelated skills. Not 4: overlap risk is minimal — even the nearest neighbor (saga transaction tests) is explicitly differentiated in the skill body. Third-person voice ("Authors tests") is used, so no voice penalty applies.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents