session-reflect
Analyze a user's pi coding-agent session history for recurring behavior, prompting habits, workflow loops, friction, and preferences.
Skill by dannote
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dannote-session-reflect
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/session-reflect- Your home directory (~)
What's inside
- Skill name
session-reflect- Description
- Analyze a user's pi coding-agent session history for recurring behavior, prompting habits, workflow loops, friction, and preferences. Use when the user asks to inspect or reflect on pi sessions, common behavior patterns, agent/user interaction style, prompting habits, or personal pi workflow quality.
- License
- MIT
- Instructions
- 132 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (13)
- SKILL.md
- package.json
- intervention-events.md · references/
- query-cookbook.md · references/
- reflection-protocol.md · references/
- output.ts · scripts/
- session-db.ts · scripts/
- sql.ts · scripts/
- output.test.ts · tests/
- session-db.integration.ts · tests/
- sql.test.ts · tests/
- tsconfig.json
- session-reflect-deps.d.ts · types/
SKILL.md (first lines)
# Session Reflect Use this skill to help the user understand their own pi usage patterns from local session logs. ## Data location By default this skill writes only to: ```text ~/.pi/agent/cache/session-reflect/ ``` It never writes analysis databases into the current project by default. Use `--db` only when the user explicitly asks for another location. Use `clean` to remove the default cache. The skill's job is **evidence retrieval + agent judgment**. Do not turn the helper script into the analyst. Use the script to load/search/query session evidence; use your own reasoning to infer patterns cautiously. ## Core rules - Discuss the analysis approach before implementing new tooling or making broad claims. - Do not hardcode English behavior categories or phrase lists as conclusions. - Treat repeated text, n-grams, FTS hits, and SQL aggregates as evidence leads, not interpretations. - Inspect surrounding context before interpreting short user turns like “go ahead” or “what next”. - Preserve multilingual text, typos, shorthand, pasted logs, and frustration markers as meaningful evidence. - Cite session paths or message keys for important claims. - Separate: observed facts, interpretations, confidence, alternative explanations, recommendations. - When the current user message is itself a high-signal intervention, follow the recovery protocol in `references/intervention-events.md` before continuing. ## Helper script Use `scripts/session-db.ts` as a local evidence workbench. It loads pi JSONL sessions into DuckDB and exposes SQL/search/context helpers. Install helper dependencies from the skill directory if they are missing: ```bash cd <dot-pi>/skills/session-reflect npm install ``` Typical first step: ```bash npx tsx scripts/session-db.ts build ``` If the user points to another session root: ```bash npx tsx scripts/session-db.ts build --root <session-root> ``` Useful evidence commands: ```bash npx tsx scripts/session-db.ts doctor npx tsx scripts/session-db.ts preset --list npx tsx scripts/session-db.ts preset overview npx tsx scripts/session-db.ts preset exact-short-repeats npx tsx scripts/session-db.ts preset long-sessions npx tsx scripts/session-db.ts turns --role user --limit 80 npx tsx scripts/session-db.ts turns --role user --short --limit 100 npx tsx scripts/session-db.ts ngrams --n 2 --min-count 3 --limit 50 npx tsx scripts/session-db.ts ngrams --n 3 --min-count 3 --limit 50 npx tsx scripts/session-db.ts search "literal or fuzzy lead" --role user --limit 25 npx tsx scripts/session-db.ts context <message_key> --before 4 --after 8 npx tsx scripts/session-db.ts context <message_key> --before 4 --after 8 --compact --hide-tools npx tsx scripts/session-db.ts examples --text "Go ahead." --limit 5 --before 3 --after 5 npx tsx scripts/session-db.ts sample --turns 5 --examples 2 --before 3 --after 5 npx tsx scripts/session-db.ts interventions --limit 30 --min-score 2 --sort score npx tsx scripts/session-db.ts interventions --limit 30 --min-score 2 --sort recent npx tsx scripts/session-db.ts interventions --signal autonomy_boundary,evidence_challenge --limit 20 npx tsx scripts/session-db.ts interventions --project quackdb --since 2026-06-01 --limit 20 npx tsx scripts/session-db.ts interventions --sample --limit 10 --min-score 2 npx tsx scripts/session-db.ts interventions --pasted include --limit 20 --min-score 2 npx tsx scripts/session-db.ts interventions --pasted only --limit 20 --min-score 2 npx tsx scripts/session-db.ts interventions --context --limit 10 --min-score 2 --sort recent --before 4 --after 6 npx tsx scripts/session-db.ts sql "select ..." ``` Use `--format table|json|markdown` before the subcommand when output will be read by the agent or quoted in a report: ```bash npx tsx scripts/session-db.ts --format markdown preset exact-short-repeats npx tsx scripts/session-db.ts --format json context <message_key> ``` Read [references/query-cookbook.md](references/query-cookbook.md) when selecting SQL queries. Read [references/reflection-protocol.md](references/reflection-protocol.md) before producing a user-facing reflection. Read [references/intervention-events.md](references/intervention-events.md) when analyzing shouting, profanity, corrections, frustration, stop/pause requests, evidence challenges, or any high-signal user redirect. ## Recommended workflow 1. Clarify scope: recent sessions vs all sessions, coding-only vs all Pi use, and desired output depth. 2. If the task is reflection over a large history, extract user messages first. Use them to identify candidate workflows and repeated corrections; retrieve assistant/tool context only around selected examples. 3. Build or refresh the DuckDB evidence database with `scripts/session-db.ts build`. 4. Run a bounded first-pass evidence set: `overview`, `exact-short-repeats`, `tools`, `long-sessions`, and `sample --turns 3 --examples 2`. Add n-grams only when exact repeats do not explain enough. 5. Pick surprising evidence leads and retrieve compact context windows around representative message keys. For repeated exact turns, use `examples --text ...` for targeted sampling or `sample` for time-spread examples across top repeated turns. Use `--compact --hide-tools` first; rerun without them only when tool output matters. 6. For friction analysis, treat candidate events as broad **interventions**, not just profanity/escalation. Use `references/intervention-events.md` before generalizing. 7. Run targeted searches for explicit current-user preferences mentioned in the conversation, then inspect context. 8. Reason manually from evidence; do not let preset names, query names, repeated phrases, profanity, or all-caps become conclusions. 9. Present a concise reflection with citations and confidence levels. 10. Ask whether the user wants tooling changes, pi prompt/default changes, or deeper follow-up analysis. ## Output shape Use this structure unless the user asks otherwise: ```markdown # Pi session behavior reflection ## Evidence inspected - Database/session scope - Query types used ## Observed patterns For each pattern: - Observation - Evidence - Interpretation
From dannote/dot-pi, MIT.
More from dannote/dot-pi
- 0.625score
package-release
dannote
Prepare, publish, repair, or verify package releases and changelogs.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
ai-news
dannote
Fetch and curate AI news from X/Twitter list.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
applescript
dannote
AppleScript and JXA automation for macOS.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
bird
dannote
X/Twitter CLI for posting tweets, reading threads, searching, and fetching news.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
chat-to-skill
dannote
Convert current chat session into a reusable skill.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
dont-anger-mario
dannote
Prepare concise, high-signal issues or contribution proposals for the pi repository without annoying maintainers.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
pr-review
dannote
Review GitHub pull requests critically and contextually, including first reviews, re-reviews after requested changes, external reviewer or bot feedback…
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
vibe-merge
dannote
Use when the user wants to "vibe-merge"/"vibe-marge" a PR or branch: independently reimplement good ideas, avoid blind merging/cherry-picking, preserve…
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
maintainer-reply
dannote
Draft concise, natural, context-aware public replies to GitHub issues, pull requests, reviews, and contributor follow-ups.
SkillBFreshness: B★ 57Claude Code +9 - 0.622score
agent-browser
dannote
Use agent-browser CLI for website automation: navigate, click/fill, scrape, screenshot, test web apps, debug console/network.
SkillBFreshness: B★ 57Claude Code +9 - 0.622score
twitter-thread-style
dannote
Write or revise X/Twitter developer announcement threads in the user's preferred style.
SkillBFreshness: B★ 57Claude Code +9 - 0.619score
github-issues
dannote
Use gh CLI to view, triage, fix, link, create, or close GitHub Issues.
SkillBFreshness: B★ 57Claude Code +9
Signals
- Stars
- 57
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Sep 1, 2026 (1 month ago)
- Last release
- Aug 30, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/dannote/dot-pi
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from dannote
- 0.625score
ai-news
dannote
Fetch and curate AI news from X/Twitter list.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
applescript
dannote
AppleScript and JXA automation for macOS.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
bird
dannote
X/Twitter CLI for posting tweets, reading threads, searching, and fetching news.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
chat-to-skill
dannote
Convert current chat session into a reusable skill.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
dont-anger-mario
dannote
Prepare concise, high-signal issues or contribution proposals for the pi repository without annoying maintainers.
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
maintainer-reply
dannote
Draft concise, natural, context-aware public replies to GitHub issues, pull requests, reviews, and contributor follow-ups.
SkillBFreshness: B★ 57Claude Code +9
Cite this page
session-reflect skill. Agent Mart. https://agentmart.dev/skills/dannote-session-reflect (last updated 2026-10-24)