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

sentry-php-sdk

PHP向けSentry SDKの完全なセットアップを提供するスキルです。「PHPにSentryを追加したい」「sentry/sentryをインストールしたい」「PHPでエラー監視を設定したい」といった場面や、トレーシング・プロファイリング・ロギング・メトリクス・cronの監視設定が必要なときに使用します。plain PHP、Laravel、Symfonyに対応しています。

description の原文を見る

Full Sentry SDK setup for PHP. Use when asked to "add Sentry to PHP", "install sentry/sentry", "setup Sentry in PHP", or configure error monitoring, tracing, profiling, logging, metrics, or crons for PHP applications. Supports plain PHP, Laravel, and Symfony.

SKILL.md 本文

All Skills > SDK Setup > PHP SDK

Sentry PHP SDK

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

このスキルを呼び出すタイミング

  • ユーザーが「PHPにSentryを追加する」または「PHPアプリでSentryをセットアップする」を求める場合
  • ユーザーがPHPでエラー監視、トレーシング、プロファイリング、ログ、メトリクス、またはcronを希望する場合
  • ユーザーが sentry/sentrysentry/sentry-laravelsentry/sentry-symfony、またはSentry + 任意のPHPフレームワークについて言及する場合
  • ユーザーがLaravelルート、Symfonyコントローラー、キュー、スケジュール済みタスク、または単純なPHPスクリプトを監視したい場合

注記: 以下のSDKバージョンとAPIは、執筆時のSentryドキュメント(sentry/sentry 4.x、sentry/sentry-laravel 4.x、sentry/sentry-symfony 5.x)を反映しています。 実装前に必ず docs.sentry.io/platforms/php/ で確認してください。


フェーズ 1: 検出

推奨を行う前にプロジェクトを理解するため、以下のコマンドを実行します。

# 既存のSentryを確認
grep -i sentry composer.json composer.lock 2>/dev/null

# フレームワークを検出
cat composer.json | grep -E '"laravel/framework"|"symfony/framework-bundle"|"illuminate/'

# ファイルシステムマーカーでフレームワークを確認
ls artisan 2>/dev/null && echo "Laravel detected"
ls bin/console 2>/dev/null && echo "Symfony detected"

# キューシステムを検出
grep -E '"laravel/horizon"|"symfony/messenger"' composer.json 2>/dev/null

# AIライブラリを検出
grep -E '"openai-php|"openai/|anthropic|llm' composer.json 2>/dev/null

# フロントエンド関連を確認
ls frontend/ resources/js/ assets/ 2>/dev/null
cat package.json 2>/dev/null | grep -E '"react"|"svelte"|"vue"|"next"'

注意すべき点:

  • sentry/sentry (または -laravel / -symfony) は既に composer.json にありますか? 既にある場合、init呼び出しが存在するかを確認します。機能設定が必要な場合があります。
  • フレームワークが検出されましたか? Laravel (artisan があり、composer.jsonlaravel/framework がある)、Symfony (bin/console があり、symfony/framework-bundle がある)、または 単純なPHP
  • キューシステムはありますか? (Laravel Queue / Horizon、Symfony Messengerはキューワーカー設定が必要です。)
  • AIライブラリはありますか? (PHP AIの自動計測機能はまだありません — 必要な場合は手動で文書化します。)
  • フロントエンド関連はありますか? (フェーズ 4 での相互リンクのトリガーになります。)

フェーズ 2: 推奨

検出内容に基づいて、具体的な提案を提示します。開かれた質問をしないでください — 推奨で主導してください。

常に推奨 (コアカバレッジ):

  • エラー監視 — ハンドルされていない例外とPHPエラーをキャプチャ
  • ログ — Monolog統合 (Laravel/Symfony自動設定、単純なPHPは MonologHandler を使用)

検出時に推奨:

  • トレーシング — Webフレームワークが検出されている場合 (Laravel/Symfony HTTP、DB、Twig/Blade、キャッシュを自動計測)
  • プロファイリング — パフォーマンスが重要な本番アプリケーション (excimer PHP拡張機能が必要、Linux/macOSのみ)
  • Crons — スケジューラーパターンが検出された場合 (Laravel Scheduler、Symfony Scheduler、カスタムcronジョブ)
  • メトリクス — ビジネスKPIまたはSLO追跡 (TraceMetrics APIを使用)

推奨マトリックス:

機能推奨するタイミングリファレンス
エラー監視常に — 交渉不可能なベースライン${SKILL_ROOT}/references/error-monitoring.md
トレーシングLaravel/Symfony検出時、または手動スパンが必要な場合${SKILL_ROOT}/references/tracing.md
プロファイリング本番環境 + excimer 拡張機能が利用可能${SKILL_ROOT}/references/profiling.md
ログ常に; Laravel/SymfonyではMonolog${SKILL_ROOT}/references/logging.md
メトリクスビジネスイベントまたはSLO追跡が必要${SKILL_ROOT}/references/metrics.md
Cronsスケジューラーまたはcronパターンが検出された場合${SKILL_ROOT}/references/crons.md

提案: 「エラー監視 + トレーシング [+ ログ] を推奨します。プロファイリング、Crons、メトリクスは必要ですか?」


フェーズ 3: ガイド

インストール

# 単純なPHP
composer require sentry/sentry "^4.0"

# Laravel
composer require sentry/sentry-laravel "^4.0"

# Symfony
composer require sentry/sentry-symfony "^5.0"

システム要件:

  • PHP 7.2以降
  • 拡張機能: ext-jsonext-mbstringext-curl (すべて必須)
  • excimer PECL拡張機能 (Linux/macOSのみ — プロファイリングに必須)

フレームワーク固有の初期化

単純なPHP

\Sentry\init() をエントリーポイント (index.phpbootstrap.php など) の最上部に配置します。すべてのアプリケーションコードの前に配置します。

<?php

require_once 'vendor/autoload.php';

\Sentry\init([
    'dsn'                  => $_SERVER['SENTRY_DSN'] ?? '',
    'environment'          => $_SERVER['SENTRY_ENVIRONMENT'] ?? 'production',
    'release'              => $_SERVER['SENTRY_RELEASE'] ?? null,
    'send_default_pii'     => true,
    'traces_sample_rate'   => 1.0,
    'profiles_sample_rate' => 1.0,
    'enable_logs'          => true,
]);

// rest of application...

Laravel

ステップ 1 — 例外ハンドラーを登録 (``bootstrap/app.php` で):

use Sentry\Laravel\Integration;

return Application::configure(basePath: dirname(__DIR__))
    ->withExceptions(function (Exceptions $exceptions) {
        Integration::handles($exceptions);
    })->create();

ステップ 2 — 設定を公開し、DSNを設定:

php artisan sentry:publish --dsn=YOUR_DSN

これにより config/sentry.php が作成され、SENTRY_LARAVEL_DSN.env に追加されます。

ステップ 3 — .env を設定:

SENTRY_LARAVEL_DSN=https://examplePublicKey@o0.ingest.sentry.io/0
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_PROFILES_SAMPLE_RATE=1.0

Laravel設定オプションの詳細については、${SKILL_ROOT}/references/laravel.md を参照してください。

Symfony

ステップ 1 — バンドルを登録 (Symfony Flexにより自動実行):

Sentry\SentryBundle\SentryBundle::class => ['all' => true],

ステップ 2 — config/packages/sentry.yaml を作成:

sentry:
    dsn: '%env(SENTRY_DSN)%'
    options:
        environment: '%env(APP_ENV)%'
        release: '%env(SENTRY_RELEASE)%'
        send_default_pii: true
        traces_sample_rate: 1.0
        profiles_sample_rate: 1.0
        enable_logs: true

ステップ 3 — .env でDSNを設定:

SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0

Symfony設定オプションの詳細については、${SKILL_ROOT}/references/symfony.md を参照してください。

クイックスタート — 推奨init (単純なPHP)

最も多くの機能を有効にし、合理的なデフォルト値を持つ完全なinit:

\Sentry\init([
    'dsn'                     => $_SERVER['SENTRY_DSN'] ?? '',
    'environment'             => $_SERVER['SENTRY_ENVIRONMENT'] ?? 'production',
    'release'                 => $_SERVER['SENTRY_RELEASE'] ?? null,
    'send_default_pii'        => true,

    // トレーシング (高トラフィック本番環境では 0.10.2 に下げます)
    'traces_sample_rate'      => 1.0,

    // プロファイリング — excimer拡張機能が必要 (Linux/macOSのみ)
    'profiles_sample_rate'    => 1.0,

    // 構造化ログ (sentry/sentry >=4.12.0)
    'enable_logs'             => true,
]);

合意した各機能について

機能を1つずつウォークスルーします。リファレンスを読み込み、その手順に従い、次に進む前に検証します。

機能リファレンスファイル読み込むタイミング
エラー監視${SKILL_ROOT}/references/error-monitoring.md常に (ベースライン)
トレーシング${SKILL_ROOT}/references/tracing.mdHTTPハンドラー / 分散トレーシング
プロファイリング${SKILL_ROOT}/references/profiling.mdパフォーマンス重視の本番環境
ログ${SKILL_ROOT}/references/logging.md常に; Laravel/SymfonyではMonolog
メトリクス${SKILL_ROOT}/references/metrics.mdビジネスKPI / SLO追跡
Crons${SKILL_ROOT}/references/crons.mdスケジューラー / cronパターンが検出された場合

各機能について: ${SKILL_ROOT}/references/<feature>.md を読み、手順に正確に従い、動作を検証します。


設定リファレンス

キー \Sentry\init() オプション (単純なPHP)

オプションデフォルト目的
dsnstring|bool|null$_SERVER['SENTRY_DSN']空または false の場合、SDKは無効化
environmentstring|null$_SERVER['SENTRY_ENVIRONMENT']例: "staging"
releasestring|null$_SERVER['SENTRY_RELEASE']例: "myapp@1.0.0"
send_default_piiboolfalseリクエストヘッダー、クッキー、IPを含める
sample_ratefloat1.0エラーイベントサンプルレート (0.0–1.0)
traces_sample_ratefloat|nullnullトランザクションサンプルレート; null はトレーシング無効化
traces_samplercallable|nullnullカスタムトランザクション別サンプリング (レートをオーバーライド)
profiles_sample_ratefloat|nullnullトレースに対するプロファイリングレート; excimer が必要
enable_logsboolfalse構造化ログをSentryに送信 (>=4.12.0)
max_breadcrumbsint100イベントあたりの最大breadcrumb数
attach_stacktraceboolfalsecaptureMessage() 時のスタックトレース
in_app_includestring[][]アプリケーションに属するパスプレフィックス
in_app_excludestring[][]サードパーティコードのパスプレフィックス (トレース内で非表示)
ignore_exceptionsstring[][]レポートしない例外FQCN
ignore_transactionsstring[][]レポートしないトランザクション名
error_typesint|nullerror_reporting()PHPエラービットマスク (例: E_ALL & ~E_NOTICE)
capture_silenced_errorsboolfalse@ オペレーターで抑制されたエラーをキャプチャ
max_request_body_sizestring"medium""none" / "small" / "medium" / "always"
before_sendcallableidentityfn(Event $event, ?EventHint $hint): ?Event — ドロップするには null を返す
before_breadcrumbcallableidentityfn(Breadcrumb $b): ?Breadcrumb — 破棄するには null を返す
trace_propagation_targetsstring[]|nullnullsentry-trace ヘッダーを挿入する下流ホスト; null = すべて、[] = なし
strict_trace_continuationboolfalse受信した分散トレースを継続するのは、sentry-org_id baggage がSDKの組織IDと一致する場合のみ。サードパーティのSentry計測サービスからのトレース汚染を防止 (>=4.21.0)
debugboolfalse冗長なSDK出力 (構造化出力にはPSR-3 logger オプションを代わりに使用)

環境変数

変数マップ先注記
SENTRY_DSNdsnまた $_SERVER['SENTRY_DSN']
SENTRY_ENVIRONMENTenvironment
SENTRY_RELEASEreleaseまた $_SERVER['AWS_LAMBDA_FUNCTION_VERSION'] を読み取ります
SENTRY_SPOTLIGHTspotlight

Laravel注記: SENTRY_LARAVEL_DSN を使用 (フォールバック: SENTRY_DSN)。その他のオプションは SENTRY_TRACES_SAMPLE_RATESENTRY_PROFILES_SAMPLE_RATE などに従います。


検証

Sentryがイベントを受け取っていることをテストします。

// 実際のエラーイベントをトリガー — 数秒以内にSentryダッシュボードで確認
throw new \Exception('Sentry PHP SDK test');

または、クラッシュしない確認:

\Sentry\captureMessage('Sentry PHP SDK test');

Laravel:

php artisan sentry:test

何も表示されない場合:

  1. デバッグ出力を有効化:
    \Sentry\init([
        'dsn' => '...',
        'logger' => new \Sentry\Logger\DebugStdOutLogger(),
    ]);
    
  2. DSNが正しいことを確認 (形式: https://<key>@o<org>.ingest.sentry.io/<project>)
  3. SENTRY_DSN (または SENTRY_LARAVEL_DSN) 環境変数が実行中のプロセスで設定されていることを確認
  4. キューワーカーの場合: Sentryがwebプロセスだけでなくワーカープロセス内部で初期化されていることを確認

フェーズ 4: 相互リンク

PHPセットアップ完了後、Sentryが不足しているフロントエンド関連をチェック:

ls frontend/ resources/js/ assets/ public/ 2>/dev/null
cat package.json frontend/package.json 2>/dev/null \
  | grep -E '"react"|"svelte"|"vue"|"next"|"nuxt"'

Sentryなしのフロントエンドが存在する場合、対応するスキルを提案:

検出されたフロントエンド提案スキル
React / Next.jssentry-react-sdk
Svelte / SvelteKitsentry-svelte-sdk
Vue / Nuxt@sentry/vue を使用 — docs.sentry.io/platforms/javascript/guides/vue/ を参照
その他のJS/TSsentry-react-sdk (ジェネリックブラウザJSパターンをカバー)

トラブルシューティング

問題解決方法
イベントが表示されないlogger オプション (DebugStdOutLogger) を有効化、DSNを確認、実行中のプロセス内の環境変数をチェック
形式が不正なDSNエラー形式: https://<key>@o<org>.ingest.sentry.io/<project>
Laravelの例外がキャプチャされないbootstrap/app.phpIntegration::handles($exceptions) があることを確認
Symfonyの例外がキャプチャされないconfig/bundles.phpSentryBundle が登録されていることを確認
トレースが表示されないtraces_sample_rate を設定 (null ではなく); 自動計測が有効になっていることを確認
プロファイリングが機能しないexcimer 拡張機能が必要 (Linux/macOSのみ、Windows では利用不可); traces_sample_rate > 0 が必要
enable_logs が機能しないsentry/sentry >= 4.12.0sentry/sentry-laravel >= 4.15.0、または sentry/sentry-symfony >= 5.4.0 が必要
キューワーカーのエラーが不足しているワーカープロセス内でSentryを初期化します。webプロセスだけでなく; Laravelの場合、ワーカー .envSENTRY_LARAVEL_DSN を使用
トランザクション数が多すぎるtraces_sample_rate を下げるか、traces_sampler を使用してヘルスチェックルートをドロップ
PIIがキャプチャされないsend_default_pii: true を設定; Laravelの場合、config/sentry.phpsend_default_pii: true を設定
@ 抑制エラーが不足しているcapture_silenced_errors: true を設定
クロスサービストレースが破損しているtrace_propagation_targets をチェック; 下流サービスがSentryをインストールしていることを確認
サードパーティサービスからのトレース汚染strict_trace_continuation: true を設定して、受信した sentry-org_id baggage がSDKの組織IDと一致する場合のみトレースを継続 (>=4.21.0)

ライセンス: 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