Agent skill

Improve Code Coverage

by alexvanyo in alexvanyo/composelife

Helps increment code coverage in this Kotlin Multiplatform project.

Apache-2.0Auto-check passedMobile

Install Improve Code Coverage

skills CLI
$ npx skills add alexvanyo/composelife --skill improve-code-coverage -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install alexvanyo/composelife improve-code-coverage --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/alexvanyo/composelife.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/improve-code-coverage .claude/skills/improve-code-coverage && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
improve-code-coverage
GitHub stars
267
Token cost
~1.1k tokens
SKILL.md length
510 words
Files
3 (incl. scripts)
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Helps increment code coverage in this Kotlin Multiplatform project.

  • Works in 5 steps: Ask for Target Count → Generate and Parse Baseline Coverage → Create the Plan → …
  • Tasks that involve Test coverage
  • Runs Python scripts from its folder; calls python3 and git
  • Tasks that involve Android development

What it does

Improve Code Coverage is an agent skill from alexvanyo/composelife. Helps increment code coverage in this Kotlin Multiplatform project. Guides the agent to ask the user for the number of areas to improve, establish a baseline report, plan the improvements, write Kotlin unit tests following all Detekt/formatting style rules, and commit them (including using git fixup).

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/find_missed_lines.py` and `scripts/parse_jacoco.py`).

It sits in Mobile, covering Test coverage, Android development and Unit testing. It works with Kotlin, Git, Jetpack Compose and Android. The repository describes itself as: A Game of Life simulator Android app and watchface built with Jetpack Compose. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Test coverage
  • Tasks that involve Android development
  • Tasks that involve Unit testing

Example prompts

  • “Use the improve-code-coverage skill to help increment code coverage in this Kotlin Multiplatform project”
  • “/improve-code-coverage”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Ask for Target Count
  2. Generate and Parse Baseline Coverage
  3. Create the Plan
  4. Implement Improvements Incrementally (1:1)
  5. Final Verification

What it can do on your machine

Read from SKILL.md and the folder at commit 818ff58. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Improve Code Coverage loads about 1.1k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 510 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from alexvanyo/composelife at commit 818ff58, republished under its Apache-2.0 licence (© alexvanyo). 510 words, ~1,088 tokens.

Download SKILL.mdSave it as .claude/skills/improve-code-coverage/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
improve-code-coverage
description
Helps increment code coverage in this Kotlin Multiplatform project. Guides the agent to ask the user for the number of areas to improve, establish a baseline report, plan the improvements, write Kotlin unit tests following all Detekt/formatting style rules, and commit them (including using git fixup).

Skill: Improve Code Coverage

This skill guides you through the process of systematically and incrementally improving code coverage in the ComposeLife project by adding realistic unit tests.

Step-by-Step Workflow

1. Ask for Target Count

At the start of the task, ask the user:

"How many low-coverage areas would you like to improve?" Get the number $N$ from the user.

2. Generate and Parse Baseline Coverage
  1. Ensure a fresh coverage report is built by running:
    bash
    ./gradlew jacocoDebugUnitTestCoverageReport
  2. Parse the Jacoco XML report by running the helper script:
    bash
    python3 .agents/skills/improve-code-coverage/scripts/parse_jacoco.py
    This will output a sorted list of classes by missed instructions to build/jacoco_report.txt.
3. Create the Plan
  1. Select the top $N$ classes from the report that fit these criteria:
    • Very low existing coverage.
    • More likely to be user-visible behavior (e.g. settings, geometric extension functions, state management).
    • Core algorithms or serialization code.
  2. Formulate an ordered list of these $N$ areas.
  3. Draft a plan similar to test_coverage_plan.md listing the baseline coverage and the targeted test files.
  4. Present this plan to the user for approval.
4. Implement Improvements Incrementally (1:1)

For each area in the plan, perform the following steps:

A. Find Missed Lines

Run the line lookup script to identify the exact lines and branches that are not covered:

bash
python3 .agents/skills/improve-code-coverage/scripts/find_missed_lines.py <SourceFileName.kt>
B. Write Realistic Unit Tests
  1. Locate the corresponding test directory (e.g., jbTest, commonTest, jvmTest under the same module).
  2. Write unit tests targeting the missed functions/lines.
  3. CRITICAL: Adhere strictly to the project style rules enforced by Detekt to prevent CI compilation failures:
    • Trailing Commas: Add trailing commas to all multi-line function calls, parameter lists, and declarations (e.g., lists of arguments or elements).
    • Line Length: Ensure no line of code exceeds 120 characters. Assign long expressions to local variables if they would wrap awkwardly.
    • Import Ordering: Keep all imports sorted lexicographically, with no empty lines between them. Group kotlin.*, kotlinx.*, okio.* correctly, and put kotlin.* imports at the end of the imports block.
    • Function and Class Sizes: Avoid test methods longer than 60 lines (Detekt LongMethod). Avoid test classes with too many functions (or apply @Suppress("TooManyFunctions") to the class declaration).
    • Unit Testing Framework: Use kotlin.test APIs (assertEquals, assertTrue, assertFalse, assertNotEquals<Any?>, etc.) rather than JUnit.
Show full SKILL.md (159 more words)Show less
C. Run the Module Tests
  1. Run the target-specific host tests rather than generic long-running tasks. For example, for the navigation module:
    bash
    ./gradlew :navigation:testAndroidHostTest
  2. Verify that all tests pass. If compiling or test failures occur, fix them.
D. Regenerate Coverage and Verify
  1. Run the report task:
    bash
    ./gradlew jacocoDebugUnitTestCoverageReport
  2. Parse the report and verify that instruction and branch coverage improved for the target class.
E. Commit and Fixup
  1. Create a git commit with a message specifying:
    • The area/class improved.
    • The coverage improvement metrics (X% from Y%, and missed branches reduced to A from B).
    • What behavior wasn't previously covered.
  2. If minor formatting fixes or code style changes are needed after feedback or check failures, stage the fixes and commit them with --fixup targeting the original commit, like:
    bash
    git commit --fixup <commit-hash>
5. Final Verification

After all $N$ areas are implemented, run:

bash
./gradlew check

Verify that all CI checks, tests, and Detekt inspections pass successfully.

© alexvanyo, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .agents/skills/improve-code-coverage of alexvanyo/composelife.

  • SKILL.md
  • scripts/find_missed_lines.py
  • scripts/parse_jacoco.py

Open the folder on GitHubat commit 818ff58

Compare with similar skills

Improve Code Coverage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Improve Code Coverage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Improve Code Coverage this skillalexvanyo/composelife267—~1.1kAutomated safety check: PassApache-2.0
Compose Multiplatform Patternsmonta-app/ocpp-emulator1795 repos~2kAutomated safety check: PassApache-2.0
Claude Android NinjaDrjacky/claude-android-ninja124—~5.2kAutomated safety check: PassApache-2.0
Ksafeioannisa/KSafe332—~17kAutomated safety check: PassApache-2.0
KtormonitorCosminMihuMDC/KtorMonitor254—~2.5kAutomated safety check: PassApache-2.0
Clerk Androidgeekskai/blog1031 repos~2.1kAutomated safety check: PassMIT

Similar skills

  • Compose Multiplatform Patterns

    monta-app/ocpp-emulator

    Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.

    179 GitHub starsUsed in 5 repos~2k tokens
    MobileAuto-check passed
  • Claude Android Ninja

    Drjacky/claude-android-ninja

    Build and migrate Android apps with Kotlin, Jetpack Compose, MVVM, Hilt, Room 3 (KSP, SQLiteDriver, Flow/suspend DAOs), Navigation3, and multi-module Gradle.

    124 GitHub stars~5.2k tokensUpdated 8 days ago
    MobileAuto-check passed
  • Ksafe

    ioannisa/KSafe

    Required before any reply that touches KSafe (by ksafe(...), ksafe.get/put, :ksafe-compose, :ksafe-biometrics), even a 'can KSafe do X?' question or a one-line change that looks like plain Kotlin.

    332 GitHub stars~17k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Ktormonitor

    CosminMihuMDC/KtorMonitor

    KtorMonitor is a Kotlin Multiplatform library for real-time HTTP traffic monitoring.

    254 GitHub stars~2.5k tokensUpdated 24 days ago
    MobileAuto-check passed
  • Clerk Android

    geekskai/blog

    Implement Clerk authentication for native Android apps using Kotlin and Jetpack Compose with clerk-android source-guided patterns.

    103 GitHub starsUsed in 1 repo~2.1k tokens
    MobileAuto-check passed
  • Kmp Architecture Footguns

    maxrave-dev/kotlin-footguns

    Kotlin Multiplatform structure and language traps: module splits, expect/actual, Koin and ViewModel scoping, layers, version catalogs, erased overloads, Char and string-resource formatting limits.

    1k GitHub stars~4.4k tokensUpdated 12 days ago
    MobileAuto-check passed

More from alexvanyo/composelife

  • Guided PR Fixup

    alexvanyo/composelife

    Performs a guided fixup of a given GitHub PR. An agent skill from alexvanyo/composelife.

    267 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Formally Verify

    alexvanyo/composelife

    Guides formal verification of algorithms, data structures, and properties in the ComposeLife project using Lean 4 and Mathlib.

    267 GitHub stars~2.5k tokensUpdated today
    Auto-check passed

Questions about Improve Code Coverage

What does Improve Code Coverage do?

Helps increment code coverage in this Kotlin Multiplatform project. Improve Code Coverage is an agent skill from alexvanyo/composelife. Helps increment code coverage in this Kotlin Multiplatform project.

When should I use Improve Code Coverage?

Improve Code Coverage fits situations like: tasks that involve Test coverage; tasks that involve Android development; tasks that involve Unit testing.

How do I install Improve Code Coverage in Claude Code?

Run `npx skills add alexvanyo/composelife --skill improve-code-coverage -a claude-code`. Or copy the skill folder (.agents/skills/improve-code-coverage in alexvanyo/composelife) into .claude/skills/improve-code-coverage in your project. Claude Code loads it when a task matches its description.

How do I install Improve Code Coverage in Codex?

Run `npx skills add alexvanyo/composelife --skill improve-code-coverage -a codex`. Or copy the skill folder (.agents/skills/improve-code-coverage in alexvanyo/composelife) into .agents/skills/improve-code-coverage in your project. Codex loads it when a task matches its description.

Can I use Improve Code Coverage in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alexvanyo/composelife --skill improve-code-coverage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/improve-code-coverage, .gemini/skills/improve-code-coverage, .github/skills/improve-code-coverage and .opencode/skills/improve-code-coverage in your project.

What does Improve Code Coverage need to run?

Going by SKILL.md and its folder, Improve Code Coverage needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and git). Our summary lists: Python 3.

Does Improve Code Coverage access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Improve Code Coverage safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Improve Code Coverage use?

Improve Code Coverage is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Improve Code Coverage use?

About 1.1k tokens (SKILL.md is roughly 4.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Improve Code Coverage?

Skills that share tags, products or a category with Improve Code Coverage: Compose Multiplatform Patterns (monta-app/ocpp-emulator, 179 stars), Claude Android Ninja (Drjacky/claude-android-ninja, 124 stars), Ksafe (ioannisa/KSafe, 332 stars) and Ktormonitor (CosminMihuMDC/KtorMonitor, 254 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Improve Code Coverage?

alexvanyo (a GitHub user) maintains it in alexvanyo/composelife, which has 267 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 2026.

Source: alexvanyo/composelife on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.