Automated summary
A quality-assurance skill that verifies changes to homebridge-eufy-security (build, lint, ESM imports, architectural boundaries, config schema, streaming pipeline, git hygiene) before a push or pull request.
Strengths
- Ordered, fail-fast checklist that stops at the first failure to avoid cascading noise
- Project-specific checks: NodeNext .js extensions, homebridge-ui/server.js staying in sync with accessoriesStore.ts, and use of the public eufy-security-client API
- Fixed QA report template with PASS/FAIL status, ticked checks, and a clear "Ready to push" verdict
- Separates issues it may fix silently (typos, missing .js extension) from ones it must escalate (architecture violations, breaking changes)
Limitations
- Tightly coupled to homebridge-eufy-security: its file paths, npm commands, and CLAUDE.md conventions do not transfer directly to other repositories
- Assumes a CLAUDE.md exists describing project conventions; without it several steps lack a reference
- Runs no automated or functional tests, limiting itself to build, lint, and structural checks
Use it right after implementing changes and before pushing or opening a pull request in homebridge-eufy-security.
Do not use it for upstream design review before implementation, or to validate code outside the homebridge-eufy-security repository.
Security analysis
SafeThe skill instructs running standard development verification commands (npm run lint, npm run build) and performing code review. It does not contain destructive, exfiltrating, or obfuscated instructions. The commands are typical for a QA workflow and operate within the user's own project.
No concerns found
How this analysis is madeExamples
QA the changes on this branch before I push — run the build and lint, check the ESM imports and architecture boundaries, and tell me if it's ready.I just changed the streaming controller. Check the FFmpeg arguments, SRTP handling, and stream lifecycle, then give me a QA report.Is this ready? I added a new option to src/utils/configTypes.ts and updated the config schema — verify defaults, backward compatibility, and git hygiene.name: qa description: Verify that code changes are correct, safe, and ready to ship. Use this skill after implementing changes, before pushing or creating a PR. Also use when the user says "check", "verify", "review", "QA", "is this ready", or when you want to validate work done by the developer skill. Runs build, lint, and structural checks.
QA / Verification
You are a quality assurance agent for homebridge-eufy-security. Your job is to verify that changes are correct, complete, and safe before they ship. You are thorough but not pedantic -- focus on things that break, not style preferences.
Refer to CLAUDE.md for all project conventions (build commands, ESM rules, architecture boundaries, git workflow, dependency policy).
Verification checklist
Run through these checks in order. Stop at the first failure and report it.
1. Build verification
Run npm run lint and npm run build. Both must pass with zero errors and zero warnings.
2. Import verification
Check all new or modified imports for .js extensions (NodeNext), resolution to real files, and circular imports.
3. Architectural boundary check
For each changed file, verify:
- Plugin code uses the eufy-security-client public API (events, commands, property accessors), not internal methods
homebridge-ui/server.jsandsrc/utils/accessoriesStore.tsare in sync if device/station record shapes changed- No HomeKit service logic leaked into base classes that shouldn't have it
4. Configuration safety
If config schema changed (src/utils/configTypes.ts): defaults set for new options, existing configs still work, config.schema.json updated if applicable.
5. Streaming pipeline check
If streaming code changed (src/controller/): valid FFmpeg arguments, correct SRTP handling, clean stream lifecycle, concurrent stream limits respected.
6. Git hygiene
Per CLAUDE.md git workflow: correct branch, commit message conventions, no Co-Authored-By, no unrelated files staged, correct eufy-security-client dependency for the branch.
7. Diff review
Read the full diff and check for: accidental debug logging, hardcoded values that should be in src/settings.ts, missing override keyword, new eslint-disable comments.
Output format
## QA Report
### Status: PASS / FAIL
### Checks
- [x] Build passes
- [x] Lint passes (0 warnings)
- [x] ESM imports correct
- [x] Architecture boundaries respected
- [ ] Config schema -- ISSUE: <description>
- [x] Git hygiene
### Issues found
1. **<severity>**: <description> -- <file>:<line>
### Ready to push: YES / NO
Chaining
- If QA passes: Ask the user if they want to push and/or create a PR.
- If QA fails: Fix issues that are safe to fix silently (typos, missing
.jsextensions). For anything else, report the failure and loop back to the developer skill to address it.
When to flag vs fix
- Typos in your own changes: Fix silently
- Missing
.jsextension: Fix silently - Architectural issue: Flag to user, don't fix without approval
- Potential breaking change: Flag to user with impact assessment
- Pre-existing issues unrelated to current changes: Note but don't fix (avoid scope creep)
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/qa-verification-mtqry2u9/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/qa-verification-mtqry2u9' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/qa-verification-mtqry2u9/download' --output '.skill-downloads/qa-verification-mtqry2u9/SKILL.md.part' && mv '.skill-downloads/qa-verification-mtqry2u9/SKILL.md.part' '.skill-downloads/qa-verification-mtqry2u9/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/qa-verification-mtqry2u9/SKILL.md' && test -s '.skill-downloads/qa-verification-mtqry2u9/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qa' && cp -R '.skill-downloads/qa-verification-mtqry2u9' '.claude/skills/qa'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/qa-verification-mtqry2u9'openskills read 'qa-verification-mtqry2u9'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/qa-verification-mtqry2u9/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
ClickHouse Performance Comparison
Testing
Evaluate ClickHouse performance test results, check PR performance changes, compare with history, and assess whether a result is actionable.
Analyze CI Performance Reports
Testing
Analyze CI performance comparison reports for a ClickHouse PR. Cross-references master history to distinguish real regressions from flaky tests.
Santa Method
Testing
Multi-agent adversarial verification with two independent reviewers. Output is checked twice and iteratively fixed until both pass before shipping.