CtrlK
BlogDocsLog inGet started
Tessl Logo

rxjava-to-coroutines-migration

Guide and execute the migration of asynchronous code from RxJava to Kotlin Coroutines and Flow. Use this skill when a user asks to convert RxJava (Observables, Singles, Completables, Subjects) to Coroutines (suspend functions, Flows, StateFlows).

65

Quality

78%

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 ./.github/skills/migration/rxjava-to-coroutines-migration/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 a focused, well-organized migration reference with concrete mappings and a worked example. Its main weakness is the absence of an explicit verification/feedback loop in the execution workflow for a batch refactor.

Suggestions

Add a final 'Verify' execution step: compile the module, run existing tests, and diff against the original RxJava chain to confirm behavior parity.

Move the detailed operator and subject mapping tables into a bundled references file (e.g. references/mapping-table.md) and link to it from SKILL.md to improve progressive disclosure.

Fill in the example function bodies (or mark them clearly as illustrative stubs) so the before/after snippet is copy-paste ready.

DimensionReasoningScore

Conciseness

The body is a dense reference table of concrete type/operator mappings with terse one-liners, efficient overall; a few explanatory glosses ('A single asynchronous value', 'Coroutines Flow natively handles backpressure') could be trimmed but do not amount to the padding seen at 3.

4 / 5

Actionability

Provides concrete type-to-type and operator-to-operator mappings plus a worked before/after Kotlin example and sequenced execution steps, but example bodies use `{ ... }` placeholders rather than fully copy-paste-ready implementations, capping it below 5.

4 / 5

Workflow Clarity

Six numbered Execution Steps give a clear sequence, but there is no validation or verification checkpoint (compile, run tests, diff review) for what is effectively a batch codebase refactor, and the rubric caps such workflows at 3.

3 / 5

Progressive Disclosure

Single-file skill with clear ## sections and no nested references; the detailed operator/subject mapping tables are arguably reference material that could live in a bundled file, which is the minor gap keeping it below 5.

4 / 5

Total

15

/

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, well-scoped description that clearly states both capability and explicit trigger conditions with natural user-facing terminology. Minor additions (e.g. 'Maybe', 'Flowable') would round out the already-good trigger coverage.

Suggestions

Consider adding 'Maybe' and 'Flowable' to the source-type list for fuller trigger coverage.

Replace the slightly generic 'Guide and execute' with more concrete verbs like 'Convert' or 'Refactor' to tighten the action statement.

DimensionReasoningScore

Specificity

Names the domain and concrete actions ('Guide and execute the migration of asynchronous code from RxJava to Kotlin Coroutines and Flow') plus enumerates specific source/target types, but the verb 'guide and execute' is slightly generic compared to the comprehensive multi-action anchor at 5.

4 / 5

Completeness

Explicitly answers both 'what' ('Guide and execute the migration...') and 'when' ('Use this skill when a user asks to convert RxJava...') with concrete trigger phrases, matching the top anchor.

5 / 5

Trigger Term Quality

Strong natural-term coverage ('convert RxJava', 'Observables, Singles, Completables, Subjects', 'suspend functions, Flows, StateFlows') including synonyms, but a few common variants (Maybe, Flowable) are absent, stopping short of the fully comprehensive anchor at 5.

4 / 5

Distinctiveness Conflict Risk

RxJava-to-Coroutines migration is a clear niche with distinct triggers unlikely to fire for unrelated skills, matching the minimal-conflict-risk anchor.

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
new-silvermoon/awesome-android-agent-skills
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.