Synthèse automatique
Ce skill intègre un service de suivi d'erreurs (Sentry, Rollbar, Bugsnag, etc.) dans une application en détectant le framework, en configurant le SDK, en ajoutant des error boundaries, du contexte et des breadcrumbs.
Points forts
- Détecte le framework (React, Vue, Angular, Express, Fastify, Django, Flask, Rails) avant de proposer une configuration adaptée
- Couvre le cycle complet : installation, error boundaries, contexte utilisateur, breadcrumbs, capture manuelle et source maps
- Inclut des garde-fous concrets comme le nettoyage des données sensibles via beforeSend et ignoreErrors
- Fournit des exemples de code prêts à l'emploi pour Sentry côté frontend et backend Node.js
Limites
- Les extraits de code sont majoritairement orientés Sentry et JavaScript, les autres services et langages sont seulement mentionnés
- La configuration des alertes et du monitoring de performance est décrite de façon succincte, sans exemples détaillés
- Suppose que l'utilisateur dispose déjà d'un compte et d'un DSN chez le fournisseur choisi
À utiliser lorsqu'on veut ajouter un suivi d'erreurs en production ou instrumenter une application existante avec Sentry ou un service équivalent.
À éviter pour du simple logging local en développement ou si l'équipe n'a pas encore choisi de service de suivi d'erreurs.
Analyse de sécurité
PrudenceThe skill is legitimate and contains no destructive, exfiltrating, or obfuscated instructions. However, it uses Bash, Write, and Edit to install dependencies and modify application code, and it configures third-party error reporting that may transmit user PII. These are normal but powerful operations, so caution is appropriate.
- •Uses Bash to run npm install, which can execute third-party package lifecycle scripts; dependencies should be pinned/verified.
- •Sends user context including email/username to a third-party error service; ensure consent and PII scrubbing, although the skill includes a beforeSend scrub example.
- •Source map upload references SENTRY_AUTH_TOKEN; ensure the token is stored as a secret and never committed.
Exemples
Add Sentry error tracking to my React app: initialize the SDK with the DSN from env, wrap the app in an ErrorBoundary, and set user context after login.Set up Sentry in my Express backend with the request handler and error handler middleware, and scrub password fields before sending events.Our error tracker is flooded with browser extension and non-error promise rejection noise — add filters and ignoreErrors rules to clean it up.name: error-tracking-integrator description: Adds comprehensive error tracking with Sentry, Rollbar, or similar services including error boundaries, context, and breadcrumbs. Use when user requests error monitoring or mentions production debugging. allowed-tools: Read, Grep, Glob, Write, Edit, Bash
Error Tracking Integrator
Integrates error tracking services into applications for better production debugging and monitoring.
When to Use
- User requests error monitoring or tracking
- Setting up production error logging
- User mentions "Sentry", "error tracking", "crash reporting", or "production debugging"
Instructions
1. Detect Framework
Identify application framework:
- React, Vue, Angular (frontend)
- Express, Fastify (Node.js backend)
- Django, Flask (Python)
- Rails (Ruby)
2. Choose Error Tracking Service
Popular services:
- Sentry: Most popular, comprehensive
- Rollbar: Good for backend
- Bugsnag: Multi-platform
- Airbrake: Ruby-focused
- LogRocket: Session replay + errors
3. Install and Configure
Sentry (React example):
npm install @sentry/react
import * as Sentry from "@sentry/react";
Sentry.init({
dsn: process.env.REACT_APP_SENTRY_DSN,
environment: process.env.NODE_ENV,
tracesSampleRate: 1.0,
integrations: [
new Sentry.BrowserTracing(),
new Sentry.Replay()
],
});
Sentry (Node.js/Express):
const Sentry = require("@sentry/node");
Sentry.init({
dsn: process.env.SENTRY_DSN,
environment: process.env.NODE_ENV,
tracesSampleRate: 1.0,
});
// Request handler (first middleware)
app.use(Sentry.Handlers.requestHandler());
// Error handler (after all routes, before error middleware)
app.use(Sentry.Handlers.errorHandler());
4. Add Error Boundaries (React)
import { ErrorBoundary } from '@sentry/react';
function App() {
return (
<ErrorBoundary fallback={<ErrorFallback />}>
<YourApp />
</ErrorBoundary>
);
}
5. Add Context
User context:
Sentry.setUser({
id: user.id,
email: user.email,
username: user.username
});
Tags:
Sentry.setTag("page_locale", "en-US");
Sentry.setTag("feature_flag", "new_ui");
Context:
Sentry.setContext("order", {
id: order.id,
total: order.total,
items: order.items.length
});
6. Breadcrumbs
Track user actions leading to error:
Sentry.addBreadcrumb({
category: "auth",
message: "User logged in",
level: "info"
});
Sentry.addBreadcrumb({
category: "ui",
message: "Button clicked",
data: { buttonId: "submit-form" }
});
7. Manual Error Capture
try {
riskyOperation();
} catch (error) {
Sentry.captureException(error, {
tags: { section: "payment" },
level: "error",
extra: { orderId: order.id }
});
}
8. Filter Sensitive Data
Scrub PII:
Sentry.init({
beforeSend(event, hint) {
// Don't send if contains sensitive data
if (event.request?.data?.password) {
delete event.request.data.password;
}
return event;
},
ignoreErrors: [
// Ignore browser extension errors
/extensions\//i,
/^Non-Error promise rejection/,
]
});
9. Source Maps (Production)
Enable source maps for readable stack traces:
Webpack:
// webpack.config.js
module.exports = {
devtool: 'source-map',
plugins: [
new SentryWebpackPlugin({
org: "your-org",
project: "your-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
include: "./dist",
}),
],
};
10. Alert Configuration
Set up alerts for:
- New issues
- Regression (resolved issue occurs again)
- Spike in error rate
- Critical errors (payment, auth failures)
11. Performance Monitoring
Add transaction tracking:
const transaction = Sentry.startTransaction({
name: "processOrder",
op: "task"
});
try {
await processOrder();
} finally {
transaction.finish();
}
12. Best Practices
- Environment separation: Different projects for dev/staging/prod
- Release tracking: Tag errors with release version
- Sample rates: 100% errors, lower% for performance
- Team notifications: Slack/email integration
- Issue assignment: Auto-assign to code owners
- Error grouping: Custom fingerprinting for better grouping
- Don't log sensitive data: PII, passwords, tokens
Supporting Files
templates/sentry-react.js: React integration templatetemplates/sentry-node.js: Node.js integration templatetemplates/sentry-python.py: Python integration template
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/error-tracking-integrator-mrzxur6g' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/error-tracking-integrator-mrzxur6g/download' --output '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md.part' && mv '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md.part' '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Grep, Glob, Write, Edit, Bash
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md' && test -s '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/error-tracking-integrator' && cp -R '.skill-downloads/error-tracking-integrator-mrzxur6g' '.claude/skills/error-tracking-integrator'Cursor
test -f '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md' && test -s '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/error-tracking-integrator' && cp -R '.skill-downloads/error-tracking-integrator-mrzxur6g' '.cursor/skills/error-tracking-integrator'Codex
test -f '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md' && test -s '.skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/error-tracking-integrator' && cp -R '.skill-downloads/error-tracking-integrator-mrzxur6g' '.agents/skills/error-tracking-integrator'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/error-tracking-integrator-mrzxur6g'openskills read 'error-tracking-integrator-mrzxur6g'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/error-tracking-integrator-mrzxur6g/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Configurer un canal de discussion avec SecretRefs
DevOps
Configurez des canaux de discussion avec des commandes non interactives, les secrets étant uniquement des SecretRefs. Couvre les étapes de collecte, modification, réparation et vérification.
Enquêter sur les échecs CI de ClickHouse
DevOps
Investigue un échec CI de ClickHouse de bout en bout à partir d'une URL de PR ou de rapport S3. Récupère les tests échoués, classe flaky vs vraie régression, et cherche des issues/fixes existants.
Revue de PR Ansible
DevOps
Examine une PR Ansible selon le processus standardisé du projet, incluant la validation des changelogs, la couverture de tests et le suivi des commentaires.