gate-tests

gate-tests is a skill for Claude Code from Obsidian-Owl/specwright. It costs 39 tokens per session (1,054 once invoked), scanned A, original, MIT.

A test-quality review that examines whether a test suite can catch real bugs, not merely whether its tests pass.

In plain words
What is it for?
It reviews relevant tests for specific assertions, boundary and error coverage, mock discipline, and other weaknesses, using adversarial analysis when needed.
Why use it?
Passing tests can create false confidence when assertions are vague, edge cases are missing, or mocks hide the behavior under test.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit It reviews relevant tests for specific assertions, boundary and error coverage, mock discipline, and other weaknesses, using adversarial analysis when needed.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/obsidian-owl/specwright/gate-tests
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Obsidian-Owl/specwright --skill gate-tests
Clone the repo
git clone --depth 1 https://github.com/Obsidian-Owl/specwright

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for gate-tests

README.md
[![agentmods](https://agentmods.dev/badge/skills/obsidian-owl/specwright/gate-tests/github.svg)](https://agentmods.dev/skills/obsidian-owl/specwright/gate-tests)
Your own site
<a href="https://agentmods.dev/skills/obsidian-owl/specwright/gate-tests"><img src="https://agentmods.dev/badge/skills/obsidian-owl/specwright/gate-tests/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for gate-tests

Your own site · 80×15
<a href="https://agentmods.dev/skills/obsidian-owl/specwright/gate-tests"><img src="https://agentmods.dev/badge/skills/obsidian-owl/specwright/gate-tests.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 39 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,054 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00039 $0.01054
Opus 5.5 $0.00016 $0.00422
Sonnet 5.5 $0.00008 $0.00211
Haiku 4.5 $0.00004 $0.00105

Measured 1mo ago against content hash 7f73eacaf171, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

gate-tests scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

core/skills/gate-tests/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Gate: Test Quality

Goal

Ensure tests are actually worth having. Passing tests that don't catch bugs are worse than no tests — they create false confidence. This gate audits test quality, not just pass/fail.

Inputs

  • {projectArtifactsRoot}/config.json -- test commands, project language
  • {projectArtifactsRoot}/TESTING.md -- testing strategy with boundary classifications (optional)
  • {repoStateRoot}/work/{selectedWork.id}/workflow.json -- selected work unit
  • Test files in the codebase

Outputs

  • Evidence file at {workDir}/evidence/test-quality.md
  • Gate status in the selected work's workflow.json
  • Findings organized by category with specific file:line references

Constraints

Scope (MEDIUM freedom):

  • Focus on test files related to the current work unit.
  • Identify test files via convention (test/, tests/, .test., .spec.).

Analysis (HIGH freedom):

  • Delegate to specwright-tester agent for adversarial test quality review.
  • The tester evaluates against these quality dimensions:
    • Assertion strength: Are assertions specific? (toBe(42) vs toBeDefined())
    • Boundary coverage: Are edge cases tested? (empty, null, max, negative)
    • Mock discipline: Are mocks justified? Are integration boundaries real?
    • Error paths: Are failure scenarios tested? (network down, invalid input)
    • Behavior focus: Do tests verify behavior or implementation details?
    • Mutation resistance: Tiered analysis (T1/T2/T3) stays inside this gate; missing tools route to T2/T3, never a silent skip.
      • T1: configured tool-backed mutation run. Report concrete file:line evidence plus mutation score or restricted survivor details when available: operator, location, before/after, defect category, and action.
      • T2: LLM-generated mutation check when zero applicable mutants make T1 uninformative or when the configured LLM fallback is the active path. Report concrete file:line evidence plus the same restricted survivor details: operator, location, before/after, defect category, and action.
      • T3: qualitative floor when T1 errors, T2 errors, or fallback unavailable would otherwise leave the gate blind. Audit the three bypass classes: hardcoded returns, partial implementations, boundary skips.
      • Honor accepted-mutant lineage through the shared approval record and config contract instead of silently waiving survivors.
    • Boundary test approach: Validate mock-vs-integration decisions against TESTING.md boundary classifications per protocols/testing-strategy.md. WARN if internal boundary is mocked. INFO if TESTING.md absent.
    • Tier distribution: For each AC tagged with [tier: integration], [tier: contract], or [tier: e2e], check whether corresponding tests exist at that tier. Use heuristics: integration tests touch multiple modules and use real infrastructure (Testcontainers, real DB, httptest with real handler); contract tests validate schema or shape at a boundary; E2E tests exercise a full flow. Verdicts: non-unit ACs with matching tier tests that pass → PASS. Non-unit ACs with tier-appropriate tests that fail → BLOCK (forces user decision at gate). Non-unit ACs with only unit-tier tests → BLOCK. Zero non-unit ACs in spec → PASS (nothing to check). When no tier-tagged ACs exist and TESTING.md is absent → INFO (no data to validate, no false positives).
  • Each weakness is a finding with severity and file:line reference.

Read the full file on GitHub · 81 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 81 lines · 39 tokens per session scan A 7f73eacaf171

Subscribe to this mod's changes

gate-tests is a skill published in the GitHub repository Obsidian-Owl/specwright (10 stars, last pushed 5mo ago), licensed MIT. It adds 39 tokens to every session and 1,054 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

integration-e2e-testing

Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria. Use when designing integration tests, E2E tests, or reviewing test quality.

shinpr/claude-code-workflows · 42 tokens

brooks-sweep

Full-sweep mode: runs a unified analysis across all quality dimensions — code decay, architecture, tech debt, and test quality — then applies fixes directly to the codebase. Safe changes are auto-applied; risky changes are confirmed before execution. Drawing on twelve classic engineering books. Triggers when: user…

hyhmrright/brooks-lint · 178 tokens

brooks-health

Combined codebase health dashboard that scores a project across all four quality dimensions — PR quality, architecture, tech debt, and test quality — in a single pass, drawing on twelve classic engineering books. Triggers when: user wants an overall quality assessment, asks "how healthy is this codebase?", "run all…

hyhmrright/brooks-lint · 156 tokens

brooks-test

Test quality review drawing on twelve classic engineering books — with primary focus on xUnit Test Patterns, The Art of Unit Testing, How Google Tests Software, and Working Effectively with Legacy Code — that diagnoses structural problems in an existing test suite: brittleness, mock abuse, coverage illusions, slow…

hyhmrright/brooks-lint · 161 tokens

recipe-add-integration-tests

Add integration/E2E tests to existing codebase using Design Docs.

shinpr/claude-code-workflows · 19 tokens

testing-principles

Language-agnostic testing principles for choosing which tests a change needs, test quality, and proof ownership, with frontend and browser E2E implementation references. Use when writing tests, deciding test scope, or reviewing test quality.

shinpr/claude-code-workflows · 50 tokens