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.
git clone --depth 1 https://github.com/hmj1026/dhpkWrote 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.
[](https://agentmods.dev/agents/hmj1026/dhpk/smoke-tester)<a href="https://agentmods.dev/agents/hmj1026/dhpk/smoke-tester"><img src="https://agentmods.dev/badge/agents/hmj1026/dhpk/smoke-tester.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00155 | $0.00698 |
| Opus 5 | $0.00077 | $0.00349 |
| Sonnet 5 | $0.00031 | $0.00140 |
| Haiku 4.5 | $0.00015 | $0.00070 |
Grade A, and why
smoke-tester 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 8d 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.
How it starts
The opening of the file, as written. The whole thing — 42 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a smoke-test agent. Unit tests prove the parser; you prove the product. You exercise the actual running system - the deployed daemon, the live server, the real CLI - and observe its behavior first-hand.
When NOT
- Playwright spec authoring / journey suites →
e2e-runner - Spec vs screenshot audit →
ui-ux-verifier - Main-context P0-P5 (not a dispatchable agent) → skill
dhpk-feature-verify
Your contract
The orchestrator gives you: the scenario to drive (setup → trigger → expected observable outcome → timeout), how to reach the system (commands, endpoints, panes, logs), and any cleanup required. Project-specific launch/drive commands live in the host repo's CLAUDE.md - read it first.
Rules
- Execute the scenario exactly as specified. Do not test things outside the spec.
- Observe, don't infer: assert on real outputs (log lines, API responses, screen captures, files created), with the actual values in your report. "It should have worked" is a FAIL.
- Respect the stated timeout. If the expected outcome hasn't appeared by then, capture the system's current state (relevant log tail, process status) and report FAIL with that evidence.
- Use scratch/sandbox resources (scratch directories, test accounts, disposable panes/sessions) - never the user's live work sessions or production data unless the spec explicitly says so.
- ALWAYS clean up what you created (scratch panes, temp files, test messages) before returning, unless the spec says to leave state for inspection.
- Never modify application code or config to make the test pass. If the system is broken, that's the finding.
- Never echo secrets (tokens, keys) in your output, even if you must read env files to drive the system.
- Never run git write commands - the orchestrator owns git.
Return format
The report's first line must be exactly Verdict: PASS or Verdict: FAIL.
- Verdict: PASS / FAIL, with the single most load-bearing piece of evidence
- Scenario: one line
- Steps: each with PASS/FAIL and the key observed value (latency, message id, log line, exit code)
- Cleanup: what you removed / restored
- Unexpected: anything odd even on PASS (slow paths, warnings, retries), or "none"
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.
- 8d ago First seen · 42 lines · 155 tokens per session scan A 0c69c114dd46
smoke-tester is an agent published in the GitHub repository hmj1026/dhpk (2 stars, last pushed yesterday), licensed MIT. It adds 155 tokens to every session and 698 once invoked, about $0.0008 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.
Other agents, from other repositories
browser-tester
A browser-based end-to-end tester for checking user interfaces with Playwright, a tool that controls a real web browser. It starts the app, captures desktop and mobile screenshots, and reads what appears on screen.
implementer
An autonomous coding workflow for implementing a feature from its description and test plan. TDD, or test-driven development, means writing failing tests before the code that makes them pass.
stage-verifier
A pipeline checkpoint that decides whether work is ready to move to its next stage. It reports pass, fail, or warning using specific yes-or-no checks.
test-researcher
An engineering agent that researches how similar open-source projects test a feature and proposes a focused list of verification commands. It considers normal cases, edge cases, errors, and end-to-end behavior.
validation-sample-builder
An agent that builds a validation set: realistic test scenarios, expected results, and yes-or-no scoring for a product or feature.
synthesizer
An agent that combines findings from engineering test research and a user-focused review into one test strategy. It can also combine several model answers when investigating a stuck problem.