Requirements
rizsotto/Bear
Write, modify, or review a requirement file under docs/requirements -- pick the single owning file, keep the text contract-only, name IDs so they need no explanation, and verify cross-references and…
Procedure and guidelines for verifying and maintaining 100% patch test coverage on all modified and added lines across Keymaster PRs and branches.
$ npx skills add FutureTense/keymaster --skill patch-coverage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FutureTense/keymaster patch-coverage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FutureTense/keymaster.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/patch-coverage .claude/skills/patch-coverage && rm -rf skills-srcUse ~/.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/
Install the "patch-coverage" agent skill from https://github.com/FutureTense/keymaster/tree/main/.agents/skills/patch-coverage into .claude/skills/patch-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-coverage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FutureTense/keymaster/tree/main/.agents/skills/patch-coverageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FutureTense/keymaster --skill patch-coverage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FutureTense/keymaster patch-coverage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FutureTense/keymaster.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/patch-coverage .agents/skills/patch-coverage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "patch-coverage" agent skill from https://github.com/FutureTense/keymaster/tree/main/.agents/skills/patch-coverage into .agents/skills/patch-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-coverage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FutureTense/keymaster --skill patch-coverage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FutureTense/keymaster patch-coverage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FutureTense/keymaster.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/patch-coverage .cursor/skills/patch-coverage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "patch-coverage" agent skill from https://github.com/FutureTense/keymaster/tree/main/.agents/skills/patch-coverage into .cursor/skills/patch-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-coverage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FutureTense/keymaster.git --path .agents/skills/patch-coverage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FutureTense/keymaster --skill patch-coverage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FutureTense/keymaster patch-coverage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FutureTense/keymaster.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/patch-coverage .gemini/skills/patch-coverage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "patch-coverage" agent skill from https://github.com/FutureTense/keymaster/tree/main/.agents/skills/patch-coverage into .gemini/skills/patch-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-coverage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FutureTense/keymaster patch-coverageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FutureTense/keymaster --skill patch-coverage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FutureTense/keymaster.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/patch-coverage .github/skills/patch-coverage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "patch-coverage" agent skill from https://github.com/FutureTense/keymaster/tree/main/.agents/skills/patch-coverage into .github/skills/patch-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-coverage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FutureTense/keymaster --skill patch-coverage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FutureTense/keymaster patch-coverage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FutureTense/keymaster.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/patch-coverage .opencode/skills/patch-coverage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "patch-coverage" agent skill from https://github.com/FutureTense/keymaster/tree/main/.agents/skills/patch-coverage into .opencode/skills/patch-coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-coverage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
patch-coverageProcedure and guidelines for verifying and maintaining 100% patch test coverage on all modified and added lines across Keymaster PRs and branches.
Patch Coverage is an agent skill from FutureTense/keymaster. Procedure and guidelines for verifying and maintaining 100% patch test coverage on all modified and added lines across Keymaster PRs and branches.
Its SKILL.md is about 1.1k 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 Testing & QA, covering Test coverage. The repository describes itself as: Home Assistant integration for managing Z-Wave enabled locks. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d94ffb2. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pytestgitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Patch Coverage loads about 1.1k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 387 words of instructions outside code blocks.
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.
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.
The full file from FutureTense/keymaster at commit d94ffb2, republished under its MIT licence (© FutureTense). 387 words, ~1,130 tokens.
.claude/skills/patch-coverage/SKILL.md (or your agent's skills folder).This skill provides step-by-step instructions for ensuring every change or bugfix introduced in Keymaster achieves thorough patch test coverage (exercising all modified/added lines) and satisfies repository quality gates.
Patch Coverage & Quality Gates:
pyproject.toml ([tool.coverage.report] fail_under = 80).Branch & Edge Case Completeness:
True, result objects) and failure branches (False,
None, exceptions)._node_id fallbacks when _node is
None, disconnected clients, missing entities).caplog fixture to
verify diagnostic log statements fire when intended.Check your current git diff against the base branch (upstream/main or main):
git diff upstream/main...HEAD --stat
git diff upstream/main...HEAD custom_components/When running targeted tests on a single file or module, override addopts and
pass --cov-fail-under=0 so pytest scopes the terminal table to the target
module without failing on the global 80% project threshold:
# Example for provider modifications:
pytest tests/providers/test_<provider>.py \
-o addopts="-m 'not slow and not perf'" \
--cov=custom_components.keymaster.providers.<provider> \
--cov-report=term-missing \
--cov-fail-under=0
# Example for coordinator modifications:
pytest tests/test_coordinator.py \
-o addopts="-m 'not slow and not perf'" \
--cov=custom_components.keymaster.coordinator \
--cov-report=term-missing \
--cov-fail-under=0Inspect the Missing column in the terminal output to confirm that no
newly added or edited line numbers in your diff are left uncovered.
if not self._node: return None/False:test_<method>_no_node asserting None or False when
provider._node = None.except Exception as e: _LOGGER.warning(...):side_effect=RuntimeError("test") and
assert caplog.text.node.node_id if node else self._node_id:node is None not reached.get_node_id() returns self._node_id
when _node is None.False.caplogWhen testing diagnostic logging (especially DEBUG or WARNING messages),
ensure caplog.set_level is set appropriately. Note that provider-specific
fixtures (such as zwave_provider and mock_zwave_node) are defined within
their respective test modules (e.g. tests/providers/test_zwave_js.py):
import logging
from zwave_js_server.const import NodeStatus
async def test_operation_skips_when_node_dead(zwave_provider, mock_zwave_node, caplog):
"""Test operation logs debug message and returns False when node is dead."""
caplog.set_level(logging.DEBUG)
mock_zwave_node.status = NodeStatus.DEAD
zwave_provider._node = mock_zwave_node
result = await zwave_provider.async_clear_usercode(1)
assert result is False
assert "[ZWaveJSProvider] Node 14 is dead, skipping command" in caplog.textRun the entire suite to verify overall coverage threshold and cross-module compatibility:
pytest --cov=custom_components/keymaster --cov-report=term-missingOr run via tox:
tox -e py314© FutureTense, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/patch-coverage of FutureTense/keymaster.
Open the folder on GitHubat commit d94ffb2
Patch 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Patch Coverage this skillFutureTense/keymaster | 349 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Requirementsrizsotto/Bear | 6.5k | — | ~2k | Automated safety check: Pass | GPL-3.0 | |
| Crap Analysisardalis/RiverBooks | 135 | 2 repos | ~3.4k | Automated safety check: Pass | None | |
| Code Coverages3s-project/s3s | 311 | — | ~789 | Automated safety check: Pass | Apache-2.0 | |
| Project Statusbactopia/bactopia | 522 | — | ~787 | Automated safety check: Pass | MIT | |
| Check Coverageldayton/Dippy | 243 | — | ~403 | Automated safety check: Pass | MIT |
rizsotto/Bear
Write, modify, or review a requirement file under docs/requirements -- pick the single owning file, keep the text contract-only, name IDs so they need no explanation, and verify cross-references and…
ardalis/RiverBooks
Analyze code coverage and CRAP (Change Risk Anti-Patterns) scores to identify high-risk code.
s3s-project/s3s
Measure and grow the line coverage of the s3s crate. An agent skill from s3s-project/s3s.
bactopia/bactopia
Show a live snapshot of the Bactopia project state — component counts, GroovyDoc coverage, nf-test coverage, and structural issues.
ldayton/Dippy
Ensure comprehensive test coverage for a CLI handler. An agent skill from ldayton/Dippy.
kajisho5/ffmpeg-skill
Add and review preconditions on operations that delete, overwrite, rewrite history, or resolve a caller-supplied name to a filesystem path — refusing instead of warning, placing the guard ahead of…
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.
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.
FutureTense/keymaster
Guide for developing, testing, and maintaining lock platform providers (e.g., zwavejs, zigbee2mqtt, zha, schlage, akuvox) implementing BaseLockProvider in Keymaster.
FutureTense/keymaster
Procedure for preparing and submitting pull requests in keymaster, enforcing the required PR template (.github/PULLREQUESTTEMPLATE.md), checklist validation, and quality gates.
FutureTense/keymaster
Workflows for developing, building, bundling, and testing the TypeScript / Lit Lovelace dashboard strategy in lovelacestrategy/.
FutureTense/keymaster
Architectural patterns and lifecycle instructions for KeymasterCoordinator, KeymasterLockCoordinator, fan-out notification architecture, child entity platforms, and storage migrations.
Categories
Procedure and guidelines for verifying and maintaining 100% patch test coverage on all modified and added lines across Keymaster PRs and branches. Patch Coverage is an agent skill from FutureTense/keymaster. Procedure and guidelines for verifying and maintaining 100% patch test coverage on all modified and added lines across Keymaster PRs and branches.
Patch Coverage fits situations like: tasks that involve Test coverage.
Run `npx skills add FutureTense/keymaster --skill patch-coverage -a claude-code`. Or copy the skill folder (.agents/skills/patch-coverage in FutureTense/keymaster) into .claude/skills/patch-coverage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FutureTense/keymaster --skill patch-coverage -a codex`. Or copy the skill folder (.agents/skills/patch-coverage in FutureTense/keymaster) into .agents/skills/patch-coverage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FutureTense/keymaster --skill patch-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/patch-coverage, .gemini/skills/patch-coverage, .github/skills/patch-coverage and .opencode/skills/patch-coverage in your project.
Going by SKILL.md and its folder, Patch Coverage needs the command-line tools its instructions call (pytest and git). Our summary lists: Python 3.
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.
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.
Patch Coverage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Patch Coverage: Requirements (rizsotto/Bear, 6.5k stars), Crap Analysis (ardalis/RiverBooks, 135 stars), Code Coverage (s3s-project/s3s, 311 stars) and Project Status (bactopia/bactopia, 522 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 7, 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.