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 apideck-libraries/api-skills --skill apideck-best-practicesgit clone --depth 1 https://github.com/apideck-libraries/api-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/apideck-libraries/api-skills/apideck-best-practices)<a href="https://agentmods.dev/skills/apideck-libraries/api-skills/apideck-best-practices"><img src="https://agentmods.dev/badge/skills/apideck-libraries/api-skills/apideck-best-practices/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/apideck-libraries/api-skills/apideck-best-practices"><img src="https://agentmods.dev/badge/skills/apideck-libraries/api-skills/apideck-best-practices.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.00052 | $0.01963 |
| Opus 5 | $0.00026 | $0.00981 |
| Sonnet 5 | $0.00010 | $0.00393 |
| Haiku 4.5 | $0.00005 | $0.00196 |
Grade A, and why
apideck-best-practices 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 8d 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 — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The Apideck Unified API base URL is https://unify.apideck.com. All API calls must be made server-side to prevent token leakage.
Authentication
Every API call requires three headers: Authorization: Bearer {API_KEY}, x-apideck-app-id, and x-apideck-consumer-id. The x-apideck-service-id header specifies which downstream connector to use (e.g., salesforce, quickbooks, xero). When a consumer has multiple connections for the same unified API, x-apideck-service-id is required.
Never hardcode API keys in source code. Always use environment variables or a secrets manager. Never expose API keys to the client/browser.
SDK Selection
Always use the official Apideck SDK for the user's language. Do not make raw HTTP calls when an SDK is available:
| Language | Package |
|---|---|
| TypeScript/Node.js | @apideck/unify |
| Python | apideck-unify |
| C# / .NET | ApideckUnifySdk |
| Java | com.apideck:unify |
| Go | github.com/apideck-libraries/sdk-go |
| PHP | apideck-libraries/sdk-php |
All SDKs follow the same CRUD pattern: client.{api}.{resource}.{operation}(). All SDKs support retry configuration with exponential backoff.
Consumer ID Architecture
The consumerId represents your end-user — the person whose third-party connections you're accessing. In multi-tenant SaaS applications:
- Create one Apideck consumer per customer/tenant
- Store the mapping between your user IDs and Apideck consumer IDs
- Pass the correct
consumerIdper request — never use a shared consumer for all users - Use Vault sessions to let each user manage their own connections
Connection Management
Always use Apideck Vault for managing end-user connections. Never build custom OAuth flows when Vault handles them.
Use @apideck/vault-js to embed the connection management modal in your frontend. Session creation must always happen server-side:
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.
- 8d ago First seen · 177 lines · 52 tokens per session scan A cde121108b43
apideck-best-practices is a skill published in the GitHub repository apideck-libraries/api-skills (3 stars, last pushed 9d ago), licensed Apache-2.0. It adds 52 tokens to every session and 1,963 once invoked, about $0.0003 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
csharp-api-controller-standards
Defines the coding standards, patterns, and conventions for ASP.NET Core REST API controllers. Rules cover routing, HTTP verbs, response types, XML documentation, dependency injection, and asynchronous execution. Apply these rules uniformly to ensure a consistent, predictable, and well-documented API surface.
inngest-durable-functions
Use when building functions that must survive process crashes, retry automatically on failure, run on a schedule, react to events, or maintain state across infrastructure failures — e.g., webhook handlers that drop events, flaky cron jobs, background jobs that fail mid-execution, or workflows that need to resume where…
inngest-realtime
Use when streaming durable workflow updates to a UI in real time — live order status pages that animate as steps complete, AI agent token streaming from a function to the browser, log tailing for long-running jobs, or human-in-the-loop approval flows that publish a prompt and wait for a user reply. Covers Inngest v4…
inngest-brownfield-audit
Use when analyzing an existing TypeScript or JavaScript codebase to decide where and how to introduce Inngest. Covers repository discovery, framework and package detection, finding durability gaps in HTTP handlers, webhooks, cron jobs, queues, long-running jobs, AI agents, Agent Evals, polling loops, eval loops, and…
inngest-events
Use when designing event-driven workflows, decoupling services, implementing fan-out patterns (one trigger, many downstream handlers), implementing idempotent event handling with IDs (24-hour dedupe window), or handling at-least-once delivery from external sources like Stripe webhooks. Covers Inngest event schema…
inngest-setup
Use when adding durable execution to a TypeScript project — building retry-safe webhook handlers, background jobs that survive crashes, scheduled tasks, or long-running workflows that outlive a single request. Covers Inngest SDK installation, client config, environment variables, serve endpoints (Next.js, Express…