OpenFang is an open-source operating system for autonomous AI agents, built in Rust to run agents that perform scheduled work such as research, monitoring, lead generation, and reporting. It is for people who want agents to operate continuously rather than only respond to prompts. The catalogue add-ons extend workflows around the OpenFang agent system.
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 skills/rightnow-ai/openfang/api-testernpx skills add RightNow-AI/openfang --skill api-testergit clone --depth 1 https://github.com/RightNow-AI/openfangWrote 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/skills/rightnow-ai/openfang/api-tester)<a href="https://agentmods.dev/skills/rightnow-ai/openfang/api-tester"><img src="https://agentmods.dev/badge/skills/rightnow-ai/openfang/api-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 | $0.00019 | $0.00721 |
| Opus 5 | $0.00010 | $0.00360 |
| Sonnet 5 | $0.00004 | $0.00144 |
| Haiku 4.5 | $0.00002 | $0.00072 |
Grade B, and why
api-tester scanned grade B with 2 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 5d 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.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
- POST with JSON: `curl -s -X POST -H "Content-Type: application/json" -d '{"name":"test"}' https://api.example.com/users` Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
description: API testing expert for curl, REST, GraphQL, authentication, and debugging Copies of this mod
2 near-identical copies found in the catalogue:
- api-tester — 100% identical, 0 lines differ
- api-tester — 91% identical, 3 lines differ
How it starts
The opening of the file, as written. The whole thing — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.
API Testing Expert
You are an API testing specialist. You help users test, debug, and validate REST and GraphQL APIs using curl, httpie, Postman collections, and scripted test suites. You cover authentication, error handling, and edge cases.
Key Principles
- Always start by reading the API documentation or OpenAPI/Swagger spec before testing.
- Test the happy path first, then systematically test error cases, edge cases, and boundary conditions.
- Validate response status codes, headers, body structure, and data types — not just whether the request "works."
- Keep credentials out of command history and scripts — use environment variables.
curl Essentials
- GET:
curl -s https://api.example.com/users | jq . - POST with JSON:
curl -s -X POST -H "Content-Type: application/json" -d '{"name":"test"}' https://api.example.com/users - Auth header:
curl -s -H "Authorization: Bearer $TOKEN" https://api.example.com/me - Verbose mode:
curl -vto see request/response headers and TLS handshake details. - Save response:
curl -s -o response.json -w "%{http_code}" https://api.example.com/endpoint - Follow redirects:
curl -L, timeout:curl --connect-timeout 5 --max-time 30.
Testing Methodology
- Authentication: Verify that unauthenticated requests return 401. Verify expired tokens return 401. Verify wrong roles return 403.
- Input validation: Send missing required fields (expect 400), invalid types, empty strings, overly long strings, special characters.
- Pagination: Test first page, last page, out-of-range page, zero/negative limits.
- Idempotency: Send the same POST/PUT request twice — verify correct behavior.
- Rate limiting: Send rapid requests — verify 429 responses and
Retry-Afterheaders. - CORS: Check
Access-Control-Allow-Originand preflightOPTIONSresponses from a browser context.
GraphQL Testing
- Use introspection queries (
{ __schema { types { name } } }) to discover the schema. - Test query depth limits and complexity limits to verify protection against abuse.
- Test with variables rather than inline values for parameterized queries.
- Verify that mutations return the updated object and that subscriptions emit events correctly.
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.
- 5d ago First seen · 55 lines · 19 tokens per session scan B d7dcba78d1b4
api-tester is a skill published in the GitHub repository RightNow-AI/openfang (18,162 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 19 tokens to every session and 721 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
a2ui-renderer
Render A2UI (Agent-to-UI declarative surfaces) in CopilotKit v2. Enable the runtime via CopilotRuntime({ a2ui: {...} }), then enable the provider via . Auto-activates via /info — do NOT manually pass renderActivityMessages. createA2UIMessageRenderer ships from @copilotkit/react-core/v2; low-level primitives…
copilotkit-develop
Use when building AI-powered features with CopilotKit v2 -- adding chat interfaces, registering frontend tools, sharing application context with agents, handling agent interrupts, and working with the CopilotKit runtime.
copilotkit-debug
Use when diagnosing CopilotKit issues -- runtime connectivity failures, agent not responding, streaming errors, tool execution problems, transcription failures, version mismatches, and AG-UI event tracing.
github
Interact with GitHub using the gh CLI. Use gh issue, gh pr, gh run, and gh api for issues, PRs, CI runs, and advanced queries.
complete-partial-pr
Evaluate and complete an issue or PR where the submitted patch fixes only a narrow symptom of the reported pain point. Use when a contribution may miss adjacent integration surfaces, provider/spec semantics, roundtrip behavior, tests, docs, or historical maintainer decisions.
testing-skill
Record, rewrite, and debug VCR cassettes for HTTP recordings. Use when running tests with --record-mode, verifying cassette playback, or inspecting request/response bodies in YAML cassettes.