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/nacre-work/nacre/api-endpointnpx skills add nacre-work/nacre --skill api-endpointgit clone --depth 1 https://github.com/nacre-work/nacreWrote 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/nacre-work/nacre/api-endpoint)<a href="https://agentmods.dev/skills/nacre-work/nacre/api-endpoint"><img src="https://agentmods.dev/badge/skills/nacre-work/nacre/api-endpoint.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.00089 | $0.00756 |
| Opus 5 | $0.00044 | $0.00378 |
| Sonnet 5 | $0.00018 | $0.00151 |
| Haiku 4.5 | $0.00009 | $0.00076 |
Grade A, and why
api-endpoint 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 3d 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Adding or changing a REST endpoint
Contract: docs/api.md, machine-readable in docs/openapi.yaml. The OpenAPI
document is linted in CI (pnpm lint:openapi) and runs ahead of the code on
purpose — update it in the same PR, not afterwards.
Status codes
The 403/404 split is the whole point and the easiest thing to get wrong:
403only when the caller is authenticated and the object is already visible to them, and the operation is forbidden.404when the object is absent or invisible. Same status, same body, same wording for both. Any difference lets someone enumerate identifiers to discover which documents exist — that is invariant 4.
The rest: 400 schema, 401 missing or expired token, 409 version conflict,
413 over NACRE_MAX_DOCUMENT_BYTES, 422 unparseable, 429 rate limited,
503 indexing unavailable.
Error bodies — RFC 9457
application/problem+json, with type, title, status, detail,
instance, request_id.
detailnever reveals that an inaccessible object exists.- No stack traces, no internal service or host names.
request_idis always present and matches the audit log field. That correspondence is what makes an auditor's question answerable, so a code path that omits it is a real defect.
Pagination
Cursor-based. ?limit=50&cursor=… → { items, next_cursor }, limit capped at
200. Offset is forbidden — it breaks under concurrent inserts and invites
enumeration. A PR adding ?offset= should be rejected on both grounds.
Idempotency
POST /v1/documentsis idempotent on(layer, external_id)pluscontent_hash. A repeat with identical content returns200and the existingdocument_idwithout creating a version.- Every other unsafe method accepts
Idempotency-Key, cached 24 hours.
Limits
Counted per organization, not per token. Per-token limits are bypassed by
issuing another key. 429 carries Retry-After and RateLimit-* (RFC 9331).
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.
- 3d ago First seen · 69 lines · 89 tokens per session scan A a9572adfacf6
api-endpoint is a skill published in the GitHub repository nacre-work/nacre (0 stars, last pushed 5d ago), licensed Apache-2.0. It adds 89 tokens to every session and 756 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-31.
Other skills, from other repositories
chroma
Open-source embedding database for AI applications. Store embeddings and metadata, perform vector and full-text search, filter by metadata. Simple 4-function API. Scales from notebooks to production clusters. Use for semantic search, RAG applications, or document retrieval. Best for local development and open-source…
chroma
Open-source embedding database for AI applications. Store embeddings and metadata, perform vector and full-text search, filter by metadata. Simple 4-function API. Scales from notebooks to production clusters. Use for semantic search, RAG applications, or document retrieval. Best for local development and open-source…
chroma
Open-source embedding database for AI applications. Store embeddings and metadata, perform vector and full-text search, filter by metadata. Simple 4-function API. Scales from notebooks to production clusters. Use for semantic search, RAG applications, or document retrieval. Best for local development and open-source…
chroma
Open-source embedding database for AI applications. Store embeddings and metadata, perform vector and full-text search, filter by metadata. Simple 4-function API. Scales from notebooks to production clusters. Use for semantic search, RAG applications, or document retrieval. Best for local development and open-source…
chroma
Open-source embedding database for AI applications. Store embeddings and metadata, perform vector and full-text search, filter by metadata. Simple 4-function API. Scales from notebooks to production clusters. Use for semantic search, RAG applications, or document retrieval. Best for local development and open-source…
chroma
Open-source embedding database for AI applications. Store embeddings and metadata, perform vector and full-text search, filter by metadata. Simple 4-function API. Scales from notebooks to production clusters. Use for semantic search, RAG applications, or document retrieval. Best for local development and open-source…