Agent skill

Customize Recovery

by osama-raddad in osama-raddad/FireCrasher

Inspect FireCrasher's recovery level and show custom recovery UX (loading dialog, toast, snackbar) or force a specific recovery level.

Apache-2.0Auto-check passedMobile

Install Customize Recovery

skills CLI
$ npx skills add osama-raddad/FireCrasher --skill customize-recovery -a claude-code

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

GitHub CLI
$ gh skill install osama-raddad/FireCrasher customize-recovery --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/osama-raddad/FireCrasher.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/skills/customize-recovery .claude/skills/customize-recovery && 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
customize-recovery
GitHub stars
147
Token cost
~624 tokens
SKILL.md length
177 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
Apache-2.0

At a glance

Inspect FireCrasher's recovery level and show custom recovery UX (loading dialog, toast, snackbar) or force a specific recovery level.

  • Tailoring what the user sees during recovery
  • SKILL.md covers React to the recovery level, Force a specific level and Guidance
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Reacting differently to occasional vs

What it does

Customize Recovery is an agent skill from osama-raddad/FireCrasher. Inspect FireCrasher's recovery level and show custom recovery UX (loading dialog, toast, snackbar) or force a specific recovery level. Use when tailoring what the user sees during recovery, or reacting differently to occasional vs. repeated crashes.

Its SKILL.md is about 620 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile. It works with Android. The repository describes itself as: FireCrasher is a Uncaught Exceptions recovery library for android. The licence is Apache-2.0.

When your agent uses it

  • Tailoring what the user sees during recovery
  • Reacting differently to occasional vs

Example prompts

  • “/customize-recovery”

What it can do on your machine

Read from SKILL.md and the folder at commit 7a06228. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are kotlin).

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

  • Network

    No URLs in SKILL.md.

    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

Customize Recovery loads about 624 tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 177 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from osama-raddad/FireCrasher at commit 7a06228, republished under its Apache-2.0 licence (© osama-raddad). 177 words, ~624 tokens.

Download SKILL.mdSave it as .claude/skills/customize-recovery/SKILL.md (or your agent's skills folder).
name
customize-recovery
description
Inspect FireCrasher's recovery level and show custom recovery UX (loading dialog, toast, snackbar) or force a specific recovery level. Use when tailoring what the user sees during recovery, or reacting differently to occasional vs. repeated crashes.

Customize the recovery experience

FireCrasher escalates recovery through three RecoveryLevels:

  • RESTART_ACTIVITY — restart the crashing activity (occasional crash).
  • GO_BACK — the activity keeps crashing, so go back to the previous screen.
  • RELAUNCH_APP — nothing to go back to, so restart the whole app.

You can read the level before recovering and show appropriate UX, or force a level.

React to the recovery level

Inside onCrash, the evaluated level and the current activity are already in scope. Call recover { … }; its lambda runs after recovery is kicked off.

kotlin
installFireCrasher {
    onCrash {
        report(throwable)   // see report-crashes skill

        val context = activity ?: return@onCrash
        when (level) {
            RecoveryLevel.RESTART_ACTIVITY ->
                // Quiet restart of the current screen — show a brief spinner.
                recover {
                    Toast.makeText(context, "Recovering…", Toast.LENGTH_SHORT).show()
                }
            RecoveryLevel.GO_BACK ->
                recover {
                    Toast.makeText(context, "Returning to the previous screen", Toast.LENGTH_SHORT).show()
                }
            RecoveryLevel.RELAUNCH_APP ->
                recover {
                    Toast.makeText(context, "Restarting the app", Toast.LENGTH_LONG).show()
                }
        }
    }
}

retryCount is also in scope if you want to distinguish the first attempt from later ones (e.g. only show a dialog once):

kotlin
if (retryCount <= 1 && level == RecoveryLevel.RESTART_ACTIVITY) {
    // show a loading dialog
}

Force a specific level

If you know how you want to recover, pass the level explicitly instead of using the evaluated one:

kotlin
onCrash {
    recover(RecoveryLevel.RELAUNCH_APP)   // always restart the app on any crash
}

Guidance

  • Keep recovery UX fast and non-blocking — the user just hit a crash; a long modal makes it worse. A spinner or short toast is usually enough.
  • Do the crash reporting before showing UX (see report-crashes).
  • The recovery lambda runs on the main thread; don't do heavy work in it.

© osama-raddad, 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

Just SKILL.md in docs/skills/customize-recovery of osama-raddad/FireCrasher.

Open the folder on GitHubat commit 7a06228

Compare with similar skills

Customize Recovery 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.

Customize Recovery compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Customize Recovery this skillosama-raddad/FireCrasher147—~624Automated safety check: PassApache-2.0
Compose Multiplatform Patternsmonta-app/ocpp-emulator1805 repos~2kAutomated safety check: PassApache-2.0
Phone HarnessShawnPana/phone-harness3.2k—~7.7kAutomated safety check: PassMIT
Stylessreichholf/dreamDroid1165 repos~2.3kAutomated safety check: PassGPL-3.0
Argent Metro Debuggerbbplayer-app/BBPlayer1.2k—~3.4kAutomated safety check: PassMIT
Android XML ResourceafkT/DevUtils1.6k—~1.3kAutomated safety check: PassApache-2.0

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.

    180 GitHub starsUsed in 5 repos~2k tokens
    MobileAuto-check passed
  • Phone Harness

    ShawnPana/phone-harness

    Control the user's phone - an iPhone through the Mac's iPhone Mirroring window, an Android over adb, a rented cloud Android, or a cloud iPhone over HTTPS: open apps, tap, type, swipe, read the screen.

    3.2k GitHub stars~7.7k tokensUpdated today
    MobileAuto-check passed
  • Styles

    sreichholf/dreamDroid

    A skill your agent uses to integrate the Jetpack Compose Styles API into an Android project.

    116 GitHub starsUsed in 5 repos~2.3k tokens
    MobileAuto-check passed
  • Argent Metro Debugger

    bbplayer-app/BBPlayer

    Debug a JS runtime via CDP using argent debugger tools. An agent skill from bbplayer-app/BBPlayer.

    1.2k GitHub stars~3.4k tokensUpdated 3 days ago
    MobileAuto-check passed
  • 统一 Android XML 资源命名:layout、drawable、mipmap、color、values、id 的前缀与 snakecase 规则;把颜色/圆角/描边/状态编码进文件名(bg、border、textcolor…selector)。

    1.6k GitHub stars~1.3k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Mobile QA

    tloncorp/tlon-apps

    Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.

    107 GitHub stars~2.4k tokensUpdated today
    MobileAuto-check passed

More from osama-raddad/FireCrasher

All 8 skills in this repo
  • Add Library Test

    osama-raddad/FireCrasher

    Add or update a Robolectric JVM unit test for the FireCrasher library.

    147 GitHub stars~612 tokensUpdated 3 mo ago
    Auto-check passed
  • Detect Native Crashes And Anrs

    osama-raddad/FireCrasher

    Report native crashes, ANRs, and low-memory kills that FireCrasher's in-process handler cannot catch, using ApplicationExitInfo on API 30+.

    147 GitHub stars~662 tokensUpdated 3 mo ago
    Auto-check passed
  • Install Firecrasher

    osama-raddad/FireCrasher

    Add the FireCrasher crash-recovery library to an Android app and install it in the Application class.

    147 GitHub stars~562 tokensUpdated 3 mo ago
    Auto-check passed
  • Release

    osama-raddad/FireCrasher

    Cut a new FireCrasher library release — bump the version, sync the README and ABI baseline, verify, and tag for JitPack.

    147 GitHub stars~649 tokensUpdated 3 mo ago
    Auto-check passed
  • Update Abi Baseline

    osama-raddad/FireCrasher

    Regenerate and review FireCrasher's committed public ABI baseline (firecrasher/api/firecrasher.api) after an intentional public API change.

    147 GitHub stars~508 tokensUpdated 3 mo ago
    Auto-check passed
  • Report Crashes

    osama-raddad/FireCrasher

    Forward FireCrasher-caught exceptions to a crash reporter (Crashlytics, Sentry, etc.) while still recovering the app.

    147 GitHub stars~410 tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about Customize Recovery

What does Customize Recovery do?

Inspect FireCrasher's recovery level and show custom recovery UX (loading dialog, toast, snackbar) or force a specific recovery level. Customize Recovery is an agent skill from osama-raddad/FireCrasher. Inspect FireCrasher's recovery level and show custom recovery UX (loading dialog, toast, snackbar) or force a specific recovery level.

When should I use Customize Recovery?

Customize Recovery fits situations like: tailoring what the user sees during recovery; reacting differently to occasional vs.

How do I install Customize Recovery in Claude Code?

Run `npx skills add osama-raddad/FireCrasher --skill customize-recovery -a claude-code`. Or copy the skill folder (docs/skills/customize-recovery in osama-raddad/FireCrasher) into .claude/skills/customize-recovery in your project. Claude Code loads it when a task matches its description.

How do I install Customize Recovery in Codex?

Run `npx skills add osama-raddad/FireCrasher --skill customize-recovery -a codex`. Or copy the skill folder (docs/skills/customize-recovery in osama-raddad/FireCrasher) into .agents/skills/customize-recovery in your project. Codex loads it when a task matches its description.

Can I use Customize Recovery 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 osama-raddad/FireCrasher --skill customize-recovery -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/customize-recovery, .gemini/skills/customize-recovery, .github/skills/customize-recovery and .opencode/skills/customize-recovery in your project.

What does Customize Recovery need to run?

SKILL.md names no scripts, command-line tools or credentials: Customize Recovery is instructions for the agent only.

Does Customize Recovery access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Customize Recovery 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. Review the folder before installing.

What licence does Customize Recovery use?

Customize Recovery 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 Customize Recovery use?

About 624 tokens (SKILL.md is roughly 2.5k 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 Customize Recovery?

Skills that share tags, products or a category with Customize Recovery: Compose Multiplatform Patterns (monta-app/ocpp-emulator, 180 stars), Phone Harness (ShawnPana/phone-harness, 3.2k stars), Styles (sreichholf/dreamDroid, 116 stars) and Argent Metro Debugger (bbplayer-app/BBPlayer, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Customize Recovery?

osama-raddad (a GitHub user) maintains it in osama-raddad/FireCrasher, which has 147 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on July 3, 2026.

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