Skip to main content

pi-share

Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs. Fetches gists, decodes embedded session data, and extracts conversation history.

소스 정보

저장소
mitsuhiko/agent-stuff
최근 소스 활동
2026년 3월 2일 22:21
감지된 SKILL.md 언어
영어
스타
3,195
포크
233

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
pi-share
description
Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs. Fetches gists, decodes embedded session data, and extracts conversation history.
# pi-share / buildwithpi Session Loader Load and parse session transcripts from pi-share URLs (shittycodingagent.ai, buildwithpi.ai, buildwithpi.com, pi.dev). ## When to Use **Loading sessions:** Use this skill when the user provides a URL like: - `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>` - Or just a gist ID like `46aee35206aefe99257bc5d5e60c6121` - Or hash-prefixed shorthand like `#46aee35206aefe99257bc5d5e60c6121` **Human summaries:** Use `--human-summary` when the user asks you to: - Summarize what a human did in a pi/coding agent session - Understand how a user interacted with an agent - Analyze user behavior, steering patterns, or prompting style - Get a human-centric view of a session (not what the agent did, but what the human did) The human summary focuses on: initial goals, re-prompts, steering/corrections, interventions, and overall prompting style. ## How It Works 1. Session exports are stored as GitHub Gists 2. The URL contains a gist ID after the `?` 3. The gist contains a `session.html` file with base64-encoded session data 4. The helper script fetches and decodes this to extract the full conversation ## Usage ```bash # 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 The `--human-summary` flag generates a ~300 word summary focused on the human's experience: - What was their initial goal? - How often did they re-prompt or steer the agent? - What kind of interventions did they make? (corrections, clarifications, frustration) - How specific or vague were their instructions? This uses claude-haiku-4-5 via `pi -p` to analyze the condensed session transcript. ## Session Data Structure The decoded session contains: ```typescript 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 }[]; } ``` Entry types include: - `message` - User/assistant/toolResult messages with content blocks - `model_change` - Model switches - `thinking_level_change` - Thinking mode changes - `compaction` - Context compaction events Message content block types: - `text` - Text content - `toolCall` - Tool invocation with `toolName` and `args` - `thinking` - Model thinking content - `image` - Embedded images ## Example: Analyze a Session ```bash # 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' ```
GitHub에서 보기