CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/outbox-pattern-test-author

Use when adding or changing a transactional outbox, its relay or poller, or auditing it: tests that the DB write and event insert are atomic, events publish at least once in order, consumers dedupe and stay idempotent, and the relay recovers from failures.

Quality

83%

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

67%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.

The body delivers concrete, executable test recipes for all five outbox dimensions with a clear sequenced workflow and useful anti-pattern and limitation sections. Its main weaknesses are token padding from re-explaining the well-known outbox pattern and quoting microservices.io at length, plus reliance on an undefined test-double harness for the crash/retry scenarios.

Suggestions

Trim the introductory dual-write explanation and the block quotes from microservices.io in Steps 2, 4, and 5 down to one-line citations, trusting Claude's existing knowledge of the transactional outbox pattern.

Define or briefly show the test-double harness the tests depend on (e.g., what broker.inject_publish_then_crash_before_ack() and relay.crash_after_n_publishes do), or link a one-level-deep reference file with a minimal broker/relay stub implementation.

Add a short validation loop after the test steps: run the suite, and map failing assertions per dimension back to the implementation defect (the anti-patterns table is a good backbone for this).

DimensionReasoningScore

Conciseness

The intro re-explains the dual-write problem and the canonical outbox pattern (concepts Claude already knows: 'The transactional outbox is the canonical solution to the dual-write problem...'), and Steps 2, 4, and 5 each embed multi-sentence quotes from microservices.io ('the message relay might publish a message more than once...'). These are several unnecessary explanatory passages, matching the mostly-efficient-but-could-be-tightened anchor at 3 rather than the minor-instances anchor at 4.

3 / 5

Actionability

Nine complete, assertion-rich pytest-style tests cover all five dimensions and are concrete rather than pseudocode. However, they rely on harness APIs the skill never defines or shows how to build (broker.inject_publish_then_crash_before_ack(), relay.crash_after_n_publishes, SimulatedDBError, RelayRestartedError), which is a minor gap keeping it below fully copy-paste ready.

4 / 5

Workflow Clarity

A clear six-step sequence (map dimensions, then one test group per dimension) is anchored by a dimension table in Step 1 and an anti-patterns table mapping each failure mode to its fix, giving most checkpoints. It falls short of 5 because there is no explicit run-validate-fix feedback loop (e.g., guidance on running the suite, handling flaky ordering tests, or what a failing assertion implies about the implementation).

4 / 5

Progressive Disclosure

The single file is well organized (When to use, Steps 1-6, Anti-patterns, Limitations, References) with no nested references, and no bundle files exist to mis-signal. It is not 5 because at ~230 lines the inline microservices.io quotations and per-dimension test suites are reasonable candidates for one-level-deep reference files, and the 'event-sourcing-tests references/convergence-windows.md' pointer targets another skill's bundle rather than a clearly-signaled local file.

4 / 5

Total

15

/

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 that explicitly states both what the skill does and when to use it, with concrete domain-specific triggers and comprehensive coverage of the five test dimensions. The only improvement is adding a few synonyms such as 'dual-write' or 'polling publisher' to widen natural trigger matching.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete, comprehensive capabilities: 'tests that the DB write and event insert are atomic, events publish at least once in order, consumers dedupe and stay idempotent, and the relay recovers from failures'. All five test dimensions of the domain are named explicitly, which matches the comprehensive-coverage anchor rather than the minor-gaps anchor at 4.

5 / 5

Completeness

Both halves are explicit: 'Use when adding or changing a transactional outbox, its relay or poller, or auditing it' answers when with concrete trigger conditions, and the colon-clause lists exactly what the skill does. It clearly matches the 5 anchor; it is not 4 because the 'when' clause is fully specific rather than could-be-more-explicit.

5 / 5

Trigger Term Quality

Natural trigger terms are present ('transactional outbox', 'relay', 'poller', 'dedupe', 'idempotent', 'at least once'), but a few common variations users would say are missing from the description itself, e.g. 'dual-write', 'polling publisher', or 'message broker'. This sits between good coverage (4) and comprehensive synonym coverage (5); the missing synonyms keep it at 4.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche (transactional outbox test authoring) with distinct triggers ('outbox', 'relay', 'poller', 'dedupe'); only marginal overlap exists with adjacent saga/event-sourcing test skills, so conflict risk is minimal.

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

On this page