用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/liza-mas/liza --skill black-box-red-testing命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Operate a running §BRAND_NAME_TITLE§ multi-agent run from outside the agent pool: keep the orchestrator healthy, review checkpoints, recover stalls, wire agent environments, plan the next run, and escalate to the human only at genuine forks. Use when operating/babysitting a §BRAND_NAME_TITLE§ run (interactive `§BRAND_BINARY_NAME§ tui` or a headless watch loop), not when authoring the work yourself.
Pre-commit Clean Code refactoring
Produce legacy PRD-format SMARC specifications. Use only when the user or assigned task explicitly names detailed-spec-writing; never infer activation from requests to write an objective, goal, requirements, specification, plan, or PRD.
基于 SOC 职业分类
正在显示 SKILL.md
| name | black-box-red-testing |
| description | Black-Box Red Testing — red tests that expose real bugs |
Write tests that catch, not tests that pass.
Produce tests that fail against real bugs. A good test is one that exposes a bug the codebase actually has (row 2 of the Test Truth Table in the Testing skill).
The agent needs bug hypotheses, not buggy code. The skill never modifies the codebase — it only writes tests.
If you have specific targets (changed files, low-coverage functions) or need classified findings, use the white-box-red-testing skill instead.
Target scope: A module, package, or file set to test adversarially.
If the target scope is large (many packages, broad module), narrow before starting. Adversarial testing is deep, not wide — pick the riskiest or most complex area first.
Before starting, assess the target:
| Parameter | Default | Description |
|---|---|---|
rounds | 1 | Number of rounds. Each round produces 10 tests. |
10 tests per round. Each round is a structured exploration budget. When running multiple rounds, each is a chance to pivot — if a direction isn't productive, refocus on another part of the code or another kind of bug.
Before hypothesizing, read the target's contracts:
These are inputs to sharper hypotheses, not classification evidence.
Form 10 distinct bug hypotheses for this round. A senior engineer knows the typical bugs — think:
Each hypothesis must be distinct (see Anti-Gaming below).
Hypothesis format (required):
Each hypothesis must be stated as a structured one-liner before writing the test:
[code_path] × [defect_class] → [observable_symptom]
Example output:
Hypotheses:
1. parse_date(empty_string) × missing_guard → uncaught ValueError
2. process_batch(>1000_items) × unbounded_loop → timeout
3. auth_token(expired) × stale_cache → false_positive_auth
4. save_record(unicode_name) × encoding_assumption → corrupted_output
5. concurrent_update(same_id) × race_condition → lost_write
...
This format forces precision. Vague hypotheses ("some edge case × something → failure") are immediately visible and must be sharpened before proceeding.
Write one test per hypothesis. Each test should:
Run all 10 tests against the existing codebase.
| Result | Action |
|---|---|
| Red | Keep — the test exposed something. |
| Green | Discard — the code handled this correctly. |
| Error (won't compile, bad setup) | Fix or discard — broken tests aren't adversarial, they're wrong. |
After triage, assess:
Pivot to a new angle for the next round, or continue deepening a productive one.
Pivot between rounds. If a round was unproductive, change angle — different area of the code, different class of bugs. Don't repeat the same approach.
Triage throttle. If a round produces 5+ red tests, pause for the coder to triage before spending the next round. A wall of red tests is noise, not signal.
An all-green round from high-quality hypotheses is a confidence signal, not waste. It means the code handles those cases correctly. This information is valuable — report it as such.
When specs are insufficient or absent, ambiguity becomes the attack surface.
A "compliant" red test that exploits a spec gap is a legitimate find. The agent is gaming for good — the adversarial move becomes a discovery tool that surfaces gaps the spec should have covered.
The skill does not classify whether a red test points to a code bug or a spec gap. The skill finds; the coder diagnoses. This separation mirrors TDD and the programmer/QA role distinction. A red test is a red test.
The contract's general anti-gaming clause applies. Additionally, within this skill:
Within a round, tests must represent distinct bug hypotheses. Ten variations of "nil pointer on empty input" is not ten hypotheses — it's one hypothesis tested ten ways. Vary the kind of bug, not just the input to the same bug.
Distinct means different in at least one of:
The structured hypothesis format makes gaming visible — if multiple lines share the same [code_path] × [defect_class] pattern with only input variations, they must be consolidated into one hypothesis.
Surviving red tests only. Green tests and broken tests are discarded.
Present each surviving red test with:
No hypothesis or classification is attached — the coder owns diagnosis.
If no red tests survive, report the confidence signal: state which areas were tested and what classes of bugs were hypothesized. The structured hypotheses from the round serve as documentation of verified absence.
The skill completes after the configured number of rounds. Early termination is acceptable if:
This skill operates within the Testing skill's constraints:
Tests written by this skill that survive (stay red) become inputs to the normal development workflow. The coder decides whether to fix the bug, update the spec, or accept the behavior.