Agent skill

Ha Android Logging Errors

by home-assistant in home-assistant/android

Home Assistant Android logging and error handling. An agent skill from home-assistant/android.

Apache-2.0Auto-check passedDevelopment

Install Ha Android Logging Errors

skills CLI
$ npx skills add home-assistant/android --skill ha-android-logging-errors -a claude-code

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

GitHub CLI
$ gh skill install home-assistant/android ha-android-logging-errors --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/home-assistant/android.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ha-android-logging-errors .claude/skills/ha-android-logging-errors && 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
ha-android-logging-errors
GitHub stars
4k
Token cost
~845 tokens
SKILL.md length
358 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Home Assistant Android logging and error handling. An agent skill from home-assistant/android.

  • Writing catch blocks
  • SKILL.md covers Timber, Exceptions, FailFast and Strict Mode, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Logging with Timber

What it does

Ha Android Logging Errors is an agent skill from home-assistant/android. Home Assistant Android logging and error handling. Use when writing catch blocks, logging with Timber, handling exceptions or fallbacks, using FailFast, or reviewing for silent failures and leaked user data.

Its SKILL.md is about 850 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 Development. It works with Android, Home Assistant and Kotlin. The repository describes itself as: Home Assistant Companion for Android. The licence is Apache-2.0.

When your agent uses it

  • Writing catch blocks
  • Logging with Timber
  • Handling exceptions
  • Reviewing for silent failures and leaked user data

Example prompts

  • “/ha-android-logging-errors”

What it can do on your machine

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

Ha Android Logging Errors loads about 845 tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 358 words of instructions outside code blocks.

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

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 home-assistant/android at commit eaa2122, republished under its Apache-2.0 licence (© home-assistant). 358 words, ~845 tokens.

Download SKILL.mdSave it as .claude/skills/ha-android-logging-errors/SKILL.md (or your agent's skills folder).
name
ha-android-logging-errors
description
Home Assistant Android logging and error handling. Use when writing catch blocks, logging with Timber, handling exceptions or fallbacks, using FailFast, or reviewing for silent failures and leaked user data.

HA Android Logging and Errors

Use this skill when adding logging, catching exceptions, or defining fallback behavior.

Timber

All logging goes through Timber (import timber.log.Timber). Timber logs are enabled automatically in debug builds and use the class name as tag.

  • No periods at the end of log messages.
  • Never leak user information in release logs — wrap user data with sensitive() instead of manual BuildConfig.DEBUG checks. Entity IDs are not sensitive and help debugging; URLs and anything server- or user-identifying are sensitive.
  • Error logs follow the shape Timber.e(e, "Failed to <do what> for <contextual id>") — include the identifiers needed to debug.
  • If building a log message requires heavy logic, only compute it when necessary. Don't log normal, expected behavior, and don't repeat a message already logged nearby.
kotlin
Timber.e(exception, "Failed to load user dashboard for userId=$userId")
// sensitive() hides user data in release logs
Timber.d("User logged in: userId=${sensitive(user.id)}")

Exceptions

  • Never silently ignore an exception — always log it with Timber, including enough context to troubleshoot.
  • Catch the most precise exception type, not catch (e: Exception).
  • Never catch kotlin.coroutines.cancellation.CancellationException — let it propagate to cancel coroutines properly. A broad catch (e: Exception) in a suspend function silently catches it too; when a broad catch is unavoidable, rethrow cancellation first:
kotlin
try {
    riskyOperation()
} catch (e: CancellationException) {
    throw e
} catch (e: IOException) {
    Timber.e(e, "Failed to update sensors")
}
  • Thrown exceptions need meaningful messages and explicit types instead of generic ones.
  • Don't use check()/require() for conditions whose exception is then caught and ignored upstream — the message never reaches the logs. Log the problem where it's detected and return early (or surface an error state to the user) instead.
Show full SKILL.md (125 more words)Show less

FailFast

Use the FailFast API from :common for offensive programming: it crashes debug builds so issues surface early, and falls back gracefully in production.

kotlin
val value = FailFast.failOnCatch(
    message = { "Couldn't get ExternalThirdParty value, current state: ${ExternalThirdPartyJavaAPI.state()}" },
    fallback = "fallbackValue",
) { riskyOperation() }

In unit tests, a project-wide listener rethrows FailFast failures as test failures — see the ha-android-testing skill.

Prefer catching problems at build time over runtime: lean on the Kotlin compiler (exhaustive when over sealed types) and consider a custom lint rule in :lint when a check can't be expressed at compile time.

Strict Mode

Strict Mode violations can be ignored with io.homeassistant.companion.android.common.util.IgnoreViolationRules, injected in the Application class.

Debugging Aids

  • Filter LogCat by tag: Timber uses the class name as tag by default.
  • Debug network requests with OkHttp logging interceptors in debug builds.
  • Inspect the Room database with Android Studio's App Inspection tool.

© home-assistant, 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 .agents/skills/ha-android-logging-errors of home-assistant/android.

Open the folder on GitHubat commit eaa2122

Compare with similar skills

Ha Android Logging Errors 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.

Ha Android Logging Errors compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ha Android Logging Errors this skillhome-assistant/android4k—~845Automated safety check: PassApache-2.0
Android Clean Architectureaffaan-m/ECC274k4 repos~2.2kAutomated safety check: PassMIT
Kotlin SpecialistJeffallan/claude-skills12k—~1.5kAutomated safety check: PassMIT
Kotlin Coroutinesrcosteira79/android-skills150—~1.5kAutomated safety check: PassMIT
Architecture Overclocknekomangaorg/Neko2.8k—~1.4kAutomated safety check: PassApache-2.0
Architecture Renovatornekomangaorg/Neko2.8k—~1.2kAutomated safety check: PassApache-2.0

Similar skills

  • Applies Clean Architecture to Android and Kotlin Multiplatform projects: module layout, dependency rules, UseCases, Repositories and data layer patterns.

    274k GitHub starsUsed in 4 repos~2.2k tokens
    DevelopmentAuto-check passed
  • Kotlin Specialist

    Jeffallan/claude-skills

    Applies idiomatic Kotlin 1.9+ patterns for coroutines and Flow, multiplatform code, Jetpack Compose on Android and Ktor servers, checked with detekt and ktlint.

    12k GitHub stars~1.5k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Kotlin Coroutines

    rcosteira79/android-skills

    A skill your agent uses when writing, reviewing, or debugging coroutine code in Kotlin — including dispatcher selection, scope management, structured concurrency, cancellation, exception handling…

    150 GitHub stars~1.5k tokensUpdated 18 days ago
    DevelopmentAuto-check passed
  • Architecture Overclock

    nekomangaorg/Neko

    Resolves deep, structural performance bottlenecks in the Kotlin Android codebase.

    2.8k GitHub stars~1.4k tokensUpdated yesterday
    MobileAuto-check passed
  • Architecture Renovator

    nekomangaorg/Neko

    Resolves deep architectural debt in the Kotlin Android codebase through macro-level refactoring.

    2.8k GitHub stars~1.2k tokensUpdated yesterday
    MobileAuto-check passed
  • Task Workflow

    ikarenkov/Modo

    Spec-driven workflow for non-trivial work. An agent skill from ikarenkov/Modo.

    343 GitHub stars~2.4k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed

More from home-assistant/android

All 10 skills in this repo
  • Ha Android Architecture

    home-assistant/android

    Home Assistant Android module and layer architecture. An agent skill from home-assistant/android.

    4k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Ha Android Concurrency

    home-assistant/android

    Home Assistant Android coroutine and threading guidance. An agent skill from home-assistant/android.

    4k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Ha Android E2E Debugging

    home-assistant/android

    Home Assistant Android end-to-end (Maestro) failure triage. An agent skill from home-assistant/android.

    4k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Ha Android Kotlin Style

    home-assistant/android

    Home Assistant Android Kotlin style. An agent skill from home-assistant/android.

    4k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Ha Android Testing

    home-assistant/android

    Home Assistant Android testing guidance. An agent skill from home-assistant/android.

    4k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Ha Android UI

    home-assistant/android

    Home Assistant Android UI guidance. An agent skill from home-assistant/android.

    4k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed

Questions about Ha Android Logging Errors

What does Ha Android Logging Errors do?

Home Assistant Android logging and error handling. An agent skill from home-assistant/android. Ha Android Logging Errors is an agent skill from home-assistant/android. Home Assistant Android logging and error handling.

When should I use Ha Android Logging Errors?

Ha Android Logging Errors fits situations like: writing catch blocks; logging with Timber; handling exceptions; reviewing for silent failures and leaked user data.

How do I install Ha Android Logging Errors in Claude Code?

Run `npx skills add home-assistant/android --skill ha-android-logging-errors -a claude-code`. Or copy the skill folder (.agents/skills/ha-android-logging-errors in home-assistant/android) into .claude/skills/ha-android-logging-errors in your project. Claude Code loads it when a task matches its description.

How do I install Ha Android Logging Errors in Codex?

Run `npx skills add home-assistant/android --skill ha-android-logging-errors -a codex`. Or copy the skill folder (.agents/skills/ha-android-logging-errors in home-assistant/android) into .agents/skills/ha-android-logging-errors in your project. Codex loads it when a task matches its description.

Can I use Ha Android Logging Errors 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 home-assistant/android --skill ha-android-logging-errors -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ha-android-logging-errors, .gemini/skills/ha-android-logging-errors, .github/skills/ha-android-logging-errors and .opencode/skills/ha-android-logging-errors in your project.

What does Ha Android Logging Errors need to run?

SKILL.md names no scripts, command-line tools or credentials: Ha Android Logging Errors is instructions for the agent only.

Does Ha Android Logging Errors 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 Ha Android Logging Errors 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 Ha Android Logging Errors use?

Ha Android Logging Errors 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 Ha Android Logging Errors use?

About 845 tokens (SKILL.md is roughly 3.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 Ha Android Logging Errors?

Skills that share tags, products or a category with Ha Android Logging Errors: Android Clean Architecture (affaan-m/ECC, 274k stars), Kotlin Specialist (Jeffallan/claude-skills, 12k stars), Kotlin Coroutines (rcosteira79/android-skills, 150 stars) and Architecture Overclock (nekomangaorg/Neko, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ha Android Logging Errors?

home-assistant (a GitHub organization) maintains it in home-assistant/android, which has 3,951 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 6, 2026.

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