docs/single-click-summaries-spec.md
Author: Louis / Menelaus (znitchi) Date: Feb 19, 2026 Status: Draft
Screenpipe records everything you see, say, and hear — but most users never ask the AI anything meaningful. The current empty chat state shows a few auto-suggestions ("What did I do in the last hour?"), but they're small, text-only, and easy to ignore. Users who don't know what to ask just stare at the input box and leave.
Evidence:
suggestions.rs) but are small text buttons at the bottom of the empty chatCore tension: Screenpipe collects 2K-13K+ memories per day, but the value is locked behind a blank text box.
"Single-Click Summaries" — a prompt template library and visual builder that makes screenpipe's value immediately obvious. Instead of a blank chat, users see curated one-click actions that generate structured summaries from their data.
Menelaus calls this an "Enhanced AI Prompt Builder" — consumer-friendly, visually pleasing, accessible to non-technical users.
| Summary | Value to User |
|---|---|
| Day Recap | End-of-day reflection, "what did I actually accomplish?" |
| Standup Update | Copy-paste ready standup for team meetings |
| Morning Brief | Catch up on yesterday's unfinished work |
| Time Breakdown | Understand where time went (by app, by project) |
| What's Top of Mind | Surface recurring topics you keep coming back to |
| AI Habits | Track which AI tools you use, how much, patterns |
| Custom Summary | Power-user builder with time/app/website filters |
| Collaboration Patterns | Who you interact with most (Slack, meetings) |
| Professional Persona | Work style analysis for self-improvement |
| Week Recap | Weekly review without manual journaling |
Key insight from Menelaus: He mostly uses Time Breakdown, Day Recap, and AI Habits — the ones that answer "what did I actually do?" without requiring the user to remember.
Replaces the current empty chat state. Shows before any conversation is initiated.
┌─────────────────────────────────────────────┐
│ │
│ [PI icon] │
│ How can I help today, {name}? │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌────────────────┐
│ │ 📋 Day │ │ 🏢 Standup │ │ ✨ Custom │
│ │ Recap │ │ Update │ │ Summary │
│ │ Today's │ │ What you │ │ Custom time, │
│ │ accomplish- │ │ did, next, │ │ filters & │
│ │ ments... │ │ blockers │ │ instructions │
│ └─────────────┘ └─────────────┘ └────────────────┘
│ ┌─────────────┐ ┌─────────────┐ ┌────────────────┐
│ │ ❗ Top of │ │ 🤖 AI │ │ 🔍 Discover │
│ │ Mind │ │ Habits │ │ Reminders, │
│ │ Recurring │ │ AI usage & │ │ Recaps, and │
│ │ topics... │ │ model pref │ │ More... │
│ └─────────────┘ └─────────────┘ └────────────────┘
│ │
│ ┌─────────────────────────────────────────┐│
│ │ Ask about your screen activity... ││
│ └─────────────────────────────────────────┘│
└─────────────────────────────────────────────┘
Behavior:
Which 5 cards to feature? Based on Menelaus' usage data:
Full library of all templates, opened from the "Discover" card or a menu button.
┌─────────────────────────────────────────────────┐
│ Single-Click Summaries [X] │
│ │
│ The easiest way to leverage your artificial │
│ memories. Access a growing library of │
│ single-click summaries... │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ ❗ What's Top of │ │ 🌅 Morning Brief │ │
│ │ Mind │ │ Everything to │ │
│ │ Recurring topics │ │ kickstart your │ │
│ │ ranked by import │ │ day │ │
│ │ [See action] │ │ [See action] │ │
│ └──────────────────┘ └──────────────────┘ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ 🏢 Standup │ │ ⏱ Time │ │
│ │ Update │ │ Breakdown │ │
│ │ ... │ │ ... │ │
│ └──────────────────┘ └──────────────────┘ │
│ ... (2-column grid, all 10 templates) │
└─────────────────────────────────────────────────┘
Behavior:
Advanced modal for power users. The main differentiator from simple one-click templates.
┌───────────────────────────────────────────────────────────┐
│ ✨ Custom Summary [X] │
│ │
│ ┌─ Left Panel ──────┐ ┌─ Right Panel ────────────────┐ │
│ │ │ │ │ │
│ │ ⏰ Time Period [1] │ │ What should the summary │ │
│ │ │ │ focus on? │ │
│ │ Last 5 min 9 │ │ │ │
│ │ Last 30 min 61 │ │ ┌──────────────────────────┐ │ │
│ │ Last 2 hours 479 │ │ │ Type your custom │ │ │
│ │ ✓ Today 2.6K │ │ │ instructions for 2.82K │ │ │
│ │ Past 24h 3K │ │ │ memories from today... │ │ │
│ │ Yesterday 1.4K │ │ │ │ │ │
│ │ This Week 8.9K │ │ │ │ │ │
│ │ Last Week 4.2K │ │ │ │ │ │
│ │ This Month 13.1K │ │ │ 0/1K │ │ │
│ │ Last Month │ │ └──────────────────────────┘ │ │
│ │ │ │ │ │
│ │ 📡 Signals [v] │ │ QUICK TEMPLATES │ │
│ │ 📱 Apps [v] │ │ [Status Update] │ │
│ │ 🌐 Websites [v] │ │ [Key Decisions] │ │
│ │ │ │ [Action Items] │ │
│ └────────────────────┘ │ [Meeting Prep] │ │
│ │ [Blockers] │ │
│ └──────────────────────────────┘ │
│ │
│ Processing 2.82K memories from today │
│ [Save as Template] [✨ Generate] │
└───────────────────────────────────────────────────────────┘
Left Panel — Filters:
content_type in search APIapp_namewindow_name or new browser_url fieldRight Panel — Prompt Builder:
Bottom Bar:
User clicks "Day Recap"
→ Frontend builds prompt: system context + template prompt + time filter
→ Sends to PI agent via sendPiMessage()
→ PI queries /search API with time range + content filters
→ PI generates structured summary
→ Response streams into chat
User configures filters + instructions
→ Frontend builds search query from filters
→ Pre-fetches memory count: GET /search?count_only=true&start_time=X&end_time=Y
→ On "Generate": sends compound prompt to PI agent
→ Prompt includes: time range, app filter, content type, user instructions
→ PI agent executes search + generates summary
→ Response streams into chat
Each time period / filter selection triggers a lightweight count query:
GET /search?start_time={ISO}&end_time={ISO}&app_name={filter}&limit=0&count_only=true
This powers the "2.82K memories from today" indicator. Uses existing search API — may need a count_only param to avoid returning full results.
Each template is a structured prompt sent to the PI agent. Templates include:
Analyze my screen and audio recordings from today.
Provide: a one-line summary, top 3 accomplishments,
key moments with timestamps, and any unfinished work.
Format as structured sections.
Based on my recordings from the last 24 hours, generate
a standup update: What I did yesterday, what I'm working
on today (based on recent activity), and any blockers
(meetings that ran over, errors encountered, etc).
Analyze my app usage and screen recordings from today.
Break down time by: application, project/topic, and
category (coding, meetings, browsing, writing, communication).
Show percentages and durations.
Search my recordings for AI tool usage: ChatGPT, Claude,
Copilot, Cursor, Gemini, and other AI assistants.
Report: which tools I used, approximate time per tool,
what I used them for, and patterns in my AI usage.
(Full prompt library would be maintained as a JSON/config file)
/search returns full results — need lightweight count endpoint or cache layer./search doesn't expose this — may need new endpoint or cache from suggestions.rs activity detection.pipe.md with a schedule. E.g., "Day Recap at 6 PM every weekday."daily-summary.tsx already generates a summary at 6 PM. This feature supersedes it — more flexible, more templates, user-configurable. Could deprecate the hardcoded daily summary.| Existing | Use For |
|---|---|
suggestions.rs auto-suggestions | Activity detection for context-aware featured cards |
PI agent (pi.rs) | Executing summary prompts — no new AI backend needed |
/search API | Querying memories with time/app/content filters |
standalone-chat.tsx empty state | Mounting point for pre-chat landing page |
daily-summary.tsx JSON schema | Output format reference for Day Recap |
| Chat message rendering | Displaying summary results (markdown, tables, etc.) |
| Component | Location |
|---|---|
| Pre-chat landing cards | components/chat/summary-cards.tsx |
| Library modal | components/chat/summary-library.tsx |
| Custom builder modal | components/chat/custom-summary-builder.tsx |
| Template definitions | lib/summary-templates.ts (JSON config) |
| Memory count API | Server-side: fast count query; or client-side: cached search with limit=0 |
| "Save as Template" | localStorage + optional pipe export |
| File | Change |
|---|---|
standalone-chat.tsx | Replace empty-state auto-suggestion chips with summary cards |
| Search API (optional) | Add count_only parameter for lightweight counts |
suggestions.rs (optional) | Expose detected activity mode to frontend for context-aware card ordering |