kata: Skill for Claude Code

.claude/skills/testing-without-tautologies/SKILL.md

testing-without-tautologies is a skill for Claude Code from kenn-io/kata. It costs 53 tokens per session (2,061 once invoked), scanned A, original, MIT.

A testing practice for writing tests that can detect real production mistakes. It applies to unit, integration, end-to-end, command-line, and interface tests.

In plain words
What is it for?
Designing or reviewing tests, choosing user-visible behavior to verify, writing concrete expected results, and checking that each test covers a specific possible defect.
Why use it?
It prevents tests that pass but would not fail when the behavior they are meant to protect breaks.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is kenn-io/kata's own configuration. It tells Claude Code how to work on kata itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything kata configures →

Reuse

Borrowing it

Nothing to install: this file belongs to kenn-io/kata. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/kenn-io/kata/main/.claude/skills/testing-without-tautologies/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/kenn-io/kata

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 testing-without-tautologies

README.md
[![agentmods](https://agentmods.dev/badge/skills/kenn-io/kata/testing-without-tautologies.svg)](https://agentmods.dev/skills/kenn-io/kata/testing-without-tautologies)
Your own site
<a href="https://agentmods.dev/skills/kenn-io/kata/testing-without-tautologies"><img src="https://agentmods.dev/badge/skills/kenn-io/kata/testing-without-tautologies.svg" alt="Measured on agentmods" height="20"></a>
Per session 53 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,061 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.00053 $0.02061
Opus 5 $0.00026 $0.01030
Sonnet 5 $0.00011 $0.00412
Haiku 4.5 $0.00005 $0.00206

Measured 7d ago against content hash 4b205fa223fc, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

testing-without-tautologies 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 7d 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.

.claude/skills/testing-without-tautologies/SKILL.md · 125 lines

How it starts

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

Testing Without Tautologies

Core Idea

Tests should fail when protected behavior breaks. A passing test helps only if it can catch a real problem.

Before writing or changing a test, ask: "What production change should make this test fail?" If you cannot answer, redesign the test.

This pairs with the repo's Test First rule: the failing test you write before the implementation must fail because the behavior is missing, not because of a typo or an assertion on scaffolding. Watch it fail for the right reason.

Quality Gate

Before writing the test body, answer these:

  • Who uses this? Prefer the HTTP API contract, CLI output and exit codes, persisted DB state, emitted events, rendered TUI, or caller-visible results. Avoid private state.
  • What example proves it? Use concrete inputs and literal expected outputs. Do not compute expected values with production logic.
  • What break would this catch? Name the wrong branch, missing side effect, wrong argument, boundary case, or contract violation.
  • Do we own it? Test our choices at framework, SDK, database, and service boundaries. Do not re-test documented dependency mechanics.
  • Can you state it? Given this setup, when the user/system does X, then Y observable behavior changes. If Y is not assertable, the test is not ready.

Required Checks

Apply these checks to every new or modified test:

  1. Assert observable effects

    • Check returned values, persisted rows, HTTP response bodies and status codes, emitted events (/events NDJSON), CLI stdout/stderr/exit codes, rendered TUI output, errors, or auth outcomes.
    • A no-assertion test is acceptable only when the failure mode is the subject, such as "this constructor rejects invalid input." Prefer explicit assertions anyway.
  2. Prefer real collaborators over doubles

    • This repo is built for it: internal/testenv.New(t) boots a real daemon over loopback TCP with a real SQLite store; internal/testfix provides real git repos and .kata.toml fixtures. Use them instead of hand-rolled fakes of the storage or daemon layers.
    • Reserve fakes for genuinely external boundaries (a remote hub, GitHub, an embedding provider) and for the TUI's client seam.

Read the full file on GitHub · 125 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. 7d ago First seen · 125 lines · 53 tokens per session scan A 4b205fa223fc

Subscribe to this mod's changes

testing-without-tautologies is a skill published in the GitHub repository kenn-io/kata (415 stars, last pushed yesterday), licensed MIT. It adds 53 tokens to every session and 2,061 once invoked, about $0.0003 per session on Opus 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-30.

Related

Other skills, from other repositories

axiom-testing

Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers unit tests, UI tests, async testing, test architecture.

CharlesWiltgen/Axiom · 38 tokens

designing-tests

Designs and implements testing strategies for any codebase. Use when adding tests, improving coverage, setting up testing infrastructure, debugging test failures, or when asked about unit tests, integration tests, or E2E testing.

CloudAI-X/claude-workflow-v2 · 48 tokens

test-automation

Execute Vitest and Playwright test suites with result collection and failure analysis.

a5c-ai/babysitter · 0 tokens

testing-blocks

Use this when you have made AEM Edge Delivery Services code changes to blocks, scripts, or styles and need to validate them before opening a pull request. Covers unit testing for utilities and logic, browser testing with Playwright, linting, and guidance on what to test and how.

adobe/skills · 61 tokens

prd-auto-test-loop

A testing workflow driven by a product requirements document (PRD), which describes what a software version should do. It turns acceptance criteria into unit, integration, and end-to-end tests, then records the plan and results.

yunshu0909/yunshu_skillshub · 79 tokens

test-automation-expert

Comprehensive test automation specialist covering unit, integration, and E2E testing strategies. Expert in Jest, Vitest, Playwright, Cypress, pytest, and modern testing frameworks. Guides test pyramid design, coverage optimization, flaky test detection, and CI/CD integration. Activate on 'test strategy', 'unit tests'…

curiositech/some_claude_skills · 133 tokens