mcpField
D
devvit-logs

devvit-logs

github.com/reddit開発154 回インストール13 週間前に更新
リポジトリ

devvit-logs について

devvit-logs は、インストール済みの Devvit アプリをデバッグするスキルです。`devvit logs` の出力を取得し、最初の出力後または5秒後に終了するため、subreddit のログを時間制限付きで確認できます。

主な機能

  1. 01`devvit logs` を実行してログを取得
  2. 02対象の subreddit を必須指定
  3. 03アプリ名と期間を任意指定
  4. 04最初の出力後または5秒後に終了
  5. 05取得結果を JSON で返却

活用シーン

  1. 01subreddit にインストールされたアプリのログをすぐに確認
  2. 02指定した期間の過去ログを確認
  3. 03ログストリームのコマンドが終了しない状態を回避
  4. 04ログがない場合にアプリの操作後に再試行

インストール

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

$npx skills add https://github.com/reddit/devvit-skills --skill devvit-logs

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

同梱ファイルscripts/devvit-logs.cjs

詳細

Devvit のログ

インストール済みの Devvit アプリからログイベントをストリーミングし、すばやくデバッグできます。このスキルは devvit logs をラップし、ストリーミングコマンドが終了せずに実行され続けるのを防ぐため、短い時間(5 秒)後に自動終了します。

動作の仕組み

  1. 対象のサブレディットをユーザーに尋ねます(必須)。
  2. アプリ名と --since=... フラグを任意で受け付けます。
  3. devvit logs を実行して出力を取得します。
  4. 最初の出力があった時点、または5秒経過した時点のいずれか早い方で自動終了します。

使用方法

node ./scripts/devvit-logs.cjs <subreddit> [app-name] [--since=1h]

スクリプトのパスは、このスキルのディレクトリからの相対パスです。

引数:

  • subreddit - 必須。ログをストリーミングするサブレディットです。
  • app-name - 任意。別のフォルダーからログをストリーミングする場合のアプリ名です。
  • --since=Xd - 任意。過去のログを取得する期間です(例:--since=30m、--since=1d)。

例:

node ./scripts/devvit-logs.cjs my-subreddit
node ./scripts/devvit-logs.cjs my-subreddit my-app --since=1h

出力

{
  "ok": true,
  "reason": "timeout",
  "exitCode": null,
  "signal": null,
  "stdout": "=============================== streaming logs for my-app on my-subreddit ================================\n[DEBUG] Dec 8 15:55:23 Action called!",
  "stderr": ""
}

結果をユーザーに提示する

  • ユーザーがサブレディットを指定していない場合は、明示的に尋ねます。
  • 取得したログ(ある場合)を要約し、取得時間が5秒であることを伝えます。
  • ログが取得されなかった場合は、その旨を伝え、アクティビティが発生している状態で再試行するか、--since=... を指定するよう提案します。

トラブルシューティング

  • Devvit CLI が見つからない:devvit をインストールするか、PATH に含まれていることを確認します。
  • ログインしていない:devvit login を実行して、もう一度試します。
  • ログがない:アプリでアクションを実行するか、--since=... を使用します。
  • 権限エラー:アプリがサブレディットにインストールされていること、およびアクセス権があることを確認します。

コメント