CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

124-java-secure-coding

Use when you need to apply Java secure coding best practices — including validating untrusted inputs, defending against injection attacks with parameterized queries, minimizing attack surface via least privilege, applying strong cryptographic algorithms, handling exceptions securely without exposing sensitive data, managing secrets at runtime, avoiding unsafe deserialization, and encoding output to prevent XSS. This should trigger for requests such as Review Java code for secure coding; Find input validation risks in Java code; Review Java code for injection vulnerabilities; Improve secure error handling in Java services; Harden Java code against common security flaws. Part of Plinth Toolkit

65

Quality

82%

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

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 well-structured, reference-delegating skill body with executable commands and a clear workflow that includes compile/verify validation checkpoints. Its main weakness is redundancy — constraints, workflow steps, and trigger phrases are each stated twice, which inflates the body without adding information.

Suggestions

Merge the 'Constraints' section into the Workflow steps (or vice versa) — the compile-before/stop-on-failure and verify-after mandates are currently stated twice, once as MANDATORY/SAFETY/VERIFY bullets and again as steps 1 and 4.

Drop or shrink the 'When to use this skill' section; its five trigger phrases duplicate the frontmatter description and add no new information to the body.

Add a brief error-recovery note to workflow step 4 (e.g., what to inspect and retry if 'mvn clean verify' fails) to complete the feedback loop and close the last workflow-clarity gap.

DimensionReasoningScore

Conciseness

The body avoids explaining concepts Claude already knows and stays lean overall, but it systematically duplicates its own content: the compile/verify mandates appear in both the 'Constraints' section ('MANDATORY: Run ./mvnw compile', 'VERIFY: Run ./mvnw clean verify') and again as Workflow steps 1 and 4, and the 'When to use this skill' section repeats trigger phrases already in the description. This matches anchor 3 ('mostly efficient but could be tightened') better than anchor 4's 'minor instances'.

3 / 5

Actionability

Concrete, copy-paste-ready commands are given ('./mvnw compile or mvn compile', './mvnw clean verify or mvn clean verify') along with an explicit reference path and named improvement areas (input validation, crypto, secrets, deserialization, output encoding). It is not a 5 because the body itself shows no secure-coding patterns — all implementation detail is delegated to the reference — leaving minor gaps in in-body executable guidance.

4 / 5

Workflow Clarity

The four-step workflow is clearly sequenced with explicit validation checkpoints: compile-before-changes with 'stop immediately if compilation fails', read the reference, apply improvements, then verify with a full build. This is solidly anchor 4; it falls short of anchor 5 because there is no error-recovery loop for step 4 (no guidance on what to do if 'mvn clean verify' fails after improvements are applied).

4 / 5

Progressive Disclosure

The body is a concise overview that appropriately splits all detailed good/bad code examples into a single, clearly signaled, one-level-deep reference (references/124-java-secure-coding.md, verified to exist and organized into the 8 example areas), linked both in the Workflow and in a dedicated Reference section — matching anchor 5 exactly.

5 / 5

Total

16

/

20

Passed

Description

83%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 strong description that explicitly covers both what the skill does (eight concrete secure-coding areas) and when to use it, with natural, ready-to-match trigger phrases. The only deductions are a second-person 'you need' construction and a few missing trigger synonyms.

DimensionReasoningScore

Specificity

The description enumerates many concrete capability areas — 'validating untrusted inputs', 'defending against injection attacks with parameterized queries', 'BCrypt/Argon2' (implied via body but crypto named), 'managing secrets at runtime', 'avoiding unsafe deserialization', 'encoding output to prevent XSS' — which approaches anchor 5's comprehensiveness. However, the second-person construction 'Use when you need to apply' deviates from the required third-person voice, so per the judging guideline the score is reduced by 1 from 5.

4 / 5

Completeness

Both 'what' (the enumerated secure-coding capability areas) and 'when' ('Use when you need to apply Java secure coding best practices' plus the explicit 'This should trigger for requests such as...' list) are clearly and explicitly stated with concrete trigger phrases, matching the anchor-5 example pattern exactly.

5 / 5

Trigger Term Quality

Natural trigger phrases are explicitly provided ('Review Java code for secure coding; Find input validation risks in Java code; Review Java code for injection vulnerabilities; Improve secure error handling in Java services; Harden Java code against common security flaws') — phrasings a user would plausibly say. A few common variants are missing (e.g., 'security audit', 'vulnerability scan', 'OWASP'), matching anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The Java-specific, security-focused niche with distinct triggers ('Review Java code for injection vulnerabilities') is mostly distinct with minimal conflict risk, matching anchor 4. It is not a 5 because broad triggers like 'Harden Java code against common security flaws' and the 'Part of Plinth Toolkit' context leave minor overlap risk with general security-review or Java code-review sibling skills.

4 / 5

Total

17

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jabrena/plinth

Path

skills/124-java-secure-coding/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.