Automated summary
An adversarial QA skill that actually writes and runs tests to verify finished work, backing every claim with test or command output rather than opinion.
Strengths
- Runs the existing test suite first and requires pasting the real output, treating regressions as priority one
- Maps each acceptance criterion to an existing test in a COVERED/GAP coverage table
- Writes real adversarial test code for nil/empty inputs, boundary values, missing state and repeated calls instead of describing them
- Explicitly forbids fabricated results and implementation fixes, keeping diagnosis separate from the implementer's job
Limitations
- The test command is hardcoded to ~/bin/eldev etest, so it targets an Emacs Lisp project managed by Eldev
- Assumes requirements and design docs live in docs/plans/
- Does not fix anything: it reports failures with reproduction, expected and actual results
Use it right after finishing a feature or chunk of work, to confirm acceptance-criteria coverage and try to break the code with edge cases.
Avoid it on a non-Emacs Lisp codebase without adapting the test command, or when you want the code fixed rather than an evidence-based report of what fails.
Security analysis
CautionThe skill is a legitimate QA workflow and does not contain destructive, exfiltrating, or obfuscated instructions. However, it does instruct an agent to execute local test commands and write files in the repository, which are powerful actions requiring normal caution.
- •Runs local command `~/bin/eldev etest -r dot` without declared allowed-tools; this executes project test code and any eldev hooks.
- •Writes new test files into the repository, modifying the working tree without an explicit confirmation step.
- •Encourages adversarial tests that execute code and may trigger side effects in the project environment.
Examples
Implementation of focus mode is done. Run /qa on it: read the requirements in docs/plans/, run the full test suite, and check acceptance criteria coverage.Use /qa to write adversarial tests for the calendar-visibility functions — nil args, empty lists, killed buffers mid-operation, and double calls — then run them and show the output./qa: audit the acceptance criteria for the sync feature against existing tests, write the missing tests for any gap, and report PASS/FAIL with actual eldev output.name: qa description: Use when implementation is complete and you want to verify quality through adversarial testing that writes code and provides evidence
/qa — Adversarial Testing
Overview
QA writes tests and runs them. It provides evidence, not opinions. Every claim is backed by a test or command output.
Core principle: Your job is to break things. Write code. Run it. Show evidence.
When to Use
- Implementation is complete (or a chunk of work needs verification)
- You want to check acceptance criteria coverage
- You want adversarial edge-case testing
The Process
1. Find Context
Look for requirements and design docs in docs/plans/. Read both to understand what was built and what was promised.
2. Run the Existing Test Suite
~/bin/eldev etest -r dot
Actually run it. Report exact output: how many tests, how many pass, how many fail. If any fail, report them immediately — existing regressions are priority one.
3. Check Acceptance Criteria Coverage
Read acceptance criteria from the requirements doc. For each criterion:
- Search for a test that exercises it (
Grepfor keywords) - Read the test — does it actually test what the criterion says?
- Report: covered or gap
| Criterion | Test | Status |
|-----------|------|--------|
| User can activate focus mode | focus-test.el:42 | COVERED |
| Calendar items always visible | (none found) | GAP |
4. Write Missing Tests
For each gap, write the test. Follow existing patterns in the codebase.
Run it. Report whether it passes or fails.
5. Write Adversarial Tests
Actively try to break things. Write actual test code, don't just describe it.
Target areas:
- Nil/empty inputs: What happens with nil arguments, empty strings, empty lists?
- Boundary values: 0, 1, max, min
- Missing state: Required properties absent, buffers killed mid-operation
- Invalid inputs: Wrong types, malformed data
- Repeated calls: What if the function is called twice in a row?
6. Run Everything and Report
~/bin/eldev etest -r dot
Report with evidence — actual test output, not fabricated numbers:
## QA Report
**Test Suite**: [paste actual eldev output]
### Acceptance Criteria Coverage
| Criterion | Test | Status |
|-----------|------|--------|
| ... | ... | ... |
### Tests Written
- [test name]: tests [what] — [PASS/FAIL]
### Failures Found
- [test name]: [what failed]
- **Reproduction**: [exact command or test invocation]
- **Expected**: [what should happen]
- **Actual**: [what happened]
Common Mistakes
| Mistake | Fix |
|---------|-----|
| Describing tests without writing code | WRITE the test. Create the file. Run it. |
| Fabricating test results | RUN the tests. Paste actual output. |
| Reporting opinions instead of evidence | Every claim needs a test or command output. |
| Suggesting implementation fixes | Report problems with evidence. Fixing is the implementer's job. |
| Categorizing tests instead of running them | Less taxonomy, more eldev etest. |
| Skipping the existing test suite | ALWAYS run the full suite first. Regressions are priority one. |
| Not checking requirements doc | Cross-reference acceptance criteria. That's what "done" means. |
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/adversarial-testing-qa-mrwak8kp/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/adversarial-testing-qa-mrwak8kp' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/adversarial-testing-qa-mrwak8kp/download' --output '.skill-downloads/adversarial-testing-qa-mrwak8kp/SKILL.md.part' && mv '.skill-downloads/adversarial-testing-qa-mrwak8kp/SKILL.md.part' '.skill-downloads/adversarial-testing-qa-mrwak8kp/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/adversarial-testing-qa-mrwak8kp/SKILL.md' && test -s '.skill-downloads/adversarial-testing-qa-mrwak8kp/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qa' && cp -R '.skill-downloads/adversarial-testing-qa-mrwak8kp' '.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/adversarial-testing-qa-mrwak8kp'openskills read 'adversarial-testing-qa-mrwak8kp'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/adversarial-testing-qa-mrwak8kp/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.