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.
69
61%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/crud-rest-controller/SKILL.mdQuality
Discovery
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.
The description is functional and well-structured with clear 'what' and 'when' clauses, and targets a distinct niche. Its main weakness is moderate specificity—it could enumerate the concrete actions performed (e.g., specific HTTP methods, exception handling, DTO mapping) and include more natural trigger terms users might use like 'REST API', 'Spring Boot', or 'JPA'.
Suggestions
Add more specific concrete actions, e.g., 'Generates GET, POST, PUT, DELETE endpoints with exception handling and response entities'.
Include additional trigger terms users might naturally say, such as 'REST API', 'Spring Boot', '@RestController', 'JPA repository', or 'API endpoints'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | It names the domain (Spring REST controller, CRUD endpoints, Spring Data repository) and describes the general action (creates), but doesn't list specific concrete actions like 'generates GET/POST/PUT/DELETE endpoints, configures pagination, adds error handling'. | 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 keywords like 'Spring REST controller', 'CRUD endpoints', 'Spring Data repository', but misses common user variations like 'REST API', 'API endpoints', '@RestController', 'JPA', 'entity', or 'Spring Boot'. | 2 / 3 |
Distinctiveness Conflict Risk | The description is quite specific to Spring REST controllers with CRUD + Spring Data repository, which is a clear niche unlikely to conflict with other skills like general code generation or non-Spring frameworks. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
47%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill demonstrates excellent workflow design with clear sequencing, decision hierarchies, and validation checkpoints for a complex multi-step code generation task. However, it is severely over-verbose — spending hundreds of tokens explaining how Claude should ask questions, recognize user intent, and batch interactions, all of which are general capabilities Claude already possesses. The lack of bundle files makes it impossible to verify the extensive file references, and the absence of inline code examples reduces actionability.
Suggestions
Cut the 'Decision-making principle' and 'How to ask' sections by 70%+ — Claude already knows how to batch questions, recognize implicit answers, and use AskUserQuestion. Reduce to a brief bullet list of skill-specific rules (e.g., 'max 4 questions per call', 'entity selection is always asked alone').
Remove or drastically shorten Step 0 — the 'mental checklist' table and the repeated admonitions to not re-ask answered questions are teaching Claude basic conversational competence it already has. A single sentence like 'Extract all inputs already provided in the conversation before proceeding' suffices.
Extract the AskUserQuestion usage guide, the decision-making principle, and the anti-hallucination checklist into separate referenced files to reduce the main SKILL.md to an actionable overview.
Include at least one concrete code example (e.g., a sample generated controller snippet) inline so the skill is partially actionable even without the bundle files.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~400+ lines. It extensively explains decision-making principles, how to use AskUserQuestion, when to batch questions, and how to recognize user intent — all of which Claude already understands. The repeated emphasis on 'CRITICAL' rules, the exhaustive Step 0 mental checklist, and the lengthy 'How to ask' section are redundant. Much of this could be condensed to a fraction of its size. | 1 / 3 |
Actionability | The skill provides a clear step-by-step workflow with specific MCP tool calls, variable names, and file paths (e.g., `examples/_methods/{method-name}/{language}.md`). However, it contains no actual executable code examples — it references example files that aren't provided in the bundle, and the code generation steps are described procedurally rather than with concrete, copy-paste-ready snippets. The anti-hallucination checklist and variable substitution rules are specific but still abstract without the referenced examples. | 2 / 3 |
Workflow Clarity | The workflow is clearly sequenced across Steps 0-6 with explicit validation checkpoints (anti-hallucination checklist, FQN handling rules, dependency verification via refresh_build_system_model). Each step has clear entry/exit conditions, decision trees for branching logic, and explicit feedback loops (e.g., 'If no DTO exists → delegate to dto-creator → return here'). The lazy-fetch strategy is well-documented with clear triggers. | 3 / 3 |
Progressive Disclosure | The skill references external files extensively (examples/_skeletons/, examples/_methods/, examples/_beans/, examples/_dependencies/) which suggests good structural intent, but no bundle files are provided to verify these references resolve correctly. The SKILL.md itself is monolithic — the decision-making principle, AskUserQuestion usage guide, and Step 0 context-reading instructions could all be extracted to separate reference files to keep the main skill leaner. | 2 / 3 |
Total | 8 / 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.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
4d8e766
Table of Contents
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.