pre-commit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pre-commit (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Run all checks, fix any issues found, then present a summary table.
Run the following checks if there are changes in the tapo/, tapo-py/, or tapo-mcp/ directories. Fix all issues found. Run independent checks (cargo check, cargo clippy, cargo fmt, cargo test) in parallel. Unless otherwise specified, run checks at the workspace level (no -p flags) with --all-features to ensure cross-crate issues are caught. Link-free checks (check, clippy) take --workspace so they cover tapo-py too; cargo test must NOT — it links test binaries and examples, which fails with tapo-py's pyo3/extension-module, so it relies on default-members excluding tapo-py.
cargo check --workspace --all-featurescargo clippy --workspace --all-featurescargo fmt --allcargo test --all-featurescargo clean --doc && RUSTDOCFLAGS="-D warnings" cargo doc -p tapo --no-deps --all-featuresunwrap() in non-test code without a // safe: commentunsafe in non-test code without a // SAFETY: commentuse (max one level of {} nesting)Run the following checks if there are changes in the tapo/ or tapo-py/ directories. Fix all issues found.
.pyi stubs if Python-exposed Rust types changed#[pyclass] types are imported and registered in tapo-py/src/lib.rstapo-py/examples/ are updated to match corresponding Rust examples in tapo/examples/cd tapo-py and activate the virtual environmentuv run mypy . — fix all type errorsuv run black . — fix all formatting issuesRun the following checks if there are changes in the tapo-mcp/ directory. Fix all issues found.
#[derive(JsonSchema)] types have schemars annotations — including tool input params, response types, enums, and their fields/variants. Check for descriptions and range constraints where applicable.tapo-mcp/README.md reflects any MCP API changes (tools, resources, capabilities, env vars, auth)tapo-mcp/openclaw-skill/SKILL.md — frontmatter (description, version, requires), Setup, Tools section with example npx mcporter call invocationstapo-mcp/openclaw-skill/references/setup.md — verification table (tool, description, parameters)tapo-mcp/openclaw-skill/references/tapo-mcp-setup.md — Tools table, Resources table, Configuration env vars, Authentication, Deployment (kept in sync with tapo-mcp/README.md)tapo-mcp/src/server.rs with_instructions(...) (e.g. "plugs, lights, power strips, hubs and their child sensors, cameras")tapo-mcp/openclaw-skill/SKILL.md frontmatter description: (e.g. (lights, plugs, power strips, hubs and sensors, cameras))Run the following checks if there are changes in the tapo/ or tapo-py/ directories. Fix all issues found.
SUPPORTED_DEVICES.md is up to date: add, remove, or regroup rows/columns when a handler's public method list changed, a device model was added/removed, or a method's #[cfg(feature = "debug")] gating changedAfter fixing all issues found in the checks, review the code changes for correctness, readability, and maintainability and propose improvements. Summarize the findings according to severity.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.