hydraflow: Skill for Claude Code

.codex/skills/hf.check-test-counterpart/SKILL.md

hf.check-test-counterpart is a skill for Claude Code, Codex from T-rav/hydraflow. It costs 11 tokens per session (426 once invoked), scanned A, original, Apache-2.0.

A warning hook that reminds developers to add a matching test when creating a new Python source file. It skips files such as tests, configuration, migrations, and scripts.

In plain words
What is it for?
Use it during Python development to prompt creation of a corresponding test file for new source modules.
Why use it?
It reduces the chance that new application code is added without an obvious place to test it.

Skill for Claude CodeCodex

Written for Claude Code and Codex: PreToolUse hook event, but also installed under .codex/. Also seen: mentions CLAUDE.md.

This is T-rav/hydraflow's own configuration. It tells Claude Code and Codex how to work on hydraflow 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 hydraflow configures →

Reuse

Borrowing it

Nothing to install: this file belongs to T-rav/hydraflow. 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/T-rav/hydraflow/staging/.codex/skills/hf.check-test-counterpart/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/T-rav/hydraflow

Made for: Claude Code, Codex.

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 hf.check-test-counterpart

README.md
[![agentmods](https://agentmods.dev/badge/skills/t-rav/hydraflow/hf.check-test-counterpart/github.svg)](https://agentmods.dev/skills/t-rav/hydraflow/hf.check-test-counterpart)
Your own site
<a href="https://agentmods.dev/skills/t-rav/hydraflow/hf.check-test-counterpart"><img src="https://agentmods.dev/badge/skills/t-rav/hydraflow/hf.check-test-counterpart/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 hf.check-test-counterpart

Your own site · 80×15
<a href="https://agentmods.dev/skills/t-rav/hydraflow/hf.check-test-counterpart"><img src="https://agentmods.dev/badge/skills/t-rav/hydraflow/hf.check-test-counterpart.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 11 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 426 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.00011 $0.00426
Opus 5 $0.00005 $0.00213
Sonnet 5 $0.00002 $0.00085
Haiku 4.5 $0.00001 $0.00043

Measured 9d ago against content hash 68b3244b3651, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

hf.check-test-counterpart 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 9d 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.

.codex/skills/hf.check-test-counterpart/SKILL.md · 56 lines

What it actually says

hf.check-test-counterpart

#!/bin/bash
# Hook: Nudge when creating new Python source files without a test counterpart.
# Fires on PreToolUse for Write tool.
# Does NOT block (exit 0) - only shows a reminder.

set -euo pipefail

INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')

if [ -z "$FILE_PATH" ]; then
  exit 0
fi

# Only check Python source files
if ! echo "$FILE_PATH" | grep -qE '\.py$'; then
  exit 0
fi

# Skip test files, configs, __init__, migrations, scripts
if echo "$FILE_PATH" | grep -qE '(test_|_test\.py|conftest\.py|/tests/|__init__\.py|migrations?/|setup\.py|manage\.py|/scripts/)'; then
  exit 0
fi

# Only warn for NEW files (not edits to existing files)
if [ -f "$FILE_PATH" ]; then
  exit 0
fi

FILENAME=$(basename "$FILE_PATH" .py)

# Look for existing test counterpart in common locations
DIR=$(dirname "$FILE_PATH")
for test_path in \
  "${DIR}/tests/test_${FILENAME}.py" \
  "${DIR}/test_${FILENAME}.py" \
  "${DIR}/../tests/test_${FILENAME}.py"; do
  if [ -f "$test_path" ]; then
    exit 0  # Test file already exists
  fi
done

echo "Reminder: New source file being created without a test counterpart." >&2
echo "  Source: $FILE_PATH" >&2
echo "  Expected: test_${FILENAME}.py" >&2
echo "  Per CLAUDE.md: Every new function/class MUST include tests." >&2
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. 9d ago First seen · 56 lines · 11 tokens per session scan A 68b3244b3651

Subscribe to this mod's changes

hf.check-test-counterpart is a skill published in the GitHub repository T-rav/hydraflow (5 stars, last pushed 4d ago), licensed Apache-2.0. It adds 11 tokens to every session and 426 once invoked, about $0.0001 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-31.

Related

Other skills, from other repositories

develop

Run /develop to build a feature, UI or backend, from an approved design, a page, component, API, service, or data slice. If something load bearing is undecided and no spec records it, it stops and routes you to /architect; otherwise it reads the spec plus AGENTS.md, builds, and advances the scope.

jsmastery-pro/skills · 71 tokens

sync

Run /sync as the last step after a change is complete, around merge, to keep durable knowledge current. Updates root and nested AGENTS.md, reconciles the scope from repo evidence, and flags specs the change made stale. Surgical edits only: it adds lines, and rewrites single lines it owns. Never a whole section, never…

jsmastery-pro/skills · 73 tokens

document

Run /document pr | changelog | release-note | postmortem (or let it ask) to write the human facing prose about a change. Drafts from the real commits and diff, writing to the right place. Does not write code, tests, or specs.

jsmastery-pro/skills · 65 tokens

debug

Run /debug to find and fix a bug's root cause: a test failing for an unclear reason, /check verify finding a failure, or behavior being wrong. Runs a reproduce, localize, hypothesize, test, fix, verify loop, makes the minimal fix, and hands a regression test to /test. No features, no extra refactors.

jsmastery-pro/skills · 74 tokens

check

Confirm a change before merge. /check verify drives the real app to prove behavior against the spec (every acceptance criterion met, every surface built). /check review runs a senior code review on a fresh model, one that did not write the code. Verify after /develop, review before a PR. Writes to docs/reviews/, never…

jsmastery-pro/skills · 74 tokens

architect

Run /architect when choosing between approaches, designing a feature or page, picking a tech stack, or when /develop says a decision is owed, anytime a load bearing technical decision is unmade. Asks deep questions, recommends an answer, and writes a build spec to docs/specs/. Owns all spec files.

jsmastery-pro/skills · 66 tokens