Agent skill

Ha Code Quality

by FutureTense in FutureTense/keymaster

Standards and commands for linting, code formatting, typing validation (Ruff, MyPy, Codespell, ESLint, Pre-commit/Prek, Tox), and adherence to Home Assistant Python 3.14 standards in Keymaster.

MITAuto-check passedDevelopment

Install Ha Code Quality

skills CLI
$ npx skills add FutureTense/keymaster --skill ha-code-quality -a claude-code

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

GitHub CLI
$ gh skill install FutureTense/keymaster ha-code-quality --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/FutureTense/keymaster.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ha-code-quality .claude/skills/ha-code-quality && 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-code-quality
GitHub stars
349
Token cost
~462 tokens
SKILL.md length
137 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Standards and commands for linting, code formatting, typing validation (Ruff, MyPy, Codespell, ESLint, Pre-commit/Prek, Tox), and adherence to Home Assistant Python 3.14 standards in Keymaster.

  • Tasks that involve Linting and formatting
  • SKILL.md covers Automated Quality Suite (Tox), Individual Quality Tools, TypeScript / Frontend Linting and Pre-commit / Prek Hooks, plus 1 more section
  • Calls ruff, mypy and yarn
  • Tasks that involve Type safety

What it does

Ha Code Quality is an agent skill from FutureTense/keymaster. Standards and commands for linting, code formatting, typing validation (Ruff, MyPy, Codespell, ESLint, Pre-commit/Prek, Tox), and adherence to Home Assistant Python 3.14 standards in Keymaster.

Its SKILL.md is about 460 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, covering Linting and formatting and Type safety. It works with Ruff, Python, Home Assistant and ESLint. The repository describes itself as: Home Assistant integration for managing Z-Wave enabled locks. The licence is MIT.

When your agent uses it

  • Tasks that involve Linting and formatting
  • Tasks that involve Type safety

Example prompts

  • “Use the ha-code-quality skill to standard and commands for linting, code formatting, typing validation (Ruff, MyPy, Codespell, ESLint…”
  • “/ha-code-quality”

Requirements

  • Python 3

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • ruff
    • mypy
    • yarn

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

  • Network

    No URLs in SKILL.md. Its commands use yarn, 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

Ha Code Quality loads about 462 tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 137 words of instructions outside code blocks.

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

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 FutureTense/keymaster at commit b6a1ea8, republished under its MIT licence (© FutureTense). 137 words, ~462 tokens.

Download SKILL.mdSave it as .claude/skills/ha-code-quality/SKILL.md (or your agent's skills folder).
name
ha-code-quality
description
Standards and commands for linting, code formatting, typing validation (Ruff, MyPy, Codespell, ESLint, Pre-commit/Prek, Tox), and adherence to Home Assistant Python 3.14 standards in Keymaster.

Code Quality & Standards Guide for Keymaster

This skill guides linting, formatting, and static typing enforcement across the repository.

Automated Quality Suite (Tox)

Run the full CI lint environment:

bash
tox -e lint

This runs Ruff linting, Ruff formatting check, MyPy across the entire repo (mypy .), and Codespell.

Individual Quality Tools

Configuration is defined in pyproject.toml.

Ruff Formatting & Linting
bash
# Check linting errors
ruff check .

# Automatically apply safe fixes
ruff check --fix .

# Format code
ruff format .
Type Checking (MyPy)
bash
# Check both custom_components and tests
mypy .
Spell Checking (Codespell)
bash
codespell custom_components/keymaster tests

TypeScript / Frontend Linting

bash
# Check ESLint
yarn lint

# Fix ESLint issues
yarn lint:fix

Pre-commit / Prek Hooks

Run pre-commit checks locally before committing:

bash
# Using prek (fast drop-in runner):
prek run --all-files

# Or using pre-commit:
pre-commit run --all-files

Guidelines

  • Python Target: Configured for Python 3.14 (target-version = "py314"). Use modern typing syntax (e.g. list[str], X | Y, from __future__ import annotations).
  • Line Length: Strictly adhere to the 100-character line limit configured in pyproject.toml.
  • Async Hygiene: Use async_create_task or HA core async helpers; avoid blocking synchronous calls in the event loop.
  • Docstrings & Comments: Preserve existing docstrings and write clear docstrings for new public methods and classes.

© FutureTense, MIT. 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-code-quality of FutureTense/keymaster.

Open the folder on GitHubat commit b6a1ea8

Compare with similar skills

Ha Code Quality 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 Code Quality compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ha Code Quality this skillFutureTense/keymaster349—~462Automated safety check: PassMIT
Cb Code QualityBlkLeg/CircuitBreaker201—~1.9kAutomated safety check: PassMIT
Kedro Babysitkedro-org/kedro11k—~4kAutomated safety check: PassCustom licence
Update Dependenciesalorence/django-modern-rpc111—~1.3kAutomated safety check: PassMIT
Adk Stylegoogle/adk-python22k—~748Automated safety check: PassApache-2.0
Lintroryeckel/wyoming_openai218—~707Automated safety check: PassApache-2.0

Similar skills

  • Cb Code Quality

    BlkLeg/CircuitBreaker

    Circuit Breaker code conventions and the quality gates that actually block a push — ruff, mypy, eslint, the pytest coverage ratchet, and the make verify tiers.

    201 GitHub stars~1.9k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Update Dependencies

    alorence/django-modern-rpc

    Routine update of all project dependencies — uv itself, uv.lock (all groups), tool versions pinned in GitHub workflows and .pre-commit-config.yaml (uv, ruff, mypy...), and SHA-pinned GitHub Actions.

    111 GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Adk Style

    google/adk-python

    Official

    Python style and codebase conventions for ADK (Agent Development Kit): private-by-default file visibility, imports, type hints, Pydantic v2 models, formatting, docstrings, logging, async I/O, file…

    22k GitHub stars~748 tokensUpdated today
    DevelopmentAuto-check passed
  • Lint

    roryeckel/wyoming_openai

    Run all linters (ruff, pyright) and fix issues in a loop until the codebase is clean.

    218 GitHub stars~707 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Python Best Practices

    Taoidle/plan-cascade

    Python coding best practices. An agent skill from Taoidle/plan-cascade.

    133 GitHub stars~463 tokensUpdated 6 mo ago
    DevelopmentAuto-check passed

More from FutureTense/keymaster

  • Ha Integration Testing

    FutureTense/keymaster

    Workflows, conventions, and commands for writing and running async Home Assistant unit and integration tests using pytest, tox, pytest-homeassistant-custom-component, and coverage tools.

    349 GitHub stars~522 tokensUpdated 6 days ago
    Auto-check passed
  • Ha Lock Provider

    FutureTense/keymaster

    Guide for developing, testing, and maintaining lock platform providers (e.g., zwavejs, zigbee2mqtt, zha, schlage, akuvox) implementing BaseLockProvider in Keymaster.

    349 GitHub stars~829 tokensUpdated 6 days ago
    Auto-check passed
  • Patch Coverage

    FutureTense/keymaster

    Procedure and guidelines for verifying and maintaining 100% patch test coverage on all modified and added lines across Keymaster PRs and branches.

    349 GitHub stars~1.1k tokensUpdated 6 days ago
    Auto-check passed
  • Submit PR

    FutureTense/keymaster

    Procedure for preparing and submitting pull requests in keymaster, enforcing the required PR template (.github/PULLREQUESTTEMPLATE.md), checklist validation, and quality gates.

    349 GitHub stars~830 tokensUpdated 6 days ago
    Auto-check passed
  • Lovelace Strategy

    FutureTense/keymaster

    Workflows for developing, building, bundling, and testing the TypeScript / Lit Lovelace dashboard strategy in lovelacestrategy/.

    349 GitHub stars~345 tokensUpdated 6 days ago
    Auto-check passed
  • Coordinator Lifecycle

    FutureTense/keymaster

    Architectural patterns and lifecycle instructions for KeymasterCoordinator, KeymasterLockCoordinator, fan-out notification architecture, child entity platforms, and storage migrations.

    349 GitHub stars~857 tokensUpdated 6 days ago
    Auto-check passed

Categories

Questions about Ha Code Quality

What does Ha Code Quality do?

Standards and commands for linting, code formatting, typing validation (Ruff, MyPy, Codespell, ESLint, Pre-commit/Prek, Tox), and adherence to Home Assistant Python 3.14 standards in Keymaster. Ha Code Quality is an agent skill from FutureTense/keymaster.14 standards in Keymaster.

When should I use Ha Code Quality?

Ha Code Quality fits situations like: tasks that involve Linting and formatting; tasks that involve Type safety.

How do I install Ha Code Quality in Claude Code?

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

How do I install Ha Code Quality in Codex?

Run `npx skills add FutureTense/keymaster --skill ha-code-quality -a codex`. Or copy the skill folder (.agents/skills/ha-code-quality in FutureTense/keymaster) into .agents/skills/ha-code-quality in your project. Codex loads it when a task matches its description.

Can I use Ha Code Quality 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 FutureTense/keymaster --skill ha-code-quality -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-code-quality, .gemini/skills/ha-code-quality, .github/skills/ha-code-quality and .opencode/skills/ha-code-quality in your project.

What does Ha Code Quality need to run?

Going by SKILL.md and its folder, Ha Code Quality needs the command-line tools its instructions call (ruff, mypy and yarn). Our summary lists: Python 3.

Does Ha Code Quality 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 Code Quality 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 Code Quality use?

Ha Code Quality is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ha Code Quality use?

About 462 tokens (SKILL.md is roughly 1.8k 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 Code Quality?

Skills that share tags, products or a category with Ha Code Quality: Cb Code Quality (BlkLeg/CircuitBreaker, 201 stars), Kedro Babysit (kedro-org/kedro, 11k stars), Update Dependencies (alorence/django-modern-rpc, 111 stars) and Adk Style (google/adk-python, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ha Code Quality?

FutureTense (a GitHub user) maintains it in FutureTense/keymaster, which has 349 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 1, 2026.

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