Test advisory format
The Test Advisory output format used by all tester specialists (tester-coverage, tester-artisan, tester-architect) and understood by the Lead for synthesis. Defines sections, severity tags, dual verdict, and the specification template. Loaded whenever a task produces or consumes a Test Advisory.From its SKILL.md
npx -y skills add rexeus/agentic --skill test-advisory-formatAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.0 KB, as published. Nobody here has run it
Test Advisory Format
All tester specialists produce output in this exact format. The Lead merges specialist advisories into a single master advisory of the same shape.
Top-Level Structure
## Test Advisory: <target> — <your specialization>
**Execution:** PASS | FAIL | N/A
**Quality:** CLEAN | CONCERNS | BLOCKING
**Lens:** coverage | craft | testability
### Test Suite Status
### Existing Test Audit
### Test Specifications
### Failures in Existing Tests
### Characterization Tests Needed
### Trade-offs and Design Concerns
### Summary for Developer
Sections not applicable are stated as "N/A" with a one-line reason, never silently omitted.
Verdict Rules
Two independent dimensions.
Execution
- All existing tests for the affected code green: PASS
- Any existing test red: FAIL
- No tests exist for the affected code: N/A
Quality
- New specifications clean, existing tests follow principles, no anti-patterns: CLEAN
- Specifications are sound, but existing tests have Advisory-level issues, or minor trade-offs were accepted with reasoning: CONCERNS
- Code is structurally untestable without violating principles, or existing tests have Blocking violations that block further work: BLOCKING
A BLOCKING Quality with PASS Execution is a valid and important combination: the tests happen to work, but the foundation is unsound. This is the signal to send the developer back to design.
Section Templates
Test Suite Status
- Tests run: X passed, Y failed
- Affected modules with existing test files: <list>
- Affected modules without existing test files: <list>
Existing Test Audit
One block per concerning test, or No concerns found. when clean.
[Severity] `<file>:<line>` (`<test name>`)
Principle violated: <name>
Evidence: <one-line summary of the problematic pattern>
Recommendation: <rewrite | split | delete | refactor to fake>
Severity is Blocking (must be addressed before merge) or Advisory
(should be addressed, does not block).
When the finding concerns a pre-existing test (not introduced by the
current diff) and severity is Blocking, append [pre-existing] to
the file:line reference:
[Blocking] `<file>:<line> [pre-existing]` (`<test name>`)
Advisory-level pre-existing issues are out of scope — see testing-core
for the full rule.
Test Specifications
One block per test the developer should add.
**Behavior:** <what is being verified>
**Scope:** unit | integration | edge | regression | characterization
**Setup:** <what to arrange; name the fake or fixture to use>
**Action:** <what to invoke>
**Assertion:** <what to verify>
**Notes:** <principle reminders; e.g., "use in-memory fake, not mock">
Each field is a single line or short list. Specifications dense enough to implement mechanically.
Failures in Existing Tests
One block per failure, or omit section if none.
[FAIL] `<file>` (`<test name>`)
Location: `<path>:<line>`
Expected: <...>
Got: <...>
Likely cause: bug in source | bug in test | flaky
Characterization Tests Needed
For legacy code under modification without existing tests.
**Target:** <function or module>
**Rationale:** <why characterization is needed>
**Observed behavior:** <input-output pairs documented from source
inspection or live probing at HEAD>
**Marking:** Developer groups these under
`describe("characterization: current behavior, not verified as correct")`
and suffixes each test name with `(characterization)`.
Trade-offs and Design Concerns
Free-form. Concerns that suggest the code itself, not the tests, is the problem. These are forwarded to reviewer and developer; never swallowed.
Summary for Developer
One short paragraph. Priority order of what to implement first.
Severity Tagging
Every finding carries exactly one severity:
-
Blocking. Must be addressed before the change merges. Either directly harmful (flaky test, green test that does not actually verify the claim, anti-pattern that will mislead future readers) or structurally load-bearing (coupling problem that will force future tests to break the principles).
-
Advisory. Should be addressed, does not block. Improvements that raise quality but whose absence does not make the change unsafe.
Findings without severity are invalid output.
Synthesis (for the Lead)
When multiple specialists produce advisories for the same change, the Lead synthesizes into a single master advisory using the same top-level template, with one header addition:
## Master Test Advisory: <target>
**Execution:** PASS | FAIL | N/A
**Quality:** CLEAN | CONCERNS | BLOCKING
**Synthesized from:**
- tester-coverage (<quality verdict>)
- tester-artisan (<quality verdict>)
- tester-architect (<quality verdict>)
Rules:
- Execution verdict: identical across all specialists (same test run); take any. Disagreement signals an execution error; re-dispatch.
- Quality verdict: worst-of-all wins. One BLOCKING makes the master BLOCKING.
- Test Suite Status: identical; take any.
- Existing Test Audit: primarily from tester-artisan. Augment with
coupling-rooted findings from tester-architect (cite architectural
cause) and coverage-rooted findings from tester-coverage (tests claiming
to verify a behavior they do not actually verify). Deduplicate by
file:line; when multiple specialists find the same test, merge into one entry with the combined principle list. - Test Specifications: primarily from tester-coverage. Union with any specs from the others that introduce a distinct behavior. Deduplicate by behavior; when two specialists specify the same behavior with different setup, prefer the specification that uses a fake over one that uses a mock; among fakes, prefer the simpler setup.
- Failures in Existing Tests: identical; take any.
- Characterization Tests Needed: union, deduplicated by target.
- Trade-offs and Design Concerns: primarily from tester-architect. Include design-level findings from tester-coverage (gaps that exist because code is untestable) and artisan (unreadability whose root is architectural). Each concern names its author specialist inline.
- Summary for Developer: the Lead writes this fresh, integrating
priorities across all three advisories in this order:
- Regression tests (always first).
- Design refactors if Quality is BLOCKING.
- High-severity existing test rewrites.
- New behavioral specifications in priority order.
- Craft polish and minor refactors.
When Quality is BLOCKING, the master advisory is primarily a referral back to design; test specifications from tester-coverage may be deferred until the design is resolved. The Lead states this explicitly in the Summary for Developer.