Skip to content
AI & Agents
Skill

/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.

BOOST
From plugin
agent-stuff
3.2k18 skills1 command
Install
$ npx -y skills add mitsuhiko/agent-stuff --skill pi-share --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/pi-share

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

SKILL.md

pi-share.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

# 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:

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

# 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'
Read more
Ships withagent-stuff

Armin's personal Pi Coding Agent package: reusable skills, extensions, prompt commands, themes, and a few supporting utilities that I use across projects. The package is published to npm as mitsupi.

Get the whole plugin
Stats
3,177
Stars
229
Forks
Active
Maintenance
TypeScript
Language
Apache-2.0
License
10d ago
Last commit
11mo ago
Created
9h ago
Added

Repo: mitsuhiko/agent-stuff

Other skills on agent-stuff.