Content
85%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-structured workflow skill: lean sections, concrete naming conventions, fixtures, a coverage matrix with gap justification, and an anti-patterns checklist, with the scenario catalog and code skeletons correctly pushed to real, substantive reference files. The main weaknesses are the pytest-only skeleton and minor duplication between the 'How to use' list, the Step sections, and the closing References list.
Suggestions
Add at least one non-pytest skeleton (e.g., Jest or Go) to references/test-skeleton-examples.md, or state explicitly that other stacks should translate the pytest skeleton's fixture-to-assertion mapping, so the framework table's non-Python rows have executable backing.
Remove the bottom References section's re-listing of the three bundle files already linked inline in Steps 1-4, or drop the 'How to use' step list in favor of the Step sections, to eliminate the duplicated navigation.
Consolidate the two 'cross-tenant-data-leak-tests' rows in the Differentiation table into a single row so the sibling skill is not listed twice.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient with actionable tables (fixtures, framework selection, anti-patterns) and a compact worked example, but there is duplication that could be trimmed: the bottom 'References' section re-lists the three bundle files already linked inline in Steps 1-4, the 'How to use' list restates the Step sections, and the Differentiation table gives 'cross-tenant-data-leak-tests' two rows. Not 3 because no section explains concepts Claude already knows; the excess is minor redundancy, not padding. | 4 / 5 |
Actionability | Concrete guidance throughout: the 'test_<surface>_<scenario>_<expected>()' convention with seven example test names, a fixtures table with purposes, a framework selection table, an explicit coverage matrix, and a worked example with a real assertion ('TenantQuota.objects.filter(tenant=new_tenant).count() == 1'). Not 5 because only pytest has a concrete skeleton (in references/test-skeleton-examples.md); Jest/JUnit/Go/RSpec stacks get a table row but no emitted example, leaving a minor gap for non-Python stacks. | 4 / 5 |
Workflow Clarity | A clearly sequenced five-step workflow (map surfaces, enumerate scenarios, generate cases, emit skeleton, build matrix) with explicit validation: 'treat every empty cell as a gap to justify or schedule', 'Run the suite as a non-privileged app role (not a superuser)... then cross-check the Anti-patterns table', where the anti-patterns table supplies error-recovery fixes. The matrix and anti-patterns table function as checklists, matching the anchor-5 pattern. | 5 / 5 |
Progressive Disclosure | The body is a well-sectioned overview (overview, differentiation, workflow steps, anti-patterns, worked example) that keeps detail in three clearly signaled, one-level-deep reference files, all of which exist and are substantive (verified against the bundle). Navigation is easy: each Step section states what its reference contains, and links are inline at the point of use. | 5 / 5 |
Total | 18 / 20 Passed |