CtrlK
BlogDocsLog inGet started
Tessl Logo

crud-rest-controller

Creates a Spring REST controller with CRUD endpoints backed by a Spring Data repository. Use this skill when a CRUD controller needs to be created, either standalone or as part of a larger task.

55

Quality

61%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/crud-rest-controller/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

47%

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

This skill has excellent workflow clarity with well-sequenced steps, conditional branching, and a thorough anti-hallucination checklist. However, it is severely hampered by extreme verbosity — the same concepts (Decision-making principle, AskUserQuestion usage, smart defaults) are repeated 3-4 times throughout the document, and many instructions explain things Claude already knows. The actionability is moderate since all actual code lives in unreferenced bundle files.

Suggestions

Consolidate the Decision-making principle, AskUserQuestion rules, and smart defaults into a single section referenced by later steps, rather than repeating them in Steps 0, 2, 3, 4, and the Defaults block.

Remove explanations of concepts Claude already knows (e.g., what DTOs are, how constructor injection works, what pluralization means) to cut token usage significantly.

Extract the lengthy AskUserQuestion formatting rules and batch-question guidelines into a separate reference file (e.g., QUESTION_GUIDELINES.md) and reference it once.

Include at least one concrete code example inline (e.g., a minimal generated controller skeleton) so the skill is partially actionable even without the bundle files.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~400+ lines with extensive repetition. The Decision-making principle is explained multiple times across Step 0, Step 4, and the Defaults section. AskUserQuestion usage rules are repeated in at least three places. Smart defaults/answer recognition are restated. Much of this content (how to pluralize names, what a DTO is, how constructor injection works) is knowledge Claude already possesses.

1 / 3

Actionability

The skill provides a clear multi-step process with specific MCP tool calls, variable names, and file paths (e.g., `examples/_methods/{method-name}/{language}.md`). However, no actual executable code examples are shown inline — it references external example files that are not provided in the bundle. The guidance is concrete in structure but relies entirely on external files for the actual code, making it incomplete on its own.

2 / 3

Workflow Clarity

The workflow is clearly sequenced (Steps 0-6) with explicit validation via the anti-hallucination checklist, dependency checking, and conditional branching (e.g., if no DTO exists → delegate to dto-creator, if no mapper → delegate to mapper-creator). The feedback loops for error recovery are present (e.g., if filter selected and repo doesn't extend JpaSpecificationExecutor → enhance repo). The step dependencies are well-documented.

3 / 3

Progressive Disclosure

The skill references external files (examples/_skeletons/, examples/_methods/, examples/_beans/, examples/_dependencies/) which suggests good progressive disclosure architecture, but no bundle files are provided to verify these references exist. The SKILL.md itself is monolithic — the Decision-making principle, AskUserQuestion rules, and smart defaults sections could be extracted to separate reference files. The main file tries to contain everything rather than being a concise overview with pointers.

2 / 3

Total

8

/

12

Passed

Description

75%

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 solid description that clearly communicates both what the skill does and when to use it, with a well-defined niche in Spring REST controller creation. Its main weakness is that it could be more specific about the concrete actions performed (e.g., specific HTTP methods, validation, error handling) and include more natural trigger terms that users might use when requesting this functionality.

Suggestions

Add more specific concrete actions, e.g., 'Creates GET, POST, PUT, DELETE endpoints with request validation and error handling'

Include additional trigger terms users might naturally say, such as 'REST API', 'JPA', '@RestController', 'API endpoints', or 'entity CRUD'

DimensionReasoningScore

Specificity

Names the domain (Spring REST controller) and the general action (CRUD endpoints backed by Spring Data repository), but doesn't list specific concrete actions like GET/POST/PUT/DELETE endpoints, pagination, error handling, or DTO mapping.

2 / 3

Completeness

Clearly answers both 'what' (creates a Spring REST controller with CRUD endpoints backed by a Spring Data repository) and 'when' (when a CRUD controller needs to be created, either standalone or as part of a larger task) with an explicit 'Use this skill when' clause.

3 / 3

Trigger Term Quality

Includes relevant terms like 'Spring REST controller', 'CRUD', 'Spring Data repository', and 'endpoints', but misses common user variations like 'REST API', 'API endpoints', '@RestController', 'JPA', or 'entity'.

2 / 3

Distinctiveness Conflict Risk

The combination of 'Spring REST controller', 'CRUD endpoints', and 'Spring Data repository' creates a clear, specific niche that is unlikely to conflict with other skills. It's distinctly about Spring-based CRUD controller generation.

3 / 3

Total

10

/

12

Passed

Validation

100%

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

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
Amplicode/spring-skills
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.