Skip to content

Commit ec0254d

Browse files
committed
docs: add diagnostic mode to audit-markers skill for troubleshooting skip/resource issues
1 parent 3d80a81 commit ec0254d

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

.agents/skills/audit-markers/SKILL.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,41 @@ marker rules for **mellea**.
3030
- `--apply` — produce report and apply fixes without asking.
3131
- `--dry-run` — report only, do not offer to apply.
3232

33+
Single-file use: skip the triage phase (Step 0) entirely — deep-read the file directly and proceed from Step 1.
34+
35+
## Modes of use
36+
37+
This skill has two modes. Choose based on what the user asked:
38+
39+
### Audit mode (default)
40+
User wants markers classified or fixed — for a new test, an existing file, or a
41+
pre-commit check. Follow the full Audit Procedure (Steps 0–4).
42+
43+
### Diagnostic mode
44+
User wants to know **why** a specific test is not running, is being skipped, or
45+
is consuming unexpected resources. Do NOT produce an audit report. Instead:
46+
47+
1. **Read the test** — identify its markers and any predicate decorators.
48+
2. **Check the default filter** — read `pyproject.toml` `[tool.pytest.ini_options]`
49+
`addopts`. The project default is `-m "not slow"`. If the test has `slow`, it
50+
is excluded from a plain `uv run pytest` run.
51+
3. **Check backend auto-skip** — read `test/conftest.py` `pytest_configure` and
52+
the `pytest_collection_modifyitems` hook. Backend markers (`ollama`, `huggingface`,
53+
etc.) trigger auto-skip when the backend is unavailable. Check whether the
54+
relevant service or credentials are present on the user's machine.
55+
4. **Evaluate predicates** — if the test has a predicate decorator (`require_gpu`,
56+
`require_api_key`, `require_ram`, etc.), read `test/predicates.py` and explain
57+
what condition would cause the skip. For `require_gpu(min_vram_gb=N)`, compare N
58+
against the system's detected VRAM (run `get_system_capabilities()` logic or
59+
check `sysctl hw.memsize` on Apple Silicon / `nvidia-smi` on CUDA).
60+
5. **Report directly** — answer "this test is skipped because X" with the specific
61+
condition, the value it evaluated to, and how to override if appropriate (e.g.
62+
`uv run pytest test/path/test_foo.py` bypasses the `-m "not slow"` default filter).
63+
64+
For resource overload (test consuming too much GPU/RAM): classify the test's
65+
resource gates using the VRAM heuristics in Part 2, compare against what the
66+
test actually loads, and report whether the gate is correctly set or too loose.
67+
3368
## Project References
3469

3570
Read these before auditing — they are the authoritative source for marker conventions:

0 commit comments

Comments
 (0)