pi-share について
pi-share は、URL や gist ID からセッション記録を読み込み、解析するスキルです。人の目標や介入、プロンプトの傾向に着目した分析にも対応します。
主な機能
- 01URLやgist IDからセッションを読み込み
- 02会話記録をデコードして抽出
- 03ヘッダーやJSON Lines形式で出力
- 04人の視点に立ったセッション要約
活用シーン
- 01共有されたコーディングエージェントのセッション確認
- 02人がエージェントをどう誘導したかの分析
- 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/コーディングエージェントのセッションで人間が行ったことの要約
- ユーザーがエージェントとどのようにやり取りしたかの把握
- ユーザーの行動、指示の仕方、プロンプトのスタイルの分析
- セッションを人間中心の視点から把握すること(エージェントが何をしたかではなく、人間が何をしたか)
人間の要約では、最初の目標、プロンプトの再入力、指示や修正、介入、全体的なプロンプトのスタイルに焦点を当てます。
仕組み
- セッションのエクスポートは GitHub Gist として保存されます
- URL には
?の後に gist ID が含まれます - gist には、base64 でエンコードされたセッションデータを含む
session.htmlファイルがあります - ヘルパースクリプトがデータを取得してデコードし、会話全体を抽出します
使用方法
# 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'
コメント
Markdown 対応