Install the "sentry-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/sentry-local-dev-loop into .claude/skills/sentry-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-local-dev-loop", 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 jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "sentry-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/sentry-local-dev-loop into .agents/skills/sentry-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-local-dev-loop", 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 jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "sentry-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/sentry-local-dev-loop into .cursor/skills/sentry-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-local-dev-loop", 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 jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "sentry-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/sentry-local-dev-loop into .gemini/skills/sentry-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-local-dev-loop", 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.
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 jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "sentry-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/sentry-local-dev-loop into .github/skills/sentry-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-local-dev-loop", 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 jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "sentry-local-dev-loop" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/sentry-local-dev-loop into .opencode/skills/sentry-local-dev-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-local-dev-loop", 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
sentry-local-dev-loop
GitHub stars
2.8k
Token cost
~3.5k tokens
SKILL.md length
536 words
Files
4 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT
At a glance
Configure Sentry for local development with environment-aware settings.
Works in 3 steps: Environment-Aware Configuration → Local Verification and Performance… → Sentry Spotlight and Offline Development
Setting up dev vs prod DSN routing
SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 4 more sections
Calls npx, npm and curl; reaches o0.ingest.sentry.io and sentry.io
What it does
Sentry Local Dev Loop is an agent skill from jeremylongshore/tons-of-skills-marketplace. Configure Sentry for local development with environment-aware settings. Use when setting up dev vs prod DSN routing, enabling debug mode, tuning sample rates for local work, or testing source maps locally. Trigger with phrases like "sentry local dev", "sentry development config", "debug sentry locally", "sentry dev environment", "sentry spotlight".
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/errors.md`, `references/examples.md` and `references/implementation.md`). Compatibility notes: Designed for Claude Code
It works with Sentry. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.
When your agent uses it
Setting up dev vs prod DSN routing
Enabling debug mode
Tuning sample rates for local work
Testing source maps locally
Example prompts
“sentry local dev”
“sentry development config”
“debug sentry locally”
“/sentry-local-dev-loop”
Requirements
Python 3
Node.js
Compatibility (from SKILL.md): Designed for Claude Code
Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves these tools, so the agent can use them without asking each time:
Read
Write
Edit
Bash(npm:*)
Bash(node:*)
Bash(npx:*)
Bash(python:*)
Grep
Glob
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
npx
npm
curl
From the folder's file list and the shell code blocks in SKILL.md.
Network
Hosts in commands or code, which the agent is likely to contact:
o0.ingest.sentry.io
sentry.io
Also links to:
docs.sentry.io
spotlightjs.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Compatibility
Designed for Claude Code
From compatibility in the SKILL.md frontmatter.
Context cost
Sentry Local Dev Loop loads about 3.5k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 536 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~93
When it runs· the whole SKILL.md, loaded when a task matches
~3.5k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~4.3k
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: notes
The automated check noted patterns worth knowing about, such as sudo or a known installer.
NoteMentions a .env fileSKILL.md:39
- `.env` file with `SENTRY_DSN_DEV` and `NODE_ENV=development`
NoteMentions a .env fileSKILL.md:105
# .env.development
NoteMentions a .env fileSKILL.md:110
# .env.production
NoteMentions a .env fileSKILL.md:120
.env
NoteMentions a .env fileSKILL.md:121
.env.development
NoteMentions a .env fileSKILL.md:122
.env.production
NoteMentions a .env fileSKILL.md:123
.env.local
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/sentry-local-dev-loop/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
sentry-local-dev-loop
description
Configure Sentry for local development with environment-aware settings.
Use when setting up dev vs prod DSN routing, enabling debug mode,
tuning sample rates for local work, or testing source maps locally.
Trigger with phrases like "sentry local dev", "sentry development config",
"debug sentry locally", "sentry dev environment", "sentry spotlight".
Configure Sentry for local development with environment-aware DSN routing, debug-mode verbosity, full-capture sample rates, beforeSend inspection, Sentry Spotlight for offline event viewing, and sentry-cli source map verification. All configuration uses environment variables so nothing leaks into commits.
Prerequisites
@sentry/node v8+ installed (TypeScript/Node) or sentry-sdk v2+ installed (Python)
Separate Sentry project created for development (different DSN from production)
.env file with SENTRY_DSN_DEV and NODE_ENV=development
Network access to *.ingest.sentry.io (or use Spotlight for fully offline work)
Instructions
Step 1 -- Environment-Aware Configuration
Create an initialization file that routes events to the correct Sentry project based on environment, enables debug logging in dev, and captures 100% of traces locally:
typescript
// instrument.mjs — import via: node --import ./instrument.mjs app.mjs
import * as Sentry from '@sentry/node';
const env = process.env.NODE_ENV || 'development';
const isDev = env !== 'production';
Sentry.init({
// Route to dev project locally, prod project in production
dsn: isDev
? process.env.SENTRY_DSN_DEV
: process.env.SENTRY_DSN,
environment: env,
release: isDev ? 'dev-local' : process.env.SENTRY_RELEASE,
// Full capture in dev — you need every event for debugging
tracesSampleRate: isDev ? 1.0 : 0.1,
sampleRate: isDev ? 1.0 : 1.0,
// Verbose SDK output to console in dev
debug: isDev,
// Include PII locally for easier debugging (never in prod)
sendDefaultPii: isDev,
// Sentry Spotlight — shows events in local browser UI
// Install: npx @spotlightjs/spotlight
spotlight: isDev,
beforeSend(event, hint) {
if (isDev) {
const exc = event.exception?.values?.[0];
const label = exc
? `${exc.type}: ${exc.value}`
: event.message || 'event';
console.log(`[Sentry Dev] ${label}`);
console.log(` Tags: ${JSON.stringify(event.tags || {})}`);
}
return event;
},
beforeSendTransaction(event) {
if (isDev) {
const duration = event.timestamp && event.start_timestamp
? ((event.timestamp - event.start_timestamp) * 1000).toFixed(0)
: '?';
console.log(`[Sentry Dev] Transaction: ${event.transaction} (${duration}ms)`);
}
return event;
},
});
Set up environment files to keep DSNs out of source:
Step 3 -- Sentry Spotlight and Offline Development
Sentry Spotlight runs a local sidecar that intercepts Sentry events and displays them in a browser UI at http://localhost:8969 (Spotlight's default port) — no network required:
bash
# Install and run Spotlight sidecar (runs alongside your dev server)
npx @spotlightjs/spotlight
The spotlight: true option in Step 1's Sentry.init() routes events to the local sidecar. This gives you a full Sentry-style event viewer without sending anything to sentry.io.
For fully offline development or CI environments with no Sentry access:
typescript
// Offline mode — SDK loads but sends nothing
Sentry.init({
dsn: '', // Empty DSN = all capture calls become no-ops
debug: false, // No debug output since nothing is sent
});
// All Sentry.captureException() and captureMessage() calls still work
// without throwing — your code runs without modification
Test source maps locally before deploying with sentry-cli:
Add a git pre-push hook to prevent hardcoded DSNs from leaking into the repo:
bash
#!/bin/bash
set -e
# .git/hooks/pre-push — block commits with hardcoded DSNs
if grep -rn "ingest\.sentry\.io" --include="*.ts" --include="*.js" \
--exclude-dir=node_modules --exclude-dir=dist src/ lib/; then
echo "ERROR: Hardcoded Sentry DSN found in source. Use environment variables."
exit 1
fi
Output
Environment-aware Sentry.init() routing dev events to a separate Sentry project
Debug logging printing captured events and transaction durations to the console
Verification script confirming captureMessage, captureException, and startSpan work
Sentry Spotlight integration for browsing events locally without network
Source map upload and verification workflow with sentry-cli
Pre-push hook preventing hardcoded DSNs from entering version control
Show full SKILL.md (227 more words)Show less
Error Handling
Error
Cause
Solution
Events going to prod project
Wrong DSN loaded for environment
Verify SENTRY_DSN_DEV is set; log process.env.NODE_ENV at startup
Debug output too verbose
debug: true left on in production
Gate with debug: isDev as shown in Step 1
Events not appearing in Spotlight
Sidecar not running
Run npx @spotlightjs/spotlight in a separate terminal
Sentry.flush() times out
No network or invalid DSN
Check DSN, test with curl https://sentry.io/api/0/
Rate-limited during dev
100% sample rate hitting project quota
Use a dedicated dev project with separate quota
Source maps not resolving
Release mismatch between upload and init
Ensure --release in sentry-cli matches release in Sentry.init()
getClient() returns undefined
SDK not initialized before check
Import instrument.mjs via --import flag before any app code
beforeSend dropping events
Returns undefined instead of event
Always return event to keep it, or null to explicitly drop
Examples
TypeScript — Conditional Init Helper
typescript
// lib/sentry.ts — reusable initialization for any Node.js app
import * as Sentry from '@sentry/node';
export function initSentry() {
const env = process.env.NODE_ENV || 'development';
const isDev = env !== 'production';
// Option A: Skip Sentry entirely if no dev DSN is configured
if (isDev && !process.env.SENTRY_DSN_DEV) {
console.log('[Sentry] Skipped — no SENTRY_DSN_DEV configured');
return;
}
Sentry.init({
dsn: isDev ? process.env.SENTRY_DSN_DEV : process.env.SENTRY_DSN,
environment: env,
debug: isDev,
tracesSampleRate: isDev ? 1.0 : 0.1,
spotlight: isDev,
sendDefaultPii: isDev,
beforeSend(event) {
if (isDev) {
const exc = event.exception?.values?.[0];
console.log(`[Sentry] ${exc?.type || 'Event'}: ${exc?.value || event.message}`);
}
return event;
},
});
console.log(`[Sentry] Initialized for ${env}`);
}
Python — Environment-Aware Setup
python
# sentry_config.py — environment-aware initialization
import os
import sentry_sdk
def init_sentry():
env = os.getenv("SENTRY_ENVIRONMENT", "development")
is_dev = env != "production"
dsn = (
os.getenv("SENTRY_DSN_DEV")
if is_dev
else os.getenv("SENTRY_DSN")
)
if is_dev and not dsn:
print("[Sentry] Skipped — no SENTRY_DSN_DEV configured")
return
sentry_sdk.init(
dsn=dsn,
environment=env,
release="dev-local" if is_dev else os.getenv("SENTRY_RELEASE"),
# Full capture in dev
traces_sample_rate=1.0 if is_dev else 0.1,
sample_rate=1.0,
# Verbose SDK logging in dev
debug=is_dev,
# Sentry Spotlight for local event viewing
spotlight=True if is_dev else False,
# Inspect events before they are sent
before_send=_before_send_dev if is_dev else None,
)
print(f"[Sentry] Initialized for {env}")
def _before_send_dev(event, hint):
"""Log events to console during local development."""
exc_info = hint.get("exc_info")
if exc_info:
exc_type, exc_value, _ = exc_info
print(f"[Sentry Dev] {exc_type.__name__}: {exc_value}")
elif event.get("message"):
print(f"[Sentry Dev] Message: {event['message']}")
return event
python
# verify_sentry.py — verification script
import os
import sentry_sdk
sentry_sdk.init(
dsn=os.getenv("SENTRY_DSN_DEV"),
debug=True,
environment="verification",
spotlight=True,
)
# Test captureMessage
sentry_sdk.capture_message("Dev verification — Python", "info")
# Test captureException
try:
raise ValueError("Dev verification error — Python")
except Exception as e:
event_id = sentry_sdk.capture_exception(e)
print(f"Event ID: {event_id}")
# Test performance span
with sentry_sdk.start_span(op="test", description="verification span"):
import time
time.sleep(0.1)
sentry_sdk.flush()
print("Verification complete — check Sentry dashboard or Spotlight")
Sentry Local Dev Loop 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.
Sentry Local Dev Loop compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Sentry Local Dev Loop this skilljeremylongshore/tons-of-skills-marketplace
Filter large Sentry Scraps design-system migration PRs for review by separating mechanical import-path changes, generated baseline updates, snapshot mocks, and pure renames from substantive…
Enforces that every error in a service is captured to Sentry v8, with patterns for controllers, routes, cron jobs and database performance spans instead of console logging alone.
Configure Sentry for local development with environment-aware settings. Sentry Local Dev Loop is an agent skill from jeremylongshore/tons-of-skills-marketplace. Configure Sentry for local development with environment-aware settings.
When should I use Sentry Local Dev Loop?
Sentry Local Dev Loop fits situations like: setting up dev vs prod DSN routing; enabling debug mode; tuning sample rates for local work; testing source maps locally.
How do I install Sentry Local Dev Loop in Claude Code?
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a claude-code`. Or copy the skill folder (skills/.curated/sentry-local-dev-loop in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/sentry-local-dev-loop in your project. Claude Code loads it when a task matches its description.
How do I install Sentry Local Dev Loop in Codex?
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a codex`. Or copy the skill folder (skills/.curated/sentry-local-dev-loop in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/sentry-local-dev-loop in your project. Codex loads it when a task matches its description.
Can I use Sentry Local Dev Loop 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 jeremylongshore/tons-of-skills-marketplace --skill sentry-local-dev-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sentry-local-dev-loop, .gemini/skills/sentry-local-dev-loop, .github/skills/sentry-local-dev-loop and .opencode/skills/sentry-local-dev-loop in your project.
What does Sentry Local Dev Loop need to run?
Going by SKILL.md and its folder, Sentry Local Dev Loop needs the command-line tools its instructions call (npx, npm and curl). Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(npm:*), Bash(node:*), Bash(npx:*), Bash(python:*), Grep, Glob. Compatibility (from SKILL.md): Designed for Claude Code.
Does Sentry Local Dev Loop access the network?
SKILL.md names 4 domains. In commands or code: o0.ingest.sentry.io and sentry.io; the agent is likely to contact these when it follows the instructions. As links in the text: docs.sentry.io and spotlightjs.com. This is read from the text; nothing was executed.
Is Sentry Local Dev Loop safe to install?
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.
What licence does Sentry Local Dev Loop use?
Sentry Local Dev Loop is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Sentry Local Dev Loop use?
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 729 tokens, read only when the agent opens those files.
What are the alternatives to Sentry Local Dev Loop?
Skills that share tags, products or a category with Sentry Local Dev Loop: Node Backend Development Guidelines (diet103/claude-code-infrastructure-showcase, 10k stars), Scraps Review (getsentry/sentry, 46k stars), Sentry v8 Error Tracking (diet103/claude-code-infrastructure-showcase, 10k stars) and Create Pull Request with Work Item ID (makeplane/plane, 61k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Sentry Local Dev Loop?
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.