Install the "add-node-sdk" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-node-sdk into .claude/skills/add-node-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-node-sdk", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add gotempsh/temps --skill add-node-sdk -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "add-node-sdk" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-node-sdk into .agents/skills/add-node-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-node-sdk", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add gotempsh/temps --skill add-node-sdk -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "add-node-sdk" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-node-sdk into .cursor/skills/add-node-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-node-sdk", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add gotempsh/temps --skill add-node-sdk -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "add-node-sdk" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-node-sdk into .gemini/skills/add-node-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-node-sdk", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
GitHub CLI
$ gh skill install gotempsh/temps add-node-sdk
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add gotempsh/temps --skill add-node-sdk -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "add-node-sdk" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-node-sdk into .github/skills/add-node-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-node-sdk", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add gotempsh/temps --skill add-node-sdk -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "add-node-sdk" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-node-sdk into .opencode/skills/add-node-sdk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-node-sdk", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
add-node-sdk
GitHub stars
822
Token cost
~2.2k tokens
SKILL.md length
522 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
Apache-2.0
At a glance
Integrate the Temps Node.js SDKs for server-side platform access, KV storage, and Blob storage.
Works in 5 steps: Never hardcode keys/tokens — read from… → Check error on TempsClient calls before… → Catch KVError / BlobError around storage… → …
The user wants to:
SKILL.md covers The three real packages, Platform API client —…, Server-side error tracking —… and KV storage — @temps-sdk/kv, plus 3 more sections
Calls npm; needs TEMPS_TOKEN and TEMPS_API_KEY
What it does
Add Node SDK is an agent skill from gotempsh/temps. Integrate the Temps Node.js SDKs for server-side platform access, KV storage, and Blob storage. Use when the user wants to: (1) Call the Temps platform API from Node.js (deployments, projects, analytics, session replay, etc.), (2) Use Temps KV (key-value) storage, (3) Use Temps Blob storage for files, (4) Server-side integration with a Temps project, (5) Backend access to Temps resources. Triggers: "temps node sdk", "temps kv", "temps blob", "backend integration", "node.js temps", "@temps-sdk/node-sdk".
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering File uploads and storage, Backend development and Deployment. It works with Node.js, Azure Blob Storage, Sentry and Vercel. The repository describes itself as: AI-native open-source alternative to Vercel + Sentry + PostHog + Pingdom + Resend + E2B. 440+ CLI operations with drop-in skills for Claude Code, Codex & OpenCode — deployments… The licence is Apache-2.0.
When your agent uses it
The user wants to:
Call the Temps platform API from Node.js (deployments
Use Temps KV (key-value) storage
Use Temps Blob storage for files
Example prompts
“temps node sdk”
“temps kv”
“temps blob”
“/add-node-sdk”
Requirements
Node.js
A credential in TEMPS_API_KEY
A credential in TEMPS_TOKEN
Workflow steps
5 steps, taken from the first numbered list in SKILL.md.
1Never hardcode keys/tokens — read from environment variables.
2Check error on TempsClient calls before using data (hey-api result shape).
3Catch KVError / BlobError around storage calls.
4Initialize ErrorTracking.init() once at startup, before code that can throw.
5Confirm method names from the generated .d.ts — the platform client surface is generated from OpenAPI and evolves with the API.
What it can do on your machine
Read from SKILL.md and the folder at commit 80aff9a. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
npm
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names these keys or tokens, usually read from environment variables:
TEMPS_TOKEN
TEMPS_API_KEY
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Add Node SDK loads about 2.2k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 522 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~130
When it runs· the whole SKILL.md, loaded when a task matches
~2.2k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/add-node-sdk/SKILL.md (or your agent's skills folder).
name
add-node-sdk
description
Integrate the Temps Node.js SDKs for server-side platform access, KV storage, and Blob storage. Use when the user wants to: (1) Call the Temps platform API from Node.js (deployments, projects, analytics, session replay, etc.), (2) Use Temps KV (key-value) storage, (3) Use Temps Blob storage for files, (4) Server-side integration with a Temps project, (5) Backend access to Temps resources. Triggers: "temps node sdk", "temps kv", "temps blob", "backend integration", "node.js temps", "@temps-sdk/node-sdk".
Add Node.js SDKs
Integrate Temps platform features in Node.js / TypeScript apps.
Verified against the real published packages. A prior version of this skill referenced @temps-sdk/node (which does not exist), new Temps({ apiKey, projectId }), temps.track(), new KV({ apiKey, namespace }), kv.has(), blob.get(), blob.getSignedUrl(), TempsError — none of those exist. Confirm any API before changing it:
bash
npm pack @temps-sdk/node-sdk@latest @temps-sdk/kv@latest @temps-sdk/blob@latest
for t in temps-sdk-*-*.tgz; do tar -xzf "$t"; echo "== $t =="; cat package/dist/index.d.ts | head -60; rm -rf package; done
The three real packages
Package
Purpose
@temps-sdk/node-sdk
Full platform API client (generated) + Sentry-style server error tracking
@temps-sdk/kv
Vercel-KV-style key/value store
@temps-sdk/blob
Vercel-Blob-style file store
There is no@temps-sdk/node. The platform client package is @temps-sdk/node-sdk.
TempsClient is a generated client (hey-api) over the Temps OpenAPI surface. Construct it with a baseUrl and apiKey, then call resource sub-namespaces.
typescript
import { TempsClient } from '@temps-sdk/node-sdk';
const temps = new TempsClient({
baseUrl: process.env.TEMPS_API_URL!, // e.g. https://app.temps.sh
apiKey: process.env.TEMPS_API_KEY, // create under Settings → API Keys
});
// Resource namespaces (each maps to OpenAPI operations):
// temps.projects, temps.deployments, temps.analytics, temps.sessionReplay,
// temps.domains, temps.dns, temps.backups, temps.crons, temps.email,
// temps.externalServices, temps.files, temps.funnels, temps.git, temps.monitoring,
// temps.notifications, temps.performance, temps.platform, temps.proxyLogs,
// temps.repositories, temps.settings, temps.users, temps.apiKeys, temps.auditLogs, …
const projects = await temps.projects /* .list(...) etc. */;
⚠️ The config is { baseUrl, apiKey } (Vercel-style baseUrl), not{ apiKey, projectId }. There is no top-level temps.track() / temps.identify() — analytics live under temps.analytics.*. Use editor autocomplete on the namespace, or read package/dist/index.d.ts and client/sdk.gen.d.ts for exact method names and argument shapes (they're generated and may evolve).
Each call resolves to { data, error, request, response } (hey-api result shape) — check error before using data.
Server-side error tracking — @temps-sdk/node-sdk
The node SDK re-exports a Sentry-compatible error-tracking API as the ErrorTracking namespace. It is DSN-based and mirrors @sentry/node.
For most error-tracking work, prefer the dedicated add-error-tracking skill: Temps is Sentry wire-compatible, so the official @sentry/node SDK pointed at a Temps DSN is the recommended path. Use ErrorTracking from @temps-sdk/node-sdk only when you specifically want the bundled implementation (no extra dependency).
KV storage — @temps-sdk/kv
Vercel-KV-style API. Use the default kv instance (env-configured) or construct a KV/createClient.
Explicit client (when you don't want env-based config):
typescript
import { KV } from '@temps-sdk/kv';
const store = new KV({
apiUrl: process.env.TEMPS_API_URL,
token: process.env.TEMPS_TOKEN, // API key or deployment token
projectId: 42, // number; required with API keys, inferred from deployment tokens
});
SetOptions (Redis-style): { ex?: number /* sec */, px?: number /* ms */, nx?: boolean, xx?: boolean }.
⚠️ The config field is token (API key or deployment token) + projectId: number, notapiKey/namespace. There is nokv.has(), kv.list({prefix}), getWithMetadata, or a { ttl } set option — use { ex } / { px }. KV errors throw KVError.
Show full SKILL.md (196 more words)Show less
Blob storage — @temps-sdk/blob
Vercel-Blob-style API. Use the default blob instance or construct BlobClient/createClient.
typescript
import { blob } from '@temps-sdk/blob';
// or: import { BlobClient, createClient } from '@temps-sdk/blob';
// Upload (returns BlobInfo: { url, pathname, contentType, size, ... })
const info = await blob.put('avatars/user-123.png', imageBuffer, {
contentType: 'image/png',
addRandomSuffix: false, // default true — set false to keep the exact pathname
});
// Download (returns a fetch Response — stream or buffer it yourself)
const res = await blob.download(info.url);
const bytes = Buffer.from(await res.arrayBuffer());
// Metadata
const meta = await blob.head(info.url);
// List with pagination
const { blobs, cursor, hasMore } = await blob.list({ prefix: 'avatars/', limit: 100 });
// Copy and delete
await blob.copy(info.url, 'avatars/backup.png');
await blob.del(info.url); // also accepts string[] of urls/pathnames
Explicit client:
typescript
import { BlobClient } from '@temps-sdk/blob';
const store = new BlobClient({
apiUrl: process.env.TEMPS_API_URL,
token: process.env.TEMPS_TOKEN,
projectId: 42,
});
⚠️ Methods are put / del / head / list / download / copy. There is noblob.get(), blob.getStream(), blob.getSignedUrl(), or blob.createUploadUrl() — to read content, call download(url) and consume the Response. Blob errors throw BlobError.
Environment Variables
Variable
Used by
Notes
TEMPS_API_URL
node-sdk (baseUrl), kv, blob
Base URL of the Temps API, e.g. https://app.temps.sh
TEMPS_API_KEY
node-sdk TempsClient
Create under Settings → API Keys
TEMPS_TOKEN
kv, blob
API key or deployment token
TEMPS_PROJECT_ID
kv, blob
Numeric project id; required with API keys, inferred from deployment tokens
SENTRY_DSN
node-sdk ErrorTracking
Temps DSN from Error Tracking → DSN & Setup
On Temps deployments these may be injected automatically when you link a KV/Blob service to the project — check the project's environment variables before hardcoding.
Best Practices
Never hardcode keys/tokens — read from environment variables.
Check error on TempsClient calls before using data (hey-api result shape).
Catch KVError / BlobError around storage calls.
Initialize ErrorTracking.init() once at startup, before code that can throw.
Confirm method names from the generated .d.ts — the platform client surface is generated from OpenAPI and evolves with the API.
Add Node SDK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Add Temps analytics to React applications with comprehensive tracking capabilities including page views, custom events, scroll tracking, engagement monitoring, session recording, and Web Vitals…
Design, build, test, and distribute external Temps plugins with TypeScript/Bun; provide development and local-testing guidance for existing Rust plugins.
Integrate the Temps Node.js SDKs for server-side platform access, KV storage, and Blob storage. Add Node SDK is an agent skill from gotempsh/temps.js SDKs for server-side platform access, KV storage, and Blob storage.
When should I use Add Node SDK?
Add Node SDK fits situations like: the user wants to:; call the Temps platform API from Node.js (deployments; use Temps KV (key-value) storage; use Temps Blob storage for files.
How do I install Add Node SDK in Claude Code?
Run `npx skills add gotempsh/temps --skill add-node-sdk -a claude-code`. Or copy the skill folder (skills/add-node-sdk in gotempsh/temps) into .claude/skills/add-node-sdk in your project. Claude Code loads it when a task matches its description.
How do I install Add Node SDK in Codex?
Run `npx skills add gotempsh/temps --skill add-node-sdk -a codex`. Or copy the skill folder (skills/add-node-sdk in gotempsh/temps) into .agents/skills/add-node-sdk in your project. Codex loads it when a task matches its description.
Can I use Add Node SDK in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gotempsh/temps --skill add-node-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-node-sdk, .gemini/skills/add-node-sdk, .github/skills/add-node-sdk and .opencode/skills/add-node-sdk in your project.
What does Add Node SDK need to run?
Going by SKILL.md and its folder, Add Node SDK needs the command-line tools its instructions call (npm) and credentials named TEMPS_TOKEN and TEMPS_API_KEY. Our summary lists: Node.js; A credential in TEMPS_API_KEY; A credential in TEMPS_TOKEN.
Does Add Node SDK access the network?
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Add Node SDK safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Add Node SDK use?
Add Node SDK is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Add Node SDK use?
About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Add Node SDK?
Skills that share tags, products or a category with Add Node SDK: Vercel Functions (vercel/vercel-plugin, 301 stars), Node Backend Development Guidelines (diet103/claude-code-infrastructure-showcase, 10k stars), Azure Storage Blob TS (microsoft/skills, 3.1k stars) and Fullstack Dev (HHU3637kr/skills, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Add Node SDK?
gotempsh (a GitHub organization) maintains it in gotempsh/temps, which has 822 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.
Source: gotempsh/temps on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.