CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

springboot-security

Spring Security best practices for authn/authz, validation, CSRF, secrets, headers, rate limiting, and dependency security in Java Spring Boot services.

Quality

75%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/springboot-security/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 strong, dense security reference: nearly every topic pairs crisp bullets with executable code and BAD/GOOD contrasts, and a release checklist provides verification. The main weaknesses are the monolithic single-file structure with no progressive disclosure (full filter classes could live in reference files) and a few bullet-only sections lacking concrete commands.

Suggestions

Split complete implementation examples (JwtAuthFilter, RateLimitFilter) into one-level-deep reference files (e.g., references/filters.md) and keep SKILL.md as a lean overview with the key snippets, reducing context load.

Add concrete commands to the bullet-only sections — e.g., an OWASP Dependency Check Maven/Gradle invocation for Dependency Security and a specific log-redaction pattern for Logging and PII.

Wrap the `http` DSL fragments in a minimal SecurityFilterChain bean so the CSRF and security-headers snippets are copy-paste runnable as-is.

DimensionReasoningScore

Conciseness

The body is efficient — terse bullets plus focused code with BAD/GOOD contrasts, and it never re-teaches concepts Claude already knows (e.g., no 'what is CSRF' padding). It is not 5 because of minor trimmable boilerplate: the full constructor-injection in JwtAuthFilter and two complete filter classes add lines beyond the security point being made.

4 / 5

Actionability

Most sections provide concrete, executable Java (JWT filter, @PreAuthorize guards, validated DTO records, parameterized queries, PasswordEncoder bean, CORS source, Bucket4j filter) covering the common cases. It is not 5 because the `http.csrf(...)`/`http.headers(...)` snippets are fragments without the surrounding SecurityFilterChain context, and Dependency Security, Logging/PII, and File Uploads are bullet-only with no specific commands (e.g., an OWASP Dependency Check Maven invocation).

4 / 5

Workflow Clarity

This is a topic-organized reference rather than a multi-step procedure, and the closing 'Checklist Before Release' serves as an explicit verification checkpoint across all topic areas. It is not 5 because there is no guidance on sequencing or applying the material during a task (e.g., a review order or how to triage findings), leaving the workflow implicit; no destructive/batch cap applies.

4 / 5

Progressive Disclosure

The single file has clear section headers and good organization, but at ~270 lines everything is inlined with no bundle files or references at all. Complete filter implementations (JwtAuthFilter, RateLimitFilter) and per-topic deep dives are candidates for one-level-deep reference files that would keep SKILL.md a lean overview, which is exactly what the anchor-3 example (inline content that could be in a separate file) describes.

3 / 5

Total

15

/

20

Passed

Description

70%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 specific, well-scoped description that clearly identifies its Java Spring Boot security niche, but it omits any 'Use when...' trigger guidance and leans on topic nouns and abbreviated jargon ('authn/authz') instead of natural action phrasing. Adding explicit trigger conditions would substantially improve completeness.

Suggestions

Add a 'Use when...' clause to the description, e.g. 'Use when adding authentication, securing endpoints, handling secrets, or reviewing Spring Boot services for security issues' — this would raise completeness from 3 to 4-5.

Spell out 'authentication/authorization' instead of the jargon abbreviation 'authn/authz', and include natural trigger terms users actually say such as 'JWT', 'OAuth2', 'CORS', and 'login'.

Convert topic nouns into concrete actions, e.g. 'Reviews and configures authentication, authorization, input validation...' to state what the skill does, not just what it covers.

DimensionReasoningScore

Specificity

The description enumerates seven concrete security areas ("authn/authz, validation, CSRF, secrets, headers, rate limiting, and dependency security"), which is noticeably above the '1-2 concrete actions' anchor. It falls short of 5 because the items are topic nouns rather than specific actions — no verbs state what the skill actually does with these areas.

4 / 5

Completeness

The 'what' is clear and specific (Spring Security best practices across enumerated areas), but there is no 'Use when...' clause or equivalent explicit trigger guidance in the description, which caps completeness at 3. It is not 2 because the 'what' is far from vague, and not 4 because 'in Java Spring Boot services' only weakly implies the 'when'.

3 / 5

Trigger Term Quality

Natural domain keywords are present ("Spring Security", "CSRF", "rate limiting", "secrets", "Java Spring Boot"), giving good keyword coverage. It is not 5 because common natural terms are missing or abbreviated: 'authn/authz' is jargon rather than 'authentication/authorization', and 'JWT', 'OAuth2', and 'CORS' (covered in the body) are absent.

4 / 5

Distinctiveness Conflict Risk

"Spring Security ... in Java Spring Boot services" carves out a clear niche with distinct triggers (Spring, Java, security-specific terms), making it unlikely to fire for non-Spring or non-security skills. Minor overlap risk with a generic Java-security skill does not materially change this.

5 / 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

valeriibeck-star/claude-skills

Path

skills/springboot-security/SKILL.md

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.