CtrlK
BlogDocsLog inGet started
Tessl Logo

springboot-tdd

使用JUnit 5、Mockito、MockMvc、Testcontainers和JaCoCo进行Spring Boot的测试驱动开发。适用于添加功能、修复错误或重构时。

84

1.31x
Quality

78%

Does it follow best practices?

Impact

96%

1.31x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./docs/zh-CN/skills/springboot-tdd/SKILL.md
SKILL.md
Quality
Evals
Security

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 tight, example-driven TDD guide with essentially zero wasted tokens and executable code for every application layer. Its gaps are the undefined TestContainersConfig referenced by the persistence test, the prose-only Testcontainers section, and no explicit validation loop tying workflow steps to concrete test commands.

Suggestions

Define or show the TestContainersConfig class that the @DataJpaTest example imports via @Import, or link it to the Testcontainers section so the persistence example is actually runnable.

Replace the prose-only Testcontainers bullets with a short @DynamicPropertySource / reusable-container code example, since that section is the least actionable.

Show how the 80% coverage gate is enforced (JaCoCo check goal with a BUNDLE_LINE_COVERED rule), because the workflow step "强制覆盖率(JaCoCo)" currently has no corresponding configuration.

DimensionReasoningScore

Conciseness

There is no padding or explanation of concepts Claude already knows — no definition of Spring Boot, TDD, or Mockito; every section is a rule, an executable snippet, or a pattern list, matching the 'lean and efficient; every token earns its place' anchor.

5 / 5

Actionability

Executable Java for the unit, web, integration, and persistence layers plus JaCoCo pom XML and CI commands are copy-paste ready, but the body references `@Import(TestContainersConfig.class)` without defining that class, the Testcontainers section is prose-only, and "强制覆盖率(JaCoCo)" lacks the check/rule configuration that actually enforces it — minor gaps matching anchor 4.

4 / 5

Workflow Clarity

The workflow gives a clear red-green-refactor-coverage sequence ("先写测试(它们应该失败)→ 实现最小代码 → 测试通过后重构 → 强制覆盖率") with test pass/fail as an implicit checkpoint, but no explicit per-step command tie-in (e.g. run `mvn test` between steps) or error-recovery guidance, so it sits at anchor 4 rather than 5.

4 / 5

Progressive Disclosure

The body is well organized into nine clear sections with no nested or buried references, and no bundle files exist to verify; at ~155 lines it exceeds the under-50-lines exception for a score of 5, and content like the JaCoCo Maven snippet could arguably live in a reference file, matching anchor 4.

4 / 5

Total

17

/

20

Passed

Description

75%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 solid description that clearly states the domain, toolchain, and an explicit use-when clause in third person. Its main weakness is that it enumerates tools rather than concrete actions and its trigger phrases are generic coding activities rather than test-specific scenarios.

Suggestions

Rewrite the what-clause around concrete actions, e.g. "编写失败测试、配置 JaCoCo 覆盖率检查、运行 Testcontainers 集成测试", rather than only listing the tool stack.

Add natural trigger variations users would actually say: 单元测试、集成测试、测试覆盖率、写测试 — so the description fires when someone asks for tests, not only for feature work.

Narrow the when-clause to test-related scenarios (e.g. 为 Spring Boot 服务编写单元/集成测试时) to reduce conflict risk with generic coding skills.

DimensionReasoningScore

Specificity

The description names the domain ("Spring Boot 的测试驱动开发") and five concrete tools ("JUnit 5、Mockito、MockMvc、Testcontainers和JaCoCo"), giving several specific items, but it names a technology stack rather than distinct concrete actions, so it falls between anchors 3 and 5.

4 / 5

Completeness

Both parts are explicit: a clear what ("使用JUnit 5...进行Spring Boot的测试驱动开发") and an explicit when ("适用于添加功能、修复错误或重构时"), but the when-clause is generic and not tied to test-writing scenarios, matching anchor 4 exactly and not the concrete-trigger-phrases of anchor 5.

4 / 5

Trigger Term Quality

Natural terms users would say are present ("Spring Boot", "JUnit", "TDD", and the when-clause "添加功能、修复错误或重构"), but common variations like unit test, integration test, or test coverage are missing, matching anchor 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

The toolchain niche (Spring Boot TDD with JUnit/Mockito/MockMvc/Testcontainers/JaCoCo) is highly distinctive, but the triggers "添加功能、修复错误或重构" are broad enough to fire on ordinary Spring Boot coding tasks, so minor overlap risk keeps it at anchor 4 rather than 5.

4 / 5

Total

16

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
affaan-m/ECC
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.