Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs. Fetches GitHub Gists, decodes embedded session data, and extracts conversation history.
Load and parse session transcripts from pi-share URLs (shittycodingagent.ai, buildwithpi.ai, buildwithpi.com, pi.dev).
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>46aee35206aefe99257bc5d5e60c6121#46aee35206aefe99257bc5d5e60c6121Human summaries: Use --human-summary when the user asks you to:
The human summary focuses on: initial goals, re-prompts, steering/corrections, interventions, and overall prompting style.
?session.html file with base64-encoded session data# 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
The --human-summary flag generates a ~300 word summary focused on the human's experience:
This uses claude-haiku-4-5 via pi -p to analyze the condensed session transcript.
The decoded session contains:
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 blocksmodel_change - Model switchesthinking_level_change - Thinking mode changescompaction - Context compaction eventsMessage content block types:
text - Text contenttoolCall - Tool invocation with toolName and argsthinking - Model thinking contentimage - Embedded images# 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'
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer