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 EliasOulkadi/shokunin --skill api-forgegit clone --depth 1 https://github.com/EliasOulkadi/shokuninWrote 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/eliasoulkadi/shokunin/api-forge)<a href="https://agentmods.dev/skills/eliasoulkadi/shokunin/api-forge"><img src="https://agentmods.dev/badge/skills/eliasoulkadi/shokunin/api-forge.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.00085 | $0.03039 |
| Opus 5 | $0.00043 | $0.01520 |
| Sonnet 5 | $0.00017 | $0.00608 |
| Haiku 4.5 | $0.00009 | $0.00304 |
Grade A, and why
api-forge 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 7d 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 — 359 lines — stays where its author put it; the contents beside it link to each section on GitHub.
API Forge
Design APIs that developers love. Based on patterns from Stripe, GitHub, Twilio, Slack, and the OpenAPI 3.1 specification.
Sub-Commands
| Command | Category | Description |
|---|---|---|
design |
Build | Design an API from user requirements. Generate OpenAPI 3.1 spec. |
endpoint |
Build | Design a single endpoint with all methods, parameters, responses, and error codes. |
audit |
Evaluate | Audit an existing API against design rules, security checklist, and anti-patterns. |
document |
Document | Generate API documentation from OpenAPI spec or route handlers. |
extract |
Document | Extract OpenAPI spec from existing route handlers. |
webhook |
Build | Design webhook delivery, retry, and signature verification. |
Workflow
Step 1: Determine API type
| Type | Use Case | Spec |
|---|---|---|
| REST | CRUD, resource-oriented | OpenAPI 3.1 |
| GraphQL | Complex queries, multiple resources | Schema Definition Language |
| Webhook | Event-driven, async notifications | Standard webhooks (Stripe pattern) |
Step 2: Define resources and naming
| Pattern | Example | Notes |
|---|---|---|
| Nouns, plural | /users, /orders |
Never verbs |
| Nested (max 2 levels) | /users/{id}/orders |
Flat preferred over deep nesting |
| Actions as sub-resources | /orders/{id}/cancel |
Only for non-CRUD operations |
| Query for filters | /users?role=admin |
Not /users/admins |
| kebab-case for paths | /order-items |
Not /orderItems |
| snake_case for fields | first_name |
Not firstName in JSON:API |
Step 3: Map HTTP methods
| Method | Purpose | Idempotent | Safe | Body |
|---|---|---|---|---|
| GET | Read resource | Yes | Yes | No |
| POST | Create resource | No | No | Yes |
| PUT | Full replace | Yes | No | Yes |
| PATCH | Partial update | No | No | Yes |
| DELETE | Remove resource | Yes | No | Optional |
Step 4: Design response format
Stripe-style standard envelope:
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.
- 7d ago First seen · 359 lines · 85 tokens per session scan A 593dba7d9a13
api-forge is a skill published in the GitHub repository EliasOulkadi/shokunin (113 stars, last pushed 1mo ago), licensed MIT. It adds 85 tokens to every session and 3,039 once invoked, about $0.0004 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-30.
Other skills, from other repositories
knowject-api-to-types
A Knowject skill that generates TypeScript types from an OpenAPI document, which describes an API's available requests and data shapes, and connects them to a typed client.
knowject-read-api
A project skill for finding backend API endpoints and generating typed HTTP clients when the project contains a knowject/context.yaml file.
python-sdk
Implement or modify Python SDK behavior under python/composio, including tools, toolkits, sessions, auth configs, connected accounts, client integration, and shared Python models. Use for Python core runtime/API work; pair with python-testing and cross-sdk-parity when TypeScript must match.
potpie-infra-architecture
Use for project infra and architecture context: environments, adapters, runtime configuration, deployments, service dependencies, datastores, API contracts, ownership, incidents, and dependency blast radius.
memstack-automation-webhook-designer
Use this skill when the user says 'webhook', 'webhook handler', 'webhook endpoint', 'receive events', 'HMAC verification', 'idempotency', or needs secure webhook handlers with signature verification, retry handling, and dead letter queues. Do NOT use for full n8n workflows or scheduled tasks.
telegram
Owner-only Telegram text bridge and Mini App gateway for the existing Ouroboros interface.