CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

android-tooling

Configure Android static analysis with Detekt, Ktlint, and Android Lint for CI/CD quality gates. Use for Android-specific lint and quality tooling; defer generic Java Checkstyle, SonarQube, and standalone CI configuration.

60

Quality

76%

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/android/android-tooling/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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 body is an exemplary lean standards document — terse, unpadded directives with concrete settings and a well-placed one-level reference to executable config. Its weakness is that the body itself is not executable: no inline snippets or commands, and the CI-gate setup is presented as policy rather than a sequenced workflow with validation checkpoints.

Suggestions

Add minimal inline executable detail for the highest-frequency actions, e.g. the ktlint plugin id (id("org.jlleitschuh.gradle.ktlint") version "...") and the lint { abortOnError = true } Gradle block, so common cases don't require opening the reference.

Frame CI gate adoption as a short ordered workflow ending in a validation step, e.g. "1. Apply configs from references/implementation.md 2. Run ./gradlew detekt ktlintCheck lint 3. Confirm the build fails on violations before merging the change".

Label the reference link by its contents (e.g., "Detekt config, Gradle setup, and pre-commit hook: [implementation.md](references/implementation.md)") so navigation is self-describing.

DimensionReasoningScore

Conciseness

The body is pure directive bullets ("Enforce code complexity rules (LongMethod, LargeClass). Fail build on high complexity.") with no concept explanations, padding, or filler — every token earns its place, matching the lean-and-efficient anchor. The 'Priority: P1 (HIGH)' header is minor metadata, not enough to drop to anchor 4.

5 / 5

Actionability

The body gives concrete policy detail (`abortOnError = true`, `jlleitschuh` plugin, named Detekt rules) but contains no executable code or commands — the Gradle/Kotlin/YAML specifics live entirely in references/implementation.md. This fits the 'some concrete guidance but incomplete; missing key details' anchor; it exceeds anchor 2 because specific rules and settings are named, and falls short of anchor 4 which expects concrete code or commands with only minor gaps.

3 / 5

Workflow Clarity

The CI Gates section implies a rough two-stage sequence ("Pre-commit: Run lightweight checks (formatting) locally" → "Pipeline: Run full checks... on Pull Request"), but the body is a policy list rather than an ordered procedure, and no validation or verification checkpoints are given (e.g., confirming the build fails on violations). This matches the 'sequence present but checkpoints missing or implicit' anchor rather than anchor 4, which requires most checkpoints present.

3 / 5

Progressive Disclosure

A concise ~40-line overview links to a single one-level-deep reference ([Configuration](references/implementation.md)) that exists in the bundle and holds the Detekt config, Gradle setup, and git hook — content appropriately split. It sits at anchor 4 rather than 5 because the generic 'Configuration' link label does not signal what the reference contains, a minor navigation gap.

4 / 5

Total

15

/

20

Passed

Description

75%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: it states concrete capabilities with named tools, includes an explicit 'Use for' clause with a well-drawn boundary against adjacent skills, and stays concise. Main gaps are the absence of common synonym triggers and a 'when' clause that could name more concrete trigger phrases.

DimensionReasoningScore

Specificity

"Configure Android static analysis with Detekt, Ktlint, and Android Lint for CI/CD quality gates" names the domain plus several concrete tools and a concrete action, matching the 'several specific actions; minor gaps' anchor. It stops short of anchor 5 because it does not enumerate what is done with each tool (e.g., complexity rules, formatting, lint gating).

4 / 5

Completeness

A clear 'what' (configure three named tools for CI/CD quality gates) is paired with an explicit "Use for Android-specific lint and quality tooling" clause, plus a defer boundary. The 'when' is present but could be more concrete (e.g., naming trigger phrases like Detekt or build.gradle.kts edits), so it fits anchor 4 rather than anchor 5; it clearly exceeds anchor 3 since the when-clause is explicit, not implied.

4 / 5

Trigger Term Quality

Includes natural terms users would say — "Android", "lint", "Detekt", "Ktlint", "static analysis", "CI/CD", "quality gates" — giving good keyword coverage. Not anchor 5 because common synonyms and variations (e.g., "Kotlin", "code quality", "formatting", file extensions) are missing.

4 / 5

Distinctiveness Conflict Risk

The Android-specific niche and the explicit defer clause ("defer generic Java Checkstyle, SonarQube, and standalone CI configuration") actively reduce conflict with related skills. Broad terms like "lint" and "static analysis" leave minor overlap risk with generic linting or CI skills, matching anchor 4 rather than the minimal-conflict anchor 5.

4 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

HoangNguyen0403/agent-skills-standard

Path

skills/android/android-tooling/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.