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 skills add jkaninda/okapi-skills --skill cligit clone --depth 1 https://github.com/jkaninda/okapi-skillsWrote 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/jkaninda/okapi-skills/cli)<a href="https://agentmods.dev/skills/jkaninda/okapi-skills/cli"><img src="https://agentmods.dev/badge/skills/jkaninda/okapi-skills/cli/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.
<a href="https://agentmods.dev/skills/jkaninda/okapi-skills/cli"><img src="https://agentmods.dev/badge/skills/jkaninda/okapi-skills/cli.svg" alt="Reviewed on agentmods" width="80" 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.00000 | $0.01409 |
| Opus 5.5 | $0.00000 | $0.00564 |
| Sonnet 5.5 | $0.00000 | $0.00282 |
| Haiku 4.5 | $0.00000 | $0.00141 |
Grade A, and why
cli 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 1mo 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 — 163 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Okapi CLI Integration (okapicli package)
The okapicli package adds typed flags, env-variable binding, subcommands, and lifecycle hooks to an Okapi app.
Constructors
cli := okapicli.New(app *okapi.Okapi, name ...string) *CLI // wrap an existing app
cli := okapicli.Default() *CLI // new CLI with a default Okapi instance
app := cli.Okapi() // the underlying *okapi.Okapi
Basic Usage
import "github.com/jkaninda/okapi/okapicli"
cli := okapicli.New(app, "myapp").
String("config", "c", "config.yaml", "Path to configuration file").
Int("port", "p", 8080, "HTTP server port").
Bool("debug", "d", false, "Enable debug mode").
Float("rate", "r", 1.0, "Rate limit").
Duration("timeout", "t", 30*time.Second, "Request timeout")
if err := cli.Parse(); err != nil { panic(err) }
app.WithPort(cli.GetInt("port")).WithDebug(cli.GetBool("debug"))
cli.Run()
Flag types: String, Int, Bool, Float, Duration. Each accepts (name, shortName, default, description).
Struct-Based Configuration
Tag your config struct and let okapicli register flags + bind env vars in one call.
| Tag | Description |
|---|---|
cli |
Flag name (required) |
short |
Short flag name (optional) |
desc |
--help description |
default |
Default value (string, parsed to field type) |
env |
Environment variable name |
type Config struct {
Port int `cli:"port" short:"p" desc:"Server port" env:"APP_PORT" default:"8080"`
Host string `cli:"host" short:"h" desc:"Hostname" env:"APP_HOST" default:"localhost"`
Debug bool `cli:"debug" short:"d" desc:"Debug mode" env:"APP_DEBUG"`
Config string `cli:"config" short:"c" desc:"Config file" env:"APP_CONFIG" default:"config.yaml"`
Timeout time.Duration `cli:"timeout" short:"t" desc:"Request timeout" env:"APP_TIMEOUT" default:"30s"`
}
cfg := &Config{Port: 8000} // struct defaults still win over the zero value but lose to all tags
cli := okapicli.New(app, "myapp").FromStruct(cfg)
if err := cli.Parse(); err != nil { panic(err) }
// cfg fields are populated with resolved values
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.
- 1mo ago First seen · 163 lines · 0 tokens per session scan A 3e85879cbd71
cli is a skill published in the GitHub repository jkaninda/okapi-skills (3 stars, last pushed 2mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,409 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 skills, from other repositories
telnyx-ai-assistants-go
AI voice assistants with custom instructions, knowledge bases, and tool integrations.
telnyx-numbers-go
Search, order, and manage phone numbers by location, features, and coverage.
af-xdp
AFXDP skill for high-performance XDP sockets. Use when creating AFXDP sockets, configuring UMEM and XSK rings, XDPREDIRECT programs, copy vs zero-copy mode, or comparing with DPDK. Activates on queries about AFXDP, xskumem, XDPREDIRECT, libbpf xsk, or zero-copy XDP.
go-services
Build Go HTTP services with contextual cancellation, middleware, tests, and compact deployable binaries.
telnyx-messaging-go
Send and receive SMS/MMS, handle opt-outs and delivery webhooks. Use for notifications, 2FA, or messaging apps.
telnyx-storage-go
Manage cloud storage buckets and objects using the S3-compatible Telnyx Storage API. This skill provides Go SDK examples.