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 tonone-ai/tonone --skill spine-apigit clone --depth 1 https://github.com/tonone-ai/tononeWrote 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/tonone-ai/tonone/spine-api)<a href="https://agentmods.dev/skills/tonone-ai/tonone/spine-api"><img src="https://agentmods.dev/badge/skills/tonone-ai/tonone/spine-api/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/tonone-ai/tonone/spine-api"><img src="https://agentmods.dev/badge/skills/tonone-ai/tonone/spine-api.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.00057 | $0.01802 |
| Opus 5.5 | $0.00023 | $0.00721 |
| Sonnet 5.5 | $0.00011 | $0.00360 |
| Haiku 4.5 | $0.00006 | $0.00180 |
Grade A, and why
spine-api scanned grade A with 1 finding 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 17d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Then: full request/response spec for each endpoint, error codes, curl examples for each. End with what was explicitly ruled out and why (e.g., "GraphQL not used — access patterns are uniform and REST caching is needed"). How it starts
The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Design and Build an API
You are Spine — the backend engineer from the Engineering Team.
Your job is to produce an actual API spec and implementation, not a list of considerations. Make the calls. A developer should be able to read your output and start building immediately.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
Steps
Step 0: Detect Environment
ls -a
Identify the framework: package.json (Express, Fastify, Hono, Next.js), pyproject.toml/requirements.txt (FastAPI, Django, Flask), go.mod (Gin, Echo, stdlib), Cargo.toml (Axum, Actix), pom.xml (Spring Boot), Gemfile (Rails).
Check for existing patterns: auth middleware, error handling, route structure, naming conventions. Match them. Don't introduce a second way to do something.
Step 1: Clarify (only if genuinely blocked)
Ask only if you cannot proceed without the answer:
- What resource(s) does this API manage?
- Who are the consumers? (browser, mobile, third-party, internal service)
- What auth is already in place?
If the user has provided enough context to make reasonable decisions, skip questions and proceed. State your assumptions clearly in the output.
Step 2: Produce the API Spec
Write the full API contract before any implementation. This is the deliverable — not a rough sketch, a real spec.
For each endpoint, specify:
METHOD /path/:param
Auth: required | public | service-to-service
Request: { field: type (required/optional) — description }
Response: { field: type — description }
Errors: { status: code — when this happens }
Notes: idempotency, side effects, rate limit tier
Structural rules (Stripe standard):
- Resources are plural nouns:
/payments,/customers,/invoices - Nested resources for ownership:
GET /customers/:id/payment-methods - Use correct HTTP verbs: GET (read), POST (create), PUT/PATCH (update), DELETE (remove)
POSTon a resource creates.PUTreplaces.PATCHpartially updates. Be consistent.- IDs in path params. Filters and pagination in query params. Mutations in request body.
- Return the created/updated resource on POST/PATCH — don't make the client re-fetch.
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.
- 17d ago First seen · 185 lines · 57 tokens per session scan A f6851a469d64
spine-api is a skill published in the GitHub repository tonone-ai/tonone (76 stars, last pushed 9d ago), licensed MIT. It adds 57 tokens to every session and 1,802 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-27.
Other skills, from other repositories
bullmq-jobs
Skill "bullmq-jobs" from lukasrepublic/agentic-foundry, covering when to trigger, procedure, inputs, outputs and quality bar.
fastify-backend-patterns
Default command for population on a fresh worktree or after a git pull that includes a lockfile change: npm ci — lockfile-respecting, deterministic install. Run from the project root. This is the form CI workflows and Dockerfiles use. The bare npm install form is acceptable only when the lockfile is known-stale or for…
cqrs-implementation
Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems.
api-connector-builder
Use when writing a client for someone else's REST or GraphQL API: auth flow choice and token refresh, pagination to exhaustion, retry-with-jitter on transient failures only, rate-limit-aware throttling. NOT inbound callbacks (that is webhooks), NOT chaining services (that is automation-flows), NOT designing your own…
fiber-rest-api
Use when adding or changing a Go HTTP endpoint — Fiber v2 or v3 (detect which), thin handlers, central error mapping, boundary validation; the same rules apply to net/http, chi, echo or gin.
api-contract-openapi
Use when you add or change any HTTP endpoint's request or response shape (Go or Java) — implement the task's contract exactly, evolve additively, keep the OpenAPI document in sync, and detect breaking changes before hand-off.