CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

kmp-architecture

Kotlin Multiplatform source-set rules for Meshtastic-Android - where commonMain ends, how expect/actual is bridged, and the networking, database and platform-integration boundaries. Use this whenever you add a file to a KMP module, move code between source sets, or hit a compile error that appears on only one target.

Quality

88%

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

82%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 lean, highly actionable architecture rulebook that assumes Claude's KMP knowledge and supplies exact project-specific rules, replacements, and verification commands. The main weaknesses are internal duplication across sections and a missing error-recovery loop in the onboarding workflow.

Suggestions

Merge the duplicated guidance: state the Room KMP factory rule once (§6) and fold §4's expect/actual restraint and shared-helper bullets into §2, since they restate the same rules with overlapping examples.

Add one error-recovery line to the §8 onboarding workflow, e.g. "If kmpSmokeCompile fails on one target, check for java.*/android.* imports or platform-specific constructs in commonMain before fixing."

If the skill keeps growing, move the dependency-catalog alias rules (§5) and Room pattern details (§6) into a references/ file and link them from SKILL.md to keep the overview lean.

DimensionReasoningScore

Conciseness

The body is dense and project-specific throughout — it explains no concepts Claude already knows — but contains genuine duplication: the Room factory rule ("factory = { MeshtasticDatabaseConstructor.initialize() }") appears verbatim in both §3 and §6, and expect/actual restraint plus shared-helper guidance is repeated across §2 and §4. This fits the 4 anchor (minor instances that could be trimmed) rather than 5, where every token would earn its place.

4 / 5

Actionability

Guidance is fully concrete and executable: exact replacement mappings ("ConcurrentHashMap -> atomicfu", "java.io.* -> Okio"), exact API directives ("Use safeCatching {} from core:common", "@Upsert fun putAll(items: List<T>)", "chunk size ≤ 999"), a runnable check command (kmpSmokeCompile), and real file paths. For an instruction-only skill this matches the 5 anchor — copy-paste-ready specifics covering the common cases with no meaningful gaps, so 4 doesn't apply.

5 / 5

Workflow Clarity

Most of the skill is a rulebook, but §8 ("Onboarding a New Target") is a clearly numbered 4-step sequence that includes an explicit verification checkpoint ("Test using kmpSmokeCompile to verify cross-platform compilation"). This fits 4 (clear sequence, most checkpoints present, minor validation gaps); not 5 because there is no error-recovery/feedback loop if the cross-platform check fails, and not 3 because a checkpoint is explicitly present.

4 / 5

Progressive Disclosure

A well-organized single-file skill (~63 lines) with clean section headers and a clearly signaled "Reference Anchors" section pointing to live repo paths; no bundle files exist, so nothing is mis-split. Fits the 4 anchor (good structure, content appropriately placed); not 5 because it slightly exceeds the simple-skill line and sections like §5 (catalog aliases) and §6 (Room patterns) hold detail that could graduate to reference files as the skill grows.

4 / 5

Total

17

/

20

Passed

Description

87%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 states what the skill covers and gives three concrete, natural trigger conditions. It is highly specific to the project and unlikely to collide with other skills; the only room for improvement is broader keyword/synonym coverage.

DimensionReasoningScore

Specificity

The description names several concrete coverage areas — "where commonMain ends", "how expect/actual is bridged", and "the networking, database and platform-integration boundaries" — matching the anchor for several specific items with minor gaps. It falls short of 5 because these are domains/rules rather than a comprehensive list of concrete actions, and above 3 because it goes well beyond naming just 1-2 items.

4 / 5

Completeness

It explicitly answers both "what" (KMP source-set rules, expect/actual bridging, networking/database/platform-integration boundaries for Meshtastic-Android) and "when" ("Use this whenever you add a file to a KMP module, move code between source sets, or hit a compile error that appears on only one target") with three concrete trigger conditions. This matches the 5 anchor; the "when" is already fully explicit, so 4's looser standard doesn't apply.

5 / 5

Trigger Term Quality

It includes natural phrases users would actually say — "add a file to a KMP module", "move code between source sets", "compile error that appears on only one target" — giving good keyword coverage. Not 5 because common synonyms and variations (e.g., "Kotlin Multiplatform" vs "KMP", "multiplatform", file extensions, other targets like desktop/iOS) are missing.

4 / 5

Distinctiveness Conflict Risk

Highly project-specific terms ("Meshtastic-Android", "commonMain", "expect/actual", "KMP module") carve out a clear niche with distinct triggers and minimal conflict risk with any generic skill. Not 4: no closely related skill would plausibly trigger on these phrases.

5 / 5

Total

18

/

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

meshtastic/Meshtastic-Android

Path

.skills/kmp-architecture/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.