CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

format-source

Format source files to align with Liferay's coding standards.

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/format-source/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

90%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.

The content is an exemplary lean, fully executable runbook: concrete commands for every scenario, non-obvious gotchas (ANT_OPTS propagation, generated-file markers, zz_generated Go files), and explicit delegation of shell and Go conventions to their authoritative sources. The only gaps are minor validation checkpoints in the Java formatting loop.

DimensionReasoningScore

Conciseness

The body is dense procedural know-how with no padding: non-obvious details like passing "git.working.branch.name in ANT_OPTS rather than on the command line, since the yarn formatter lists its files through a separate ant git-util call" earn their tokens, and nothing explains concepts Claude already knows. It matches anchor 5 (lean, assumes competence, every token earns its place) rather than anchor 4, which would allow trims — nothing here is clearly removable.

5 / 5

Actionability

Every workflow gives copy-paste-ready commands: "cd <module-root> && <gradlew> formatSource", the full ant invocation with "ANT_OPTS=\"-Xmx2560m -Dgit.working.branch.name=$(git merge-base HEAD FETCH_HEAD)\" ant format-source-current-branch", complete curl commands with URLs, and "gofmt -w ." / "gofmt -l .". Placeholders like <module-root> are standard parameterization, and the common cases (module, whole branch, Go, shell) are each covered.

5 / 5

Workflow Clarity

Sequencing is explicit (run the branch formatter "after creating the commit, and amend any formatter changes or fixes into that commit") and feedback loops exist ("if there are issues to be fixed, the formatter will list them. Fix them"; "rerun gofmt to absorb any changes"), so the batch-operation cap at 3 does not apply. It falls short of anchor 5 because the Java path lacks an explicit rerun/verify-after-fix step and there are no checkpoints for the remote-fallback shell resolution.

4 / 5

Progressive Disclosure

The body is a well-sectioned overview (Shell Scripts, Go Code) whose external references ("../liferay-docker/.claude/skills/format-bash-source/SKILL.md", ".claude/rules/go-style.md") are one level deep and resolved via a numbered local-then-remote order; the bundle contains no reference files of its own. It is not a 5 because the generated-file marker list and external dependency chain are inline/external rather than cleanly split, leaving minor organization gaps that match anchor 4.

4 / 5

Total

18

/

20

Passed

Description

53%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.

The description states a clear, concrete purpose but is a single clause with no trigger guidance and a thin keyword set. Adding an explicit 'Use when...' clause and natural trigger terms (e.g., 'source formatter', 'formatSource', file types) would raise completeness and trigger-term quality substantially.

Suggestions

Add an explicit trigger clause, e.g. "Use when formatting code in liferay-portal, running the source formatter (formatSource), or checking code style before committing."

Include the natural trigger variations users would say: "source formatter", "formatSource task", "code style", "format code".

Briefly enumerate scope or file coverage (e.g., Java, JavaScript, JSP, XML, YAML) to sharpen specificity beyond the single 'format' action.

DimensionReasoningScore

Specificity

"Format source files" names the domain (source files, Liferay) and one concrete action (format) plus a purpose clause ("align with Liferay's coding standards"), but stops at a single action without listing file types, the formatter, or scope. It is above the generic 'Processes PDF files' anchor (2) because 'format' is a concrete verb with a clear target, but below anchor 4, which expects several specific actions.

3 / 5

Completeness

The 'what' is clear (format source files to Liferay's coding standards) but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 2 because the 'what' is concrete, not vague; it is not a 4 because 'when' is entirely absent rather than merely implicit.

3 / 5

Trigger Term Quality

Relevant keywords are present ("format", "source files", "Liferay's coding standards") and a Liferay developer would plausibly say "format source", but common variations are missing: "source formatter", "formatSource", "format code", or file-type terms. This matches anchor 3 (some relevant keywords, missing common variations) rather than anchor 4's fuller keyword coverage.

3 / 5

Distinctiveness Conflict Risk

The "Liferay's coding standards" qualifier gives the skill a clear niche, leaving only minor overlap risk with closely related skills (e.g., general code-formatting or the sibling format-bash-source skill). It is not a 5 because the trigger phrasing itself ("Format source files") is generic without the Liferay qualifier doing the disambiguation work.

4 / 5

Total

13

/

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

liferay/liferay-portal

Path

.claude/skills/format-source/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.