React Devtools
sanity-io/sanity
React DevTools CLI for AI agents. An agent skill from sanity-io/sanity.
Add Temps error tracking to applications using the Sentry-compatible SDK.
$ npx skills add gotempsh/temps --skill add-error-tracking -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gotempsh/temps add-error-tracking --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gotempsh/temps.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/add-error-tracking .claude/skills/add-error-tracking && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-error-tracking" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-error-tracking into .claude/skills/add-error-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-error-tracking", 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.
$skill-installer install https://github.com/gotempsh/temps/tree/main/skills/add-error-trackingType 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.
$ npx skills add gotempsh/temps --skill add-error-tracking -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gotempsh/temps add-error-tracking --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gotempsh/temps.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/add-error-tracking .agents/skills/add-error-tracking && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-error-tracking" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-error-tracking into .agents/skills/add-error-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-error-tracking", 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.
$ npx skills add gotempsh/temps --skill add-error-tracking -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gotempsh/temps add-error-tracking --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gotempsh/temps.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/add-error-tracking .cursor/skills/add-error-tracking && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-error-tracking" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-error-tracking into .cursor/skills/add-error-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-error-tracking", 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.
$ gemini skills install https://github.com/gotempsh/temps.git --path skills/add-error-tracking--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gotempsh/temps --skill add-error-tracking -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gotempsh/temps add-error-tracking --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gotempsh/temps.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/add-error-tracking .gemini/skills/add-error-tracking && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-error-tracking" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-error-tracking into .gemini/skills/add-error-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-error-tracking", 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.
$ gh skill install gotempsh/temps add-error-trackingInstalls 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).
$ npx skills add gotempsh/temps --skill add-error-tracking -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gotempsh/temps.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/add-error-tracking .github/skills/add-error-tracking && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-error-tracking" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-error-tracking into .github/skills/add-error-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-error-tracking", 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.
$ npx skills add gotempsh/temps --skill add-error-tracking -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gotempsh/temps add-error-tracking --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gotempsh/temps.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/add-error-tracking .opencode/skills/add-error-tracking && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-error-tracking" agent skill from https://github.com/gotempsh/temps/tree/main/skills/add-error-tracking into .opencode/skills/add-error-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-error-tracking", 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.
add-error-trackingAdd Temps error tracking to applications using the Sentry-compatible SDK.
Add Error Tracking is an agent skill from gotempsh/temps. Add Temps error tracking to applications using the Sentry-compatible SDK. Temps exposes a Sentry-compatible DSN that works with the official Sentry SDK for each language/framework — no code changes beyond initialization are required. Use when the user wants to: (1) Add error tracking to any app (React, Next.js, Vue, Svelte, Angular, Node.js, Python, Go, Rust, Ruby, Java, PHP, .NET, React Native, Flutter), (2) Wire up uncaught exception and unhandled promise rejection capture, (3) Configure session replay for…
Its SKILL.md is about 4.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 Mobile, covering Cross-platform mobile apps and Debugging. It works with Sentry, Next.js, React and Rust. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 80aff9a. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmnpxflutterpipgocargobundlecomposerdotnetFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, npx and pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Error Tracking loads about 4.2k tokens when it runs. Until then it costs about 200 tokens; SKILL.md has 1,204 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# .envnvironment sets the DSN env var — local `.env` files are not copied automatically.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.
The full file from gotempsh/temps at commit 80aff9a, republished under its Apache-2.0 licence (© gotempsh). 1,204 words, ~4,214 tokens.
.claude/skills/add-error-tracking/SKILL.md (or your agent's skills folder).Integrate Temps error tracking (Sentry-compatible) into an application. The Temps DSN is a drop-in replacement for a Sentry DSN — use the official Sentry SDK for the user's platform and point it at the Temps DSN via an environment variable.
Temps is Sentry wire-compatible, so every skill Sentry publishes for their SDKs works against a Temps DSN. If the user's CLI already has one of these installed, route them to it and only substitute the DSN:
| User's platform | Sentry skill | Source |
|---|---|---|
| Next.js | /sentry-nextjs-sdk | getsentry/sentry-for-ai |
| React (Vite, Remix, etc.) | /sentry-react-sdk | getsentry/sentry-for-ai |
| Vanilla browser JS | /sentry-browser-sdk | getsentry/sentry-for-ai |
| Node.js | /sentry-node-sdk | getsentry/sentry-for-ai |
| React Native | /sentry-react-native-sdk | getsentry/sentry-for-ai |
| Generic (language-agnostic) | /sentry-sdk-setup | getsentry/sentry-for-ai |
For platforms Sentry has no dedicated skill for (Vue, Svelte, Angular, Python, Go, Rust, Ruby, Java, PHP, .NET, Flutter, etc.), follow the setup in this file directly.
Always set the DSN from an environment variable — never hardcode it. The user will point the env var at their Temps DSN instead of a Sentry DSN.
Infer the platform from the codebase:
package.json with "next" → Next.js → @sentry/nextjspackage.json with "react" and Vite/Remix/CRA → React → @sentry/reactpackage.json with "vue" or "nuxt" → Vue → @sentry/vuepackage.json with "svelte" or "@sveltejs/kit" → Svelte → @sentry/sveltekitpackage.json with "@angular/core" → Angular → @sentry/angularpackage.json with "express", "fastify", "@nestjs/core" → Node.js → @sentry/nodepackage.json with "react-native" or "expo" → React Native → @sentry/react-nativerequirements.txt/pyproject.toml with Flask, Django, FastAPI → Python → sentry-sdkgo.mod → Go → github.com/getsentry/sentry-goCargo.toml → Rust → sentryGemfile with rails → Ruby → sentry-ruby + sentry-railspom.xml/build.gradle with Spring → Java → sentry-spring-boot-starter-jakartacomposer.json with laravel/framework or symfony/* → PHP → sentry/sentry.csproj with Microsoft.AspNetCore.* → .NET → Sentry.AspNetCorepubspec.yaml with flutter → Flutter → sentry_flutterThe user's Temps project exposes a DSN at Error Tracking → DSN & Setup. It looks like:
https://<public_key>@<temps-host>/<project_id>If the user has not provided a DSN, tell them to:
Always store the DSN in an environment variable. The exact variable name depends on the platform (browser bundlers often require a prefix to expose vars to the client):
| Platform | Env var name |
|---|---|
| Next.js | NEXT_PUBLIC_SENTRY_DSN |
| Vite / React / Vue | VITE_SENTRY_DSN |
| SvelteKit | PUBLIC_SENTRY_DSN |
| Angular | SENTRY_DSN (injected via environment.ts) |
| Everything else (Node, Python, Go, Rust, Ruby, Java, PHP, .NET, Flutter) | SENTRY_DSN |
# .env
SENTRY_DSN=https://<public_key>@<temps-host>/<project_id>tunnelFor every browser platform (Next.js client config, React, Vue, Svelte,
vanilla JS — not server-side SDKs, not React Native/Flutter), also pass
tunnel in the same Sentry.init call:
Sentry.init({
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
tunnel: process.env.NEXT_PUBLIC_SENTRY_TUNNEL,
});Why: without tunnel, the SDK POSTs straight to the DSN's host (the Temps
console), which is a third-party, cross-origin request from the app's own
domain — ad blockers commonly block it, and it costs a CORS preflight on
every event. With tunnel set to a same-origin path, the browser posts to
the app's own domain instead; Temps' proxy forwards anything under
/api/_temps to the console regardless of which project domain it arrived
on, so this works unmodified on custom domains and preview URLs.
The value is a fixed path, not a secret — Temps injects it automatically as an env var alongside the DSN, under the same bundler-specific public prefix (so if the DSN reaches the client bundle, the tunnel path does too):
| Platform | DSN env var | Tunnel env var |
|---|---|---|
| Next.js | NEXT_PUBLIC_SENTRY_DSN | NEXT_PUBLIC_SENTRY_TUNNEL |
| Vite / React / Vue | VITE_SENTRY_DSN | VITE_SENTRY_TUNNEL |
| SvelteKit | PUBLIC_SENTRY_DSN | PUBLIC_SENTRY_TUNNEL |
| Angular | SENTRY_DSN (via environment.ts) | (none — no public-prefix convention; skip tunnel) |
If deploying outside Temps (or the tunnel var isn't set for some other
reason), you have two options. Omit tunnel — the SDK falls back to posting
straight to the DSN host, which still works, just cross-origin. Or point
tunnel at the absolute tunnel URL of the Temps instance, e.g.
tunnel: "https://your-temps-instance.example.com/api/_temps/sentry/envelope":
the endpoint resolves the project from the DSN the SDK embeds in the envelope,
so it does not need the app to be served by Temps. That keeps the tunnel's
ad-blocker resistance for an app Temps does not host, at the cost of the
cross-origin request the same-origin variant avoids.
Leave out Sentry.replayIntegration() and tracesSampleRate for browser
projects unless you specifically want them — Temps doesn't yet ingest Sentry
session replay or performance transactions, so that traffic would be
uploaded (through the tunnel, using the visitor's bandwidth) and discarded
server-side. Use Temps' own session replay and analytics SDKs for those
instead (see the add-session-recording and add-react-analytics skills).
Every snippet below reads the DSN from an env var — do not hardcode it.
npx @sentry/wizard@latest -i nextjsOr manually:
npm install @sentry/nextjs// sentry.client.config.ts (or instrumentation-client.ts on newer @sentry/nextjs)
import * as Sentry from '@sentry/nextjs';
Sentry.init({
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
tunnel: process.env.NEXT_PUBLIC_SENTRY_TUNNEL,
});Mirror the dsn (no tunnel, no replay) in sentry.server.config.ts and
sentry.edge.config.ts — those run server-side and post directly to the
console.
Do not set tunnelRoute in withSentryConfig — it's a different
mechanism (forwards through a Next.js server route) and its own docs state
it doesn't work with self-hosted Sentry, which is what Temps' DSN
compatibility layer is. Use the tunnel option shown above instead.
npm install @sentry/react// src/sentry.ts — import this first in main.tsx / root.tsx
import * as Sentry from '@sentry/react';
Sentry.init({
dsn: import.meta.env.VITE_SENTRY_DSN,
tunnel: import.meta.env.VITE_SENTRY_TUNNEL,
environment: import.meta.env.MODE,
});Wrap the app root with <Sentry.ErrorBoundary> for React render errors.
npm install @sentry/vue// src/main.ts
import { createApp } from 'vue';
import * as Sentry from '@sentry/vue';
import App from './App.vue';
const app = createApp(App);
Sentry.init({
app,
dsn: import.meta.env.VITE_SENTRY_DSN,
tunnel: import.meta.env.VITE_SENTRY_TUNNEL,
});
app.mount('#app');npx @sentry/wizard@latest -i sveltekit// src/hooks.client.ts
import * as Sentry from '@sentry/sveltekit';
import { PUBLIC_SENTRY_DSN, PUBLIC_SENTRY_TUNNEL } from '$env/static/public';
Sentry.init({
dsn: PUBLIC_SENTRY_DSN,
tunnel: PUBLIC_SENTRY_TUNNEL,
});
export const handleError = Sentry.handleErrorWithSentry();Mirror in src/hooks.server.ts using $env/dynamic/private for the server DSN.
npm install @sentry/angular// src/main.ts
import * as Sentry from '@sentry/angular';
import { environment } from './environments/environment';
Sentry.init({
dsn: environment.sentryDsn,
tracesSampleRate: 1.0,
});Populate environment.sentryDsn from process.env.SENTRY_DSN at build time.
No public-prefix tunnel var is injected for Angular (no bundler convention to
mirror) — skip tunnel here; the SDK posts directly to the DSN host.
npm install @sentry/browserimport * as Sentry from '@sentry/browser';
Sentry.init({
dsn: import.meta.env.VITE_SENTRY_DSN,
tunnel: import.meta.env.VITE_SENTRY_TUNNEL,
});npm install @sentry/node// Must be the first import in your entrypoint.
import * as Sentry from '@sentry/node';
Sentry.init({
dsn: process.env.SENTRY_DSN,
environment: process.env.NODE_ENV,
tracesSampleRate: 1.0,
});For Express:
import express from 'express';
import * as Sentry from '@sentry/node';
const app = express();
Sentry.setupExpressErrorHandler(app);npx @sentry/wizard@latest -s -i reactNativeimport * as Sentry from '@sentry/react-native';
Sentry.init({
dsn: process.env.SENTRY_DSN,
tracesSampleRate: 1.0,
replaysSessionSampleRate: 0.1,
replaysOnErrorSampleRate: 1.0,
});
export default Sentry.wrap(App);pip install sentry-sdkimport os
import sentry_sdk
sentry_sdk.init(
dsn=os.environ["SENTRY_DSN"],
environment=os.environ.get("ENV", "development"),
traces_sample_rate=1.0,
profiles_sample_rate=1.0,
)Framework integrations:
# Flask
from sentry_sdk.integrations.flask import FlaskIntegration
sentry_sdk.init(dsn=os.environ["SENTRY_DSN"], integrations=[FlaskIntegration()])
# Django
from sentry_sdk.integrations.django import DjangoIntegration
sentry_sdk.init(dsn=os.environ["SENTRY_DSN"], integrations=[DjangoIntegration()])
# FastAPI
from sentry_sdk.integrations.starlette import StarletteIntegration
from sentry_sdk.integrations.fastapi import FastApiIntegration
sentry_sdk.init(
dsn=os.environ["SENTRY_DSN"],
integrations=[StarletteIntegration(), FastApiIntegration()],
)go get github.com/getsentry/sentry-gopackage main
import (
"log"
"os"
"time"
"github.com/getsentry/sentry-go"
)
func main() {
err := sentry.Init(sentry.ClientOptions{
Dsn: os.Getenv("SENTRY_DSN"),
TracesSampleRate: 1.0,
Environment: os.Getenv("ENV"),
})
if err != nil {
log.Fatalf("sentry.Init: %s", err)
}
defer sentry.Flush(2 * time.Second)
}cargo add sentry sentry-tracinguse std::env;
fn main() {
let _guard = sentry::init((
env::var("SENTRY_DSN").expect("SENTRY_DSN must be set"),
sentry::ClientOptions {
release: sentry::release_name!(),
traces_sample_rate: 1.0,
environment: env::var("ENV").ok().map(Into::into),
..Default::default()
},
));
// Your app entrypoint
}bundle add sentry-ruby sentry-rails# config/initializers/sentry.rb
require "sentry-ruby"
require "sentry-rails"
Sentry.init do |config|
config.dsn = ENV["SENTRY_DSN"]
config.environment = ENV.fetch("RAILS_ENV", "development")
config.traces_sample_rate = 1.0
end<!-- pom.xml -->
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-spring-boot-starter-jakarta</artifactId>
<version>7.14.0</version>
</dependency># application.properties — Spring reads ${SENTRY_DSN} from the environment
sentry.dsn=${SENTRY_DSN}
sentry.environment=${ENV:development}
sentry.traces-sample-rate=1.0composer require sentry/sentry<?php
\Sentry\init([
'dsn' => $_ENV['SENTRY_DSN'],
'environment' => $_ENV['APP_ENV'] ?? 'development',
'traces_sample_rate' => 1.0,
]);For Laravel, use sentry/sentry-laravel and configure via config/sentry.php reading env('SENTRY_DSN').
dotnet add package Sentry.AspNetCore// Program.cs
builder.WebHost.UseSentry(options =>
{
options.Dsn = Environment.GetEnvironmentVariable("SENTRY_DSN");
options.Environment = builder.Environment.EnvironmentName;
options.TracesSampleRate = 1.0;
});flutter pub add sentry_flutterimport 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
await SentryFlutter.init(
(options) {
options.dsn = const String.fromEnvironment('SENTRY_DSN');
options.tracesSampleRate = 1.0;
},
appRunner: () => runApp(const MyApp()),
);
}Pass the DSN at build time: flutter run --dart-define=SENTRY_DSN=$SENTRY_DSN.
import * as Sentry from '@sentry/react'; // or /browser, /node, /nextjs, etc.
try {
doRiskyThing();
} catch (err) {
Sentry.captureException(err);
}
Sentry.captureMessage('Something notable happened', 'warning');try:
do_risky_thing()
except Exception as exc:
sentry_sdk.capture_exception(exc)
sentry_sdk.capture_message("Something notable happened", level="warning")sentry.CaptureException(err)
sentry.CaptureMessage("Something notable happened")sentry::capture_error(&err);
sentry::capture_message("Something notable happened", sentry::Level::Warning);Upload source maps during CI so the Temps dashboard shows original source in stack traces.
npm install --save-dev @sentry/clisentry-cli sourcemaps inject ./dist
sentry-cli sourcemaps upload \
--url-prefix '~/' \
--release "$GIT_SHA" \
./distThe Temps dashboard also accepts source map uploads via Error Tracking → Source Maps in the UI.
After wiring up:
throw new Error('Temps error tracking test');raise Exception('Temps error tracking test')sentry.CaptureException(errors.New("Temps test"))panic!("Temps test") (inside a handler caught by the Sentry integration)Sentry.init must be the very first import.NEXT_PUBLIC_, VITE_, PUBLIC_) so it reaches the client bundle..env files are not copied automatically.Origin (or Referer) matches the domain it arrived on — this rejects a script sending forged events to someone else's project, but also anything proxying/rewriting the request in a way that drops or rewrites Origin. Confirm nothing between the browser and the app strips that header.Host header via Temps' routing table — this only works for the domain(s) actually deployed on Temps. A tunnel env var used on a domain temps doesn't serve (e.g. testing against a different environment's URL) has nowhere to resolve to.© gotempsh, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/add-error-tracking of gotempsh/temps.
Open the folder on GitHubat commit 80aff9a
Add Error Tracking 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Error Tracking this skillgotempsh/temps | 822 | — | ~4.2k | Automated safety check: Notes | Apache-2.0 | |
| React Devtoolssanity-io/sanity | 6.4k | 3 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Screenmapaleqsio/screenmap | 239 | — | ~7.2k | Automated safety check: Pass | MIT | |
| Lunora Realtimeanolilab/lunora | 283 | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Data Client Setupreactive/data-client | 2k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Expo Web To Nativeexpo/skills | 2.7k | — | ~2.6k | Automated safety check: Pass | MIT |
sanity-io/sanity
React DevTools CLI for AI agents. An agent skill from sanity-io/sanity.
aleqsio/screenmap
Generate a visual navigation map of an Expo / React Native or NativeScript app.
anolilab/lunora
Wires Lunora's live data into a client. An agent skill from anolilab/lunora.
reactive/data-client
Install and set up @data-client/react or @data-client/vue in a project.
expo/skills
Migrate an existing web React app to a native iOS/Android app with Expo.
getsentry/sentry-for-ai
Set up Sentry in any language or framework. An agent skill from getsentry/sentry-for-ai.
gotempsh/temps
Manage, deploy, operate, and instrument applications with Temps.
gotempsh/temps
Add Temps analytics to React applications with comprehensive tracking capabilities including page views, custom events, scroll tracking, engagement monitoring, session recording, and Web Vitals…
gotempsh/temps
Best-practices reference for preparing and instrumenting applications on Temps.
gotempsh/temps
Operate Temps through the pinned @temps-sdk/cli package with bunx or npx.
gotempsh/temps
Design, build, test, and distribute external Temps plugins with TypeScript/Bun; provide development and local-testing guidance for existing Rust plugins.
gotempsh/temps
Add a custom domain to a Temps project and provision an automatic SSL/TLS certificate via Let's Encrypt, driven entirely from the @temps-sdk/cli CLI.
Categories
Add Temps error tracking to applications using the Sentry-compatible SDK. Add Error Tracking is an agent skill from gotempsh/temps. Add Temps error tracking to applications using the Sentry-compatible SDK.
Add Error Tracking fits situations like: the user wants to:; add error tracking to any app (React; wire up uncaught exception and unhandled promise rejection capture; configure session replay for errors.
Run `npx skills add gotempsh/temps --skill add-error-tracking -a claude-code`. Or copy the skill folder (skills/add-error-tracking in gotempsh/temps) into .claude/skills/add-error-tracking in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gotempsh/temps --skill add-error-tracking -a codex`. Or copy the skill folder (skills/add-error-tracking in gotempsh/temps) into .agents/skills/add-error-tracking in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gotempsh/temps --skill add-error-tracking -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-error-tracking, .gemini/skills/add-error-tracking, .github/skills/add-error-tracking and .opencode/skills/add-error-tracking in your project.
Going by SKILL.md and its folder, Add Error Tracking needs the command-line tools its instructions call (npm, npx, flutter, pip, go and cargo). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use npm, npx and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Add Error Tracking 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.
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Error Tracking: React Devtools (sanity-io/sanity, 6.4k stars), Screenmap (aleqsio/screenmap, 239 stars), Lunora Realtime (anolilab/lunora, 283 stars) and Data Client Setup (reactive/data-client, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.