mcpField
1
1k-sentry-analysis

1k-sentry-analysis

github.com/onekeyhq開発2.5k55 回インストール今日更新
リポジトリ

1k-sentry-analysis について

Sentry の本番エラー報告を調査・修正する開発者向けスキルです。根拠に基づく原因分析と記録を行い、コード変更前にユーザーの確認を求めます。

主な機能

  1. 01Sentry エラーログの分析
  2. 026種類の証拠による原因追跡
  3. 03修正前の分析ログ作成
  4. 04コード変更前の確認待ち

活用シーン

  1. 01iOS AppHang と Android ANR の調査
  2. 02スタックトレースと Breadcrumbs によるクラッシュ追跡
  3. 03本番エラー分析の文書化
  4. 04修正の有効性確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/onekeyhq/app-monorepo --skill 1k-sentry-analysis

インストール後、Claude Code で/1k-sentry-analysisを入力して読み込まれたか確認します。

同梱ファイルreferences/rules/fix-sentry-errors.md

詳細

Sentry エラー分析と修正

Sentry のクラッシュレポートから本番環境のエラーを分析し、修正するための一連のワークフローです。

ワークフローの概要

1. Obtain Sentry JSON log
   ↓
2. Analyze error
   ↓
3. Identify root cause
   ↓
4. Generate bug analysis log
   ↓
🚨 WAIT FOR USER CONFIRMATION 🚨
   ↓
5. Implement fix (only after approval)
   ↓
6. Test & verify
   ↓
7. Create PR

重要な要件

以下のルールを必ず守ってください:

  1. ✅ 修正を実装する前に、必ず node_modules/.cache/bugs/ にバグ分析ログを作成します
  2. 🚨 コードの変更を開始する前に、必ずユーザーの確認を待ちます
  3. ✅ バグ分析のすべてのセクションを記入し、分析を完了します
  4. ✅ 証拠に基づく手法を使用します(連鎖的に、段階を追って進めます)

クイックリファレンス

よくあるエラーの種類
種類説明よくある原因
AppHangiOS アプリが5秒以上フリーズする同時リクエストが多すぎる、メインスレッドのブロック
ANRAndroid が応答しないメインスレッドでの負荷の高い処理、デッドロック
Crashアプリが終了するヌルポインター、メモリの問題、未処理の例外
Exception処理済みのエラーネットワーク障害、検証エラー、状態の問題
分析手法

因果関係を立証するために、6種類の証拠を使用します。

  1. スタックトレースの証拠 - コード内のエラー箇所
  2. パンくずリストの証拠 - エラーにつながるユーザー操作
  3. コードロジックの証拠 - コードが問題を引き起こす理由
  4. タイミングの証拠 - 発生するタイミングと頻度
  5. デバイス/プラットフォームの証拠 - 影響を受けるプラットフォーム/デバイス
  6. 修正の検証 - テストで修正が機能することを確認
よくある修正パターン
// Pattern 1: Concurrent request control
async function executeBatched<T>(
  tasks: Array<() => Promise<T>>,
  concurrency = 3,
): Promise<Array<PromiseSettledResult<T>>> {
  const results: Array<PromiseSettledResult<T>> = [];
  for (let i = 0; i < tasks.length; i += concurrency) {
    const batch = tasks.slice(i, i + concurrency);
    const batchResults = await Promise.allSettled(
      batch.map((task) => task()),
    );
    results.push(...batchResults);
  }
  return results;
}

// Pattern 2: Main thread offloading (React Native)
import { InteractionManager } from 'react-native';

InteractionManager.runAfterInteractions(() => {
  // Heavy operation here
});

// Pattern 3: Error boundary
<ErrorBoundary fallback={<ErrorFallback />}>
  <Component />
</ErrorBoundary>

詳細ガイド

Sentry エラー分析ワークフローの詳細については、fix-sentry-errors.md を参照してください。

以下のトピックを扱います:

  • Sentry JSON ログの取得
  • Python を使用した迅速な分析
  • バグ分析ログのテンプレート
  • 6種類の証拠を用いる手法
  • 根本原因の特定
  • よくある修正パターン(AppHang、ANR、クラッシュ)
  • 実際の事例
  • テストと検証
  • PR 作成ワークフロー

主なファイル

用途場所
バグ分析ログnode_modules/.cache/bugs/
Sentry の設定packages/shared/src/modules/sentry/
エラーバウンダリーpackages/kit/src/components/ErrorBoundary/

このスキルを使用する場面

  • iOS の AppHang エラー(5秒以上のフリーズ)を分析する
  • Android の ANR(Application Not Responding)を修正する
  • スタックトレースを含むクラッシュレポートを調査する
  • クラッシュ前のユーザー操作(パンくずリスト)を把握する
  • 証拠に基づくバグ分析レポートを作成する
  • 本番環境のエラーを修正する

関連スキル

  • /1k-performance - パフォーマンス最適化のパターン
  • /1k-error-handling - エラー処理のベストプラクティス
  • /1k-sentry - Sentry の設定とフィルタリング
  • /1k-code-quality - Lint の修正とコード品質

コメント