verify

A project verification guide for checking software changes from tests through a full Docker run. Docker is a tool that packages an application and its environment so it can be tested consistently.

In plain words
What is it for?
Use it to run unit and API tests for focused changes, or a Docker end-to-end test that checks the application, uploads, transcription, previews, downloads, and validation errors.
Why use it?
It helps catch breakages after changes, especially in transcription, worker, dependency, or container files.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/lkmeta/txtify/verify
Any agent
npx skills add lkmeta/txtify --skill verify
Clone the repo
git clone --depth 1 https://github.com/lkmeta/txtify

Made for: Claude Code, Codex.

Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 599 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
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 $0.00054 $0.00599
Opus 5 $0.00027 $0.00300
Sonnet 5 $0.00011 $0.00120
Haiku 4.5 $0.00005 $0.00060

Measured 3d ago against content hash 5f882476dcae, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

verify scanned grade A with 1 finding 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 3d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- The E2E script's container is removed on exit; to debug interactively, `docker run -d --rm --name txtify_dbg -p 8078:8011 txtify:e2e` and drive it with curl.
.claude/skills/verify/SKILL.md · 46 lines

How it starts

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

Verifying Txtify changes

Two tiers. Pick the cheapest one that actually exercises the change.

Tier 1 — unit/API tests (seconds, no ML stack needed)

pytest -q

Covers: format converters (incl. PDF Unicode round-trip), filename/URL/upload validation, job-id DB flow, /health, /transcribe error paths, DeepL alignment edge cases. tests/conftest.py stubs torch/stable_whisper when absent, so a light venv is enough:

grep -v -E '^(torch|stable-ts)' requirements.txt > /tmp/reqs.txt
pip install -r /tmp/reqs.txt pytest httpx pypdf

Sufficient on its own only for changes fully covered by tests (converters, validation, endpoint logic).

Tier 2 — Docker E2E (the real gate, ~5–10 min)

./scripts/docker_e2e.sh

Builds the image, boots a container, checks /health + all pages + 404s, uploads a generated clip, runs a real whisper-tiny transcription to 100%, validates preview in all four formats, downloads the zip and confirms the PDF is in it, and checks validation errors. Success is the literal line PASS: docker E2E complete.

Mandatory for changes to: requirements.txt, Dockerfile, .dockerignore, src/transcribe_process.py, src/models.py, the worker-spawn path in src/utils.py.

Reading failures

  • Status stuck at 10% → worker crashed at import (classic cause: torch/torchaudio version mismatch). Reproduce inside the container: docker exec <name> python /app/src/transcribe_process.py 99 output/<clip> en whisper_tiny none en all
  • Status stuck at 30% for a long time → model download in progress; not a failure yet.
  • Job errors mid-run → docker exec <name> cat output/<job id>_logs.txt (the server log won't show worker errors).
  • The E2E script's container is removed on exit; to debug interactively, docker run -d --rm --name txtify_dbg -p 8078:8011 txtify:e2e and drive it with curl.

What "verified" means in a PR body

Paste the actual output: the pytest summary line and/or the PASS: docker E2E complete line. A claim without output doesn't count.

Read the full file on GitHub · 46 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. 3d ago First seen · 46 lines · 54 tokens per session scan A 5f882476dcae

Subscribe to this mod's changes

verify is a skill published in the GitHub repository lkmeta/txtify (135 stars, last pushed 18d ago), licensed Apache-2.0. It adds 54 tokens to every session and 599 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). 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