mcpField
P
pi-share

pi-share

github.com/mitsuhikoエージェントワークフロー3.2k121 回インストール4 週間前に更新
リポジトリ

pi-share について

pi-share は、URL や gist ID からセッション記録を読み込み、解析するスキルです。人の目標や介入、プロンプトの傾向に着目した分析にも対応します。

主な機能

  1. 01URLやgist IDからセッションを読み込み
  2. 02会話記録をデコードして抽出
  3. 03ヘッダーやJSON Lines形式で出力
  4. 04人の視点に立ったセッション要約

活用シーン

  1. 01共有されたコーディングエージェントのセッション確認
  2. 02人がエージェントをどう誘導したかの分析
  3. 03メッセージの抽出やツール呼び出し数の集計

インストール

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

$npx skills add https://github.com/mitsuhiko/agent-stuff --skill pi-share

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

同梱ファイルfetch-session.mjs

詳細

pi-share / buildwithpi セッションローダー

pi-share の URL(shittycodingagent.ai、buildwithpi.ai、buildwithpi.com、pi.dev)からセッションのトランスクリプトを読み込み、解析します。

使用する場面

セッションの読み込み: ユーザーから次のような URL が提供された場合に、このスキルを使用します。

  • https://shittycodingagent.ai/session/?<gist_id>
  • https://buildwithpi.ai/session/?<gist_id>
  • https://buildwithpi.com/session/?<gist_id>
  • https://pi.dev/session/?<gist_id>
  • https://pi.dev/session/#<gist_id>
  • または 46aee35206aefe99257bc5d5e60c6121 のような gist ID のみ
  • または #46aee35206aefe99257bc5d5e60c6121 のような、ハッシュ付きの短縮形

人間の要約: ユーザーから次の内容を求められた場合は、--human-summary を使用します。

  • pi/コーディングエージェントのセッションで人間が行ったことの要約
  • ユーザーがエージェントとどのようにやり取りしたかの把握
  • ユーザーの行動、指示の仕方、プロンプトのスタイルの分析
  • セッションを人間中心の視点から把握すること(エージェントが何をしたかではなく、人間が何をしたか)

人間の要約では、最初の目標、プロンプトの再入力、指示や修正、介入、全体的なプロンプトのスタイルに焦点を当てます。

仕組み

  1. セッションのエクスポートは GitHub Gist として保存されます
  2. URL には ? の後に gist ID が含まれます
  3. gist には、base64 でエンコードされたセッションデータを含む session.html ファイルがあります
  4. ヘルパースクリプトがデータを取得してデコードし、会話全体を抽出します

使用方法

# Get full session data (default)
node ~/.pi/agent/skills/pi-share/fetch-session.mjs "<url-or-gist-id>"

# Get just the header
node ~/.pi/agent/skills/pi-share/fetch-session.mjs <gist-id> --header

# Get entries as JSON lines (one entry per line)
node ~/.pi/agent/skills/pi-share/fetch-session.mjs <gist-id> --entries

# Get the system prompt
node ~/.pi/agent/skills/pi-share/fetch-session.mjs <gist-id> --system

# Get tool definitions
node ~/.pi/agent/skills/pi-share/fetch-session.mjs <gist-id> --tools

# Get human-centric summary (what did the human do in this session?)
node ~/.pi/agent/skills/pi-share/fetch-session.mjs <gist-id> --human-summary

人間の要約

--human-summary フラグを使うと、人間の体験に焦点を当てた約300語の要約が生成されます。

  • 最初の目標は何でしたか?
  • エージェントにどのくらいの頻度でプロンプトを再入力したり、指示を調整したりしましたか?
  • どのような介入を行いましたか?(修正、明確化、苛立ち)
  • 指示はどの程度具体的、または曖昧でしたか?

この機能では、pi -p 経由で claude-haiku-4-5 を使用して、簡潔にまとめたセッションのトランスクリプトを分析します。

セッションデータの構造

デコードされたセッションには、次の内容が含まれます。

interface SessionData {
  header: {
    type: "session";
    version: number;
    id: string;           // Session UUID
    timestamp: string;    // ISO timestamp
    cwd: string;          // Working directory
  };
  entries: SessionEntry[];  // Conversation entries (JSON lines format)
  leafId: string | null;    // Current branch leaf
  systemPrompt?: string;    // System prompt text
  tools?: { name: string; description: string }[];
}

エントリの種類は次のとおりです。

  • message - コンテンツブロックを含むユーザー/アシスタント/toolResult メッセージ
  • model_change - モデルの切り替え
  • thinking_level_change - 思考モードの変更
  • compaction - コンテキストの圧縮イベント

メッセージのコンテンツブロックの種類:

  • text - テキストコンテンツ
  • toolCall - toolName と args を含むツール呼び出し
  • thinking - モデルの思考内容
  • image - 埋め込み画像

例:セッションの分析

# Pipe entries through jq to filter
node ~/.pi/agent/skills/pi-share/fetch-session.mjs "<url>" --entries | jq 'select(.type == "message" and .message.role == "user")'

# Count tool calls
node ~/.pi/agent/skills/pi-share/fetch-session.mjs "<url>" --entries | jq -s '[.[] | select(.type == "message") | .message.content[]? | select(.type == "toolCall")] | length'

コメント