CtrlK
BlogDocsLog inGet started
Tessl Logo

state-hoister

Hoists state in Jetpack Compose layouts to keep composables stateless, decoupled, and testable. Use this skill to decouple child composables from ViewModels, replace internal mutableStateOf with hoisted state and event callbacks, expose stateless/stateful composable overloads, enforce unidirectional data flow (UDF), and make components @Preview-friendly.

68

Quality

81%

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, actionable refactoring playbook with concrete commands, APIs, and a clear gated workflow. The main weakness is conciseness: the persona framing and Philosophy section restate Compose concepts Claude already knows.

Suggestions

Drop or trim the persona line ('You are "The Hoister" 🎟️ ... obsessed with ...') and the Philosophy bullets that restate known Compose tenets (UDF, statelessness, single source of truth); keep only project-specific conventions.

Make the VERIFY step's feedback loop explicit, e.g. 'If lintDebug/testDebugUnitTest fail: fix and re-run until green before presenting the PR,' to mirror the validation-retry pattern.

Consider one short executable Kotlin before/after snippet (e.g. `fun MangaCard(viewModel)` → `fun MangaCard(state, onClick)`) to lift actionability from 4 to 5.

DimensionReasoningScore

Conciseness

Mostly efficient and dense with specifics, but the persona introduction ('You are "The Hoister" 🎛️ ... obsessed with ...') and the Philosophy bullets restate Compose tenets (UDF, statelessness, single source of truth) that Claude already knows, which the guidelines penalize.

3 / 5

Actionability

Provides concrete commands (`./gradlew ktfmtFormat`, `lintDebug`, `testDebugUnitTest`), specific APIs (`collectAsStateWithLifecycle()`, `Size.small`), and explicit callback signatures (`onClick: () -> Unit`); no full copy-paste code blocks, but that is justified for an instruction-oriented refactoring skill.

4 / 5

Workflow Clarity

Clear five-step sequence (OBSERVE → SELECT & PROPOSE → HOIST → VERIFY → PRESENT) with an explicit approval gate and validation steps (formatter, previews, tests), but the fix-and-retry feedback loop on test/preview failure is implied rather than spelled out.

4 / 5

Progressive Disclosure

A single well-organized ~60-line file with clear sections (Goal, Constraints, Instructions, Examples), no bundle files needed, and one clearly-signaled one-level external reference ('Read .jules/hoister.md before starting').

5 / 5

Total

16

/

20

Passed

Description

92%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, specific description that clearly states what the skill does and when to use it, with concrete Compose-specific capabilities and trigger phrasing. Minor opportunity to add natural synonyms like 'state hoisting' and 'recomposition' for broader trigger coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'decouple child composables from ViewModels, replace internal mutableStateOf with hoisted state and event callbacks, expose stateless/stateful composable overloads, enforce unidirectional data flow (UDF), and make components @Preview-friendly' — giving comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Explicitly answers both 'what' ('Hoists state in Jetpack Compose layouts to keep composables stateless, decoupled, and testable') and 'when' ('Use this skill to...') with concrete trigger phrases, satisfying the 'Use when' requirement.

5 / 5

Trigger Term Quality

Strong domain keywords a Compose developer would naturally say (Jetpack Compose, composables, ViewModels, mutableStateOf, @Preview, UDF), but it omits a few natural synonyms such as the exact phrase 'state hoisting' or 'recomposition'.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (Jetpack Compose state hoisting / UDF) with distinct triggers and minimal overlap risk with other skills.

5 / 5

Total

19

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
nekomangaorg/Neko
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.