CtrlK
BlogDocsLog inGet started
Tessl Logo

unit-test-application-events

Testing Spring application events (ApplicationEvent) with @EventListener and ApplicationEventPublisher. Test event publishing, listening, and async event handling in Spring Boot applications. Use when validating event-driven workflows in your Spring Boot services.

Install with Tessl CLI

npx tessl i github:giuseppe-trisciuoglio/developer-kit --skill unit-test-application-events
What are skills?

80

Quality

82%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SKILL.md
Review
Evals

Quality

Discovery

100%

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

This is a well-crafted skill description that excels across all dimensions. It provides specific technical actions, includes natural trigger terms that Spring developers would use, explicitly states both what the skill does and when to use it, and carves out a distinct niche in Spring event testing that won't conflict with broader Spring or testing skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'Testing Spring application events', 'Test event publishing, listening, and async event handling'. Also mentions specific Spring components like @EventListener and ApplicationEventPublisher.

3 / 3

Completeness

Clearly answers both what ('Testing Spring application events with @EventListener and ApplicationEventPublisher, test event publishing, listening, and async event handling') AND when ('Use when validating event-driven workflows in your Spring Boot services').

3 / 3

Trigger Term Quality

Good coverage of natural terms users would say: 'ApplicationEvent', '@EventListener', 'ApplicationEventPublisher', 'event publishing', 'async event handling', 'Spring Boot', 'event-driven workflows'. These are terms developers would naturally use when seeking help with Spring events.

3 / 3

Distinctiveness Conflict Risk

Clear niche focused specifically on Spring application events testing. The specific mentions of ApplicationEvent, @EventListener, and ApplicationEventPublisher create distinct triggers unlikely to conflict with general Spring testing or other event systems.

3 / 3

Total

12

/

12

Passed

Implementation

64%

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

This skill provides solid, actionable code examples for testing Spring application events with good coverage of common patterns. However, it suffers from some verbosity in setup sections, incomplete test stubs in conditional listeners, and could benefit from better organization through progressive disclosure. The async testing guidance using Thread.sleep() is a known anti-pattern that should recommend Awaitility instead.

Suggestions

Remove or significantly condense the 'When to Use This Skill' section - Claude can infer appropriate usage from the content itself

Complete the conditional listener test stubs with actual executable test code instead of placeholder comments

Replace Thread.sleep() in async tests with Awaitility example: `await().atMost(1, SECONDS).untilAsserted(() -> verify(slowService).processUser(user))`

Consider moving Maven/Gradle setup to a separate SETUP.md file and reference it, keeping SKILL.md focused on testing patterns

DimensionReasoningScore

Conciseness

The skill includes some unnecessary sections like 'When to Use This Skill' that Claude can infer, and the Maven/Gradle setup is verbose for a skill focused on testing patterns. However, the code examples themselves are reasonably efficient.

2 / 3

Actionability

Provides fully executable, copy-paste ready code examples with complete imports, annotations, and test methods. The patterns are concrete and immediately usable.

3 / 3

Workflow Clarity

The skill presents testing patterns clearly but lacks explicit validation checkpoints. The async testing section uses Thread.sleep() without mentioning Awaitility as a better alternative in the code itself, and conditional listener tests are incomplete stubs.

2 / 3

Progressive Disclosure

Content is reasonably structured with clear sections, but the document is monolithic with no references to external files. The References section links to external docs but internal organization could benefit from splitting advanced patterns into separate files.

2 / 3

Total

9

/

12

Passed

Validation

68%

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

Validation11 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

description_voice

'description' should use third person voice; found second person: 'your '

Warning

metadata_version

'metadata' field is not a dictionary

Warning

license_field

'license' field is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

body_steps

No step-by-step structure detected (no ordered list); consider adding a simple workflow

Warning

Total

11

/

16

Passed

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.