SKILLEMALL.ai

AB Kotlin

Writes, debugs, and reviews Kotlin: coroutines and flows, null safety, collections, Java interop, and Compose state. Use when an NPE hits a non-null type, `!!` or a Java platform type blows up, a coroutine leaks, never cancels, or swallows exceptions, a StateFlow stops emitting or a SharedFlow drops events, a Compose screen recomposes too much or loses state on rotation, `equals`/`copy`/`==` behave unexpectedly, a `when` stops being exhaustive, kapt/KSP or JVM-target errors break the Gradle build, JSON puts null into a non-null property, a coroutine test hangs or passes only in isolation; also when porting Java to Kotlin, sharing code across Android/iOS/JVM, tuning allocation and inlining, or writing server-side Kotlin with Spring or Ktor. Not for Java-only codebases or Android release/build-system configuration.

ClawHub Agent Skills author: Iván v1.0.3 MIT-0 21 files body ≈ 4 370 tokens Open the sourceclawhub.ai analyzed 3 d ago

As a process B 71/100 · Nearly there — weak spots: inputs and preconditions, running it twice, progress reporting

AnalyzerSoftware developmenttype and topics are labelled automatically from the skill text
JSON
Technical rating
A
90/100
safety, quality, tests
Safety 60%
100
Quality 40%
76
Run on models
none yet
Process rating
B
71/100
Nearly there
Inputs and preconditions w 11
0
Progress reporting w 2
0
Running it twice w 4
30
the three weakest of ten parameters · all ten

How to improve

    For the model run — optional
    • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
    • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

    Guard findings · 0

    ✓ No critical or high findings

    Files scanned: 21. Evidence is masked. Grey chips explain why severity was lowered.

    Against the Agent Skills spec

    • warning name-format name should be kebab-case (lowercase letters, digits, hyphens)
    • note frontmatter-key unknown frontmatter key "slug"
    • note frontmatter-key unknown frontmatter key "changelog"
    • note frontmatter-key unknown frontmatter key "homepage"

    Process rating: all ten parameters 71/100

    • 0Inputs and preconditions. Does not say what the process needs to start
    • 0Progress reporting. Says nothing while it works
    • 30Running it twice. 10 mutating operations with no state check
    • 50When it triggers. No condition that starts the skill
    • 60Result and completion. Output format stated, no completion criterion
    • 70Execution cost. Instruction body is 4370 tokens
    • 100Tools and files. No external tools needed
    • 100Steps. 43 steps
    • 100Failures and branches. 4 branches, has a failure section
    • 100Consistency. Name and required fields are in place
    • medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing
    • low 12 top-level sections: this looks like several domains in one skill

    Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

    Quality signals

    • +5Description has no quoted example phrases that should trigger the skill
    • +3Description length 824: 120–800 characters recommended
    • +4No input/output examples
    • +1No license
    • +2Single-language instructions
    • +4Description says when NOT to use the skill
    • +4Structure: 12 headings
    • +3Step-by-step instructions: 43 items
    • +3Output format is stated explicitly

    Quality base 70; lint remarks subtract, signals add up to 100. Result: 76.

    External checks

    ClawHub: clean
    This Kotlin helper skill is coherent and disclosed, with limited local preference memory that users should be aware of.
    LLM: benign (high) · VirusTotal: · 26 Jul 2026