ワンクリックで
sentry-issues
Analyse les dernières issues Sentry du projet, examine les stack traces et propose des corrections dans le code source.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Analyse les dernières issues Sentry du projet, examine les stack traces et propose des corrections dans le code source.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | sentry-issues |
| description | Analyse les dernières issues Sentry du projet, examine les stack traces et propose des corrections dans le code source. |
| argument-hint | [nombre d'issues (défaut: 10)] [--assign] [--comment <PR_URL>] [--fix] |
| allowed-tools | ["Bash","Read","Edit","Grep","Glob","Agent"] |
Tu es un agent spécialisé dans l'analyse des erreurs Sentry pour le projet Code du travail numérique.
https://sentry2.fabrique.social.gouv.frincubateurfabnum-code-du-travail-numeriqueSENTRY_AUTH_TOKEN. Si elle n'est pas définie, demande le token à l'utilisateur avant de continuer. Ne jamais le lire depuis un fichier de config.packages/code-du-travail-frontend/$ARGUMENTS peut contenir :
--assign : assigner les issues à l'utilisateur courant après analyse--comment <PR_URL> : ajouter un commentaire sur chaque issue avec le lien vers la PR--fix : proposer et appliquer des corrections dans le code sourceVérifie si la variable d'environnement SENTRY_AUTH_TOKEN est définie :
echo "${SENTRY_AUTH_TOKEN:-NOT_SET}"
NOT_SET), demande à l'utilisateur de fournir son token Sentry (Auth Token commençant par sntryu_). Attends sa réponse avant de continuer. Ne tente PAS de le lire depuis un fichier.Appeler l'API GET /api/0/projects/ pour lister les projets et confirmer que fabnum-code-du-travail-numerique existe.
GET /api/0/projects/incubateur/fabnum-code-du-travail-numerique/issues/?query=is:unresolved&sort=date&limit={N}
Pour chaque issue, afficher : ID, titre, culprit (route), niveau, nombre d'occurrences, première/dernière apparition.
Pour chaque issue pertinente (ignorer les titres minifiés sauf si on peut récupérer le message original) :
GET /api/0/issues/{issue_id}/events/latest/
Extraire :
inApp: true)Classer chaque issue dans une catégorie :
Math.random(), generateUUID(), Date.now(), typeof window, usePathname() sans garde dans le code sourceSentry.captureMessage ou captureException appelés pour des pages non trouvées--fix)Pour chaque issue identifiée comme corrigeable :
Grep et GlobEditCorrections types :
Math.random() / uuid() dans le rendu SSR par des IDs déterministescaptureMessage/captureException pour les 404ChunkLoadError dans le error boundarycaptureException (ajouter extra)--comment <PR_URL>)Pour chaque issue, ajouter un commentaire via :
POST /api/0/issues/{issue_id}/notes/
{"text": "Fix en cours dans la PR <PR_URL>\n\nCause : <explication>\nFix : <description du fix>\n\n-> A passer en fixed après merge et release."}
--assign)Récupérer l'ID utilisateur courant via les notes existantes sur une issue :
GET /api/0/issues/{issue_id}/notes/
Puis assigner :
PUT /api/0/issues/{issue_id}/
{"assignedTo": "user:{user_id}"}
Afficher un tableau récapitulatif :
| # | Issue | Occurrences | Catégorie | Action | Statut |
|---|
SENTRY_AUTH_TOKEN n'est pas défini, toujours demander le token à l'utilisateurjq pour parser le JSON (plus concis et lisible). Si jq n'est pas disponible, utiliser python3 en fallbackExplore pour la performance