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.
npx agentmods add commands/fatihkan/badi/api-testgit clone --depth 1 https://github.com/fatihkan/badiWhat 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 | $0.00000 | $0.00527 |
| Opus 5 | $0.00000 | $0.00264 |
| Sonnet 5 | $0.00000 | $0.00105 |
| Haiku 4.5 | $0.00000 | $0.00053 |
Grade A, and why
api-test 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 2d 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.
What it actually says
HTTP API endpoint testing. Send GET/POST/PUT/DELETE requests, analyze status + response, assertions.
Required Tools
- Bash (badi dev api-test)
Procedure
Step 1: Simple GET
badi dev api-test https://api.example.com/users
Step 2: Advanced Usage
# POST with a body
badi dev api-test https://api.example.com/users \
--method POST \
--body '{"name":"Ali","email":"[email protected]"}'
# Auth header
badi dev api-test https://api.example.com/me \
--header "Authorization: Bearer $TOKEN"
# Status assertion
badi dev api-test https://api.example.com/health \
--expect 200
# Multiple headers
badi dev api-test https://api.example.com/data \
--header "Authorization: Bearer X" \
--header "X-Custom: Y"
Step 3: Output
- Status + Duration (ms)
- Size (KB)
- Content-Type
- All response headers
- Body (JSON pretty print or text)
- Assertion result (if --expect was used)
Step 4: Usage Scenarios
Health check:
badi dev api-test https://app.com/health --expect 200
New endpoint test:
badi dev api-test http://localhost:3000/api/users/1
Production smoke test:
for endpoint in /health /api/v1/status /api/v1/metrics; do
badi dev api-test https://app.com$endpoint --expect 200 || exit 1
done
Auth flow test:
# Login
badi dev api-test https://api.com/login --method POST --body '{"u":"x","p":"y"}'
# Take the token, use it
badi dev api-test https://api.com/me --header "Authorization: Bearer $TOKEN"
Step 5: CI Integration
- name: API Smoke Test
run: |
badi dev api-test ${{ env.API_URL }}/health --expect 200
badi dev api-test ${{ env.API_URL }}/api/v1/version --expect 200
Example
/api-test https://api.github.com/users/octocat --expect 200
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.
- 2d ago First seen · 85 lines · 0 tokens per session scan A 596380492fb1
api-test is a command published in the GitHub repository fatihkan/badi (7 stars, last pushed 15d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 527 tokens. 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 commands, from other repositories
audit-agents-skills
Audit quality of agents, skills, and commands in a Claude Code project.
land-and-deploy
Merge PR, wait for CI, verify deploy, run canary — the complete landing pipeline.
scaffold
Interactive coach that asks 4-5 questions to determine whether you need an agent, command, skill, hook, or rule — then generates a ready-to-use template. Usage: /scaffold (no arguments — starts the coaching session).
investigate
Systematic root-cause debugging — find the cause before writing any fix.
sonarqube
Analyze SonarCloud quality issues for a specific PR.
canary
Post-deploy monitoring — watch production after a deploy and alert on regressions.