Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

sentry-ruby-sdk

RubyアプリケーションへのSentry SDKの完全なセットアップを行います。`sentry-ruby`のインストール、Rails/Sinatra/RackへのSentryの導入、エラーモニタリング・トレーシング・ロギング・メトリクス・プロファイリング・cronの設定が必要な場合に使用します。AppSignal、Honeybadger、Bugsnag、Rollbar、AirbrakeからSentryへの移行にも対応し、Rails、Sinatra、Rack、Sidekiq、Resqueをサポートします。

description の原文を見る

Full Sentry SDK setup for Ruby. Use when asked to add Sentry to Ruby, install sentry-ruby, setup Sentry in Rails/Sinatra/Rack, or configure error monitoring, tracing, logging, metrics, profiling, or crons for Ruby applications. Also handles migration from AppSignal, Honeybadger, Bugsnag, Rollbar, or Airbrake. Supports Rails, Sinatra, Rack, Sidekiq, and Resque.

SKILL.md 本文

All Skills > SDK Setup > Ruby SDK

Sentry Ruby SDK

プロジェクトをスキャンして、Sentry の完全セットアップをガイドする意見型ウィザード。

このスキルを使う場合

  • ユーザーが Ruby アプリに「Sentry を追加する」または「Sentry をセットアップする」と言う
  • ユーザーが Ruby でエラー監視、トレーシング、ログ記録、メトリクス、プロファイリング、または crons が必要
  • ユーザーが sentry-rubysentry-rails、または Ruby Sentry SDK について述べる
  • ユーザーが AppSignal、Honeybadger、Bugsnag、Rollbar、または Airbrake から Sentry へ移行している
  • ユーザーが Rails/Sinatra で例外、HTTP リクエスト、またはバックグラウンドジョブを監視したい

注記: 下記の SDK API は sentry-ruby v6.4.1 を反映しています。 実装する前に、必ず docs.sentry.io/platforms/ruby/ で確認してください。


Phase 1: 検出

# 既存の Sentry gems
grep -i sentry Gemfile 2>/dev/null

# フレームワーク
grep -iE '\brails\b|\bsinatra\b' Gemfile 2>/dev/null

# Web サーバー — Puma はキュータイムガイダンスをトリガー
grep -iE '\bpuma\b' Gemfile 2>/dev/null

# バックグラウンドジョブ
grep -iE '\bsidekiq\b|\bresque\b|\bdelayed_job\b' Gemfile 2>/dev/null

# Yabeda メトリクスフレームワーク
grep -iE '\byabeda\b' Gemfile 2>/dev/null

# 競合監視ツール — 見つかった場合、移行パスをトリガー
grep -iE '\bappsignal\b|\bhoneybadger\b|\bbugsnag\b|\brollbar\b|\bairbrake\b' Gemfile 2>/dev/null

# スケジュールされたジョブ — Crons 推奨をトリガー
grep -iE '\bsidekiq-cron\b|\bclockwork\b|\bwhenever\b|\brufus-scheduler\b' Gemfile 2>/dev/null
grep -rn "Sidekiq::Cron\|Clockwork\|every.*do" config/ lib/ --include="*.rb" 2>/dev/null | head -10

# OpenTelemetry トレーシング — SDK + instrumentations を確認
grep -iE '\bopentelemetry-sdk\b|\bopentelemetry-instrumentation\b' Gemfile 2>/dev/null
grep -rn "OpenTelemetry::SDK\.configure\|\.use_all\|\.in_span" config/ lib/ app/ --include="*.rb" 2>/dev/null | head -5

# 既存メトリクスパターン (StatsD, Datadog, Prometheus)
grep -rE "(statsd|dogstatsd|prometheus|\.gauge|\.histogram|\.increment|\.timing)" \
  app/ lib/ --include="*.rb" 2>/dev/null | grep -v "_spec\|_test" | head -20

# フロントエンドの同類ツール
cat package.json frontend/package.json web/package.json 2>/dev/null | grep -E '"@sentry|"sentry-'

見つかったもので分岐:

  • 競合検出 (appsignal, honeybadger, bugsnag, rollbar, airbrake) → ${SKILL_ROOT}/references/migration.md を最初にロード;移行の一部として競合イニシャライザを削除
  • Sentry が既に存在 → Phase 2 をスキップしてフィーチャー設定へ
  • Railssentry-rails + config/initializers/sentry.rb を使用
  • Rack/Sinatrasentry-ruby + Sentry::Rack::CaptureExceptions ミドルウェア
  • Sidekiqsentry-sidekiq を追加;既存メトリクスパターン見つかった場合、メトリクス推奨
  • Yabeda 検出sentry-yabeda を追加;Yabeda メトリクスを Sentry メトリクスへルーティング
  • Puma 検出 → キュータイムキャプチャは自動 (v6.4.0+)、ただしリバースプロキシは X-Request-Start ヘッダーを設定する必要があります;${SKILL_ROOT}/references/tracing.md → "Request Queue Time" を参照
  • OTel トレーシング検出 (Gemfile に opentelemetry-sdk + instrumentations または OpenTelemetry::SDK.configure がソースにある) → OTLP パスを使用:config.otlp.enabled = truetraces_sample_rate を設定しない;Sentry はエラーを OTel トレースに自動的にリンク

Phase 2: 推奨

具体的な提案で始める — オープンエンドの質問をしない:

フィーチャー推奨する場合...
エラー監視常に
OTLP インテグレーションOTel トレーシング検出 — ネイティブトレーシングに置き換え
トレーシングRails / Sinatra / Rack / その他の HTTP フレームワーク;OTel トレーシング検出時はスキップ
ログ記録常にenable_logs: true はコストなし
メトリクスSidekiq が存在;既存メトリクスライブラリ (StatsD, Prometheus) 検出
プロファイリング⚠️ Beta — パフォーマンスプロファイリング要求時;stackprof または vernier gem が必要;OTel トレーシング検出時はスキップ (traces_sample_rate 必要、OTLP と互換性なし)
Cronsスケジュールされたジョブ検出 (ActiveJob, Sidekiq-Cron, Clockwork, Whenever)

OTel トレーシング検出: "プロジェクトで OpenTelemetry トレーシングを検出しました。Sentry の OTLP インテグレーション (既存 OTel セットアップ経由) + エラー監視 + Sentry ログ記録 [+ 該当する場合はメトリクス/Crons] を推奨します。進めますか?"

OTel なし: "エラー監視 + トレーシング + ログ記録 [+ 該当する場合はメトリクス] を推奨します。進めますか?"


Phase 3: ガイド

インストール

Rails:

# Gemfile
gem "sentry-ruby"
gem "sentry-rails"
gem "sentry-sidekiq"      # Sidekiq を使用している場合
gem "sentry-resque"       # Resque を使用している場合
gem "sentry-delayed_job"  # DelayedJob を使用している場合
gem "sentry-yabeda"       # Yabeda メトリクスフレームワークを使用している場合

Rack / Sinatra / プレーン Ruby:

gem "sentry-ruby"

bundle install を実行します。

フレームワークインテグレーション

フレームワーク / ランタイムGem初期化場所自動計測
Railssentry-railsconfig/initializers/sentry.rbコントローラー、ActiveRecord、ActiveJob、ActionMailer
Rack / Sinatrasentry-rubyconfig.ru の先頭リクエスト (via Sentry::Rack::CaptureExceptions ミドルウェア)
Sidekiqsentry-sidekiqSentry イニシャライザまたは Sidekiq 設定ワーカー実行 → トランザクション
Resquesentry-resqueSentry イニシャライザワーカー実行 → トランザクション
DelayedJobsentry-delayed_jobSentry イニシャライザジョブ実行 → トランザクション
Yabeda メトリクスsentry-yabedaSentry イニシャライザYabeda メトリックイベント → Sentry メトリクス

初期化 — Rails (config/initializers/sentry.rb)

Sentry.init do |config|
  config.dsn = ENV["SENTRY_DSN"]
  config.spotlight = Rails.env.development?  # ローカル Spotlight UI;dev では DSN 不要
  config.breadcrumbs_logger = [:active_support_logger, :http_logger]
  config.send_default_pii = true
  config.traces_sample_rate = 1.0  # 本番では 0.05–0.2 に低下
  config.enable_logs = true
  # メトリクスはデフォルトで有効;無効化: config.enable_metrics = false
end

sentry-rails は ActionController、ActiveRecord、ActiveJob、ActionMailer を自動計測します。

初期化 — Rack / Sinatra

require "sentry-ruby"

Sentry.init do |config|
  config.dsn = ENV["SENTRY_DSN"]
  config.spotlight = ENV["RACK_ENV"] == "development"
  config.breadcrumbs_logger = [:sentry_logger, :http_logger]
  config.send_default_pii = true
  config.traces_sample_rate = 1.0
  config.enable_logs = true
end

use Sentry::Rack::CaptureExceptions  # config.ru で、アプリミドルウェアの前

初期化 — Sidekiq スタンドアロン

require "sentry-ruby"
require "sentry-sidekiq"

Sentry.init do |config|
  config.dsn = ENV["SENTRY_DSN"]
  config.spotlight = ENV.fetch("RAILS_ENV", "development") == "development"
  config.breadcrumbs_logger = [:sentry_logger]
  config.traces_sample_rate = 1.0
  config.enable_logs = true
end

環境変数

SENTRY_DSN=https://xxx@oYYY.ingest.sentry.io/ZZZ
SENTRY_ENVIRONMENT=production   # RAILS_ENV / RACK_ENV をオーバーライド
SENTRY_RELEASE=my-app@1.0.0

フィーチャーリファレンスファイル

一度に 1 つずつ、フィーチャーを実装します。各フィーチャーのリファレンスファイルをロード、ステップに従い、次に進む前に検証:

フィーチャーリファレンスファイルロードする場合...
移行${SKILL_ROOT}/references/migration.md競合 gem 見つかった — Sentry インストールにロード
エラー監視${SKILL_ROOT}/references/error-monitoring.md常に
トレーシング${SKILL_ROOT}/references/tracing.mdHTTP ハンドラー / 分散トレーシング
ログ記録${SKILL_ROOT}/references/logging.md構造化ログキャプチャ
メトリクス${SKILL_ROOT}/references/metrics.mdSidekiq が存在;既存メトリクスパターン
プロファイリング${SKILL_ROOT}/references/profiling.mdパフォーマンスプロファイリング要求 (beta)
Crons${SKILL_ROOT}/references/crons.mdスケジュールされたジョブ検出または要求

各フィーチャーについて:${SKILL_ROOT}/references/<feature>.md を読み、ステップに正確に従い、動作を検証します。


設定リファレンス

キー Sentry.init オプション

オプションデフォルト目的
dsnStringnil空の場合 SDK は無効;環境変数:SENTRY_DSN
environmentStringnil例:"production";環境変数:SENTRY_ENVIRONMENT
releaseStringnil例:"myapp@1.0.0";環境変数:SENTRY_RELEASE
spotlightBooleanfalseSpotlight サイドカーにイベント送信 (ローカル開発、DSN 不要)
send_default_piiBooleanfalseIP アドレスとリクエストヘッダーを含める
sample_rateFloat1.0エラーイベントサンプリング率 (0.0–1.0)
traces_sample_rateFloatnilトランザクションサンプリング率;nil でトレーシング無効
profiles_sample_rateFloatniltraces_sample_rate 相対のプロファイリング率;stackprof または vernier gem が必要
enable_logsBooleanfalseSentry 構造化ログ有効化
enable_metricsBooleantrueカスタムメトリクス有効化 (デフォルトで有効)
breadcrumbs_loggerArray[]自動パンくずリスト用ロガー (ログ記録リファレンス参照)
max_breadcrumbsInteger100イベントあたりの最大パンくずリスト
debugBooleanfalse冗長 SDK 出力を stdout に
capture_queue_timeBooleantrueX-Request-Start ヘッダーからリクエストキュータイムを記録 (v6.4.0+、Rails は v6.4.1 で修正)
otlp.enabledBooleanfalseOTel スパンを Sentry へ OTLP 経由でルーティング;traces_sample_rate と併用しない
otlp.collector_urlStringnilOTel Collector の OTLP HTTP エンドポイント (例:http://localhost:4318/v1/traces);設定時、スパンはコレクターへ送信され、Sentry へ直接送信されません
org_idStringnil明示的な org ID;DSN 抽出値をオーバーライド;セルフホスト/Relay セットアップに有用 (v6.5.0+)
strict_trace_continuationBooleanfalsesentry-org_id baggage が SDK の org ID と一致する場合のみ着信トレース継続;サードパーティサービスからのトレースステッチングを防止 (v6.5.0+)
before_sendLambdanilエラーイベント送信前にミューテートまたはドロップ
before_send_transactionLambdanilトランザクションイベント送信前にミューテートまたはドロップ
before_send_logLambdanilログイベント送信前にミューテートまたはドロップ

環境変数

変数マップ先目的
SENTRY_DSNdsnデータソース名
SENTRY_RELEASEreleaseアプリバージョン (例:my-app@1.0.0)
SENTRY_ENVIRONMENTenvironmentデプロイメント環境

Sentry.init で設定されたオプションは環境変数をオーバーライドします。


検証

ローカル開発 (DSN 不要) — Spotlight:

npx @spotlightjs/spotlight          # ブラウザ UI は http://localhost:8969
# または、トレースをターミナルにストリーム:
npx @spotlightjs/spotlight tail traces --format json

config.spotlight = Rails.env.development? (上記イニシャライザブロックに既に含まれる) は、イベントをローカルサイドカーへ自動的にルーティングします。

実際の DSN の場合:

Sentry.capture_message("Sentry Ruby SDK test")

何も表示されません? config.debug = true に設定し、stdout を確認してください。DSN 形式を検証してください:https://<key>@o<org>.ingest.sentry.io/<project>


Phase 4: クロスリンク

cat package.json frontend/package.json web/package.json 2>/dev/null | grep -E '"@sentry|"sentry-'
フロントエンド検出推奨
React / Next.jssentry-react-sdk
Svelte / SvelteKitsentry-svelte-sdk
Vue@sentry/vuedocs.sentry.io/platforms/javascript/guides/vue/

Ruby バックエンドと JS フロントエンド間のトレースステッチングについては、references/tracing.md → "Frontend trace stitching" を参照してください。


トラブルシューティング

問題解決策
イベントが表示されないconfig.debug = true に設定;DSN を検証;Sentry.init が最初のリクエスト前に実行されることを確認
Rails 例外が見つからないsentry-rails を使用する必要があります — sentry-ruby だけでは Rails エラーハンドラーをフックしません
トレースがない (ネイティブ)traces_sample_rate > 0 に設定;sentry-rails または Sentry::Rack::CaptureExceptions を確認
トレースがない (OTLP)opentelemetry-exporter-otlp gem がインストールされていることを検証;otlp.enabled = true を使用時に traces_sample_rate を設定しない
Sidekiq ジョブがトレースされていないsentry-sidekiq gem を追加
リクエストコンテキストが見つからないconfig.send_default_pii = true に設定
ログが表示されないconfig.enable_logs = true に設定;sentry-ruby ≥ 5.27.0 が必要
メトリクスが表示されないenable_metricsfalse でないことを確認;DSN を検証
シャットダウン時にイベント喪失Process.exit!at_exit フックをスキップ — 強制終了前に明示的に Sentry.flush を呼び出す
フォーキングサーバーがイベントを喪失Puma/Unicorn フォークワーカー — on_worker_boot または after_fork で再初期化;これなしでは、背景ワーカースレッドが子プロセスで停止
DSN が拒否される / イベント配信されないDSN 形式を検証:https://<key>@o<org>.ingest.sentry.io/<project>config.debug = true に設定してトランスポートエラーを確認

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
getsentry
リポジトリ
getsentry/sentry-for-ai
ライセンス
MIT
最終更新
不明

Source: https://github.com/getsentry/sentry-for-ai / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: getsentry · getsentry/sentry-for-ai · ライセンス: MIT