screenpipe-logs
The screenpipe-logs skill retrieves and analyzes Screenpipe CLI backend and desktop app logs stored in the ~/.screenpipe/ directory for debugging purposes. Use it to locate errors, filter logs by time or content, track recording and processing status, and understand what occurred during specific operational periods when troubleshooting Screenpipe functionality.
git clone --depth 1 https://github.com/screenpipe/screenpipe /tmp/screenpipe-logs && cp -r /tmp/screenpipe-logs/.claude/skills/screenpipe-logs ~/.claude/skills/screenpipe-logsSKILL.md
# Screenpipe Logs Agent You are a specialized agent for retrieving and analyzing Screenpipe logs. Use this to debug issues, find errors, or understand what happened at a specific time. ## Log Locations All logs are stored in `~/.screenpipe/`: | Log Type | Pattern | Description | |----------|---------|-------------| | CLI/Backend | `~/.screenpipe/screenpipe.YYYY-MM-DD.log` | Core recording engine logs (OCR, audio, frames) | | Desktop App | `~/.screenpipe/screenpipe-app.YYYY-MM-DD.log` | Tauri app logs (UI, settings, pipes) | ## Common Commands ### List Available Logs ```bash ls -lht ~/.screenpipe/*.log | head -20 ``` ### Get Today's Logs ```bash # Today's date TODAY=$(date +%Y-%m-%d) # CLI logs (last 100 lines) tail -100 ~/.screenpipe/screenpipe.$TODAY.log # App logs (last 100 lines) tail -100 ~/.screenpipe/screenpipe-app.$TODAY.log ``` ### Find Errors ```bash # Errors in CLI logs grep -i "error\|failed\|panic" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -50 # Errors in app logs grep -i "error\|failed\|panic" ~/.screenpipe/screenpipe-app.$(date +%Y-%m-%d).log | tail -50 ``` ### Search for Specific Issues ```bash # Search for text in recent logs grep -i "SEARCH_TERM" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log # Search with context (5 lines before/after) grep -i -B5 -A5 "SEARCH_TERM" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log ``` ### Filter by Time ```bash # Get logs from specific hour (e.g., 14:00-14:59) grep "^2026-01-22T14:" ~/.screenpipe/screenpipe.2026-01-22.log # Get logs from last N minutes SINCE=$(date -v-30M +%Y-%m-%dT%H:%M) awk -v since="$SINCE" '$0 >= since' ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -100 ``` ### Log Analysis ```bash # Count errors by type grep -io "error[^:]*:" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | sort | uniq -c | sort -rn # Check recording status grep -i "recording\|started\|stopped" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20 # Check OCR processing grep -i "ocr\|frame" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20 # Check audio processing grep -i "audio\|transcription\|whisper" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | tail -20 ``` ## Log Format Logs use tracing format: ``` 2026-01-22T10:30:45.123456Z INFO screenpipe_core::capture: Starting capture 2026-01-22T10:30:45.234567Z ERROR screenpipe_audio::transcription: Failed to transcribe: timeout 2026-01-22T10:30:45.345678Z DEBUG screenpipe_vision::ocr: Processing frame 12345 ``` Fields: - Timestamp (ISO 8601 with microseconds) - Level: TRACE, DEBUG, INFO, WARN, ERROR - Target: module path - Message ## Common Issues to Look For ### Recording Issues ```bash grep -i "capture\|monitor\|screen\|permission" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail\|denied" ``` ### Audio Issues ```bash grep -i "audio\|microphone\|device\|whisper" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail" ``` ### Database Issues ```bash grep -i "sqlite\|database\|db\|insert\|query" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log | grep -i "error\|fail\|lock" ``` ### Memory/Performance ```bash grep -i "memory\|oom\|killed\|slow" ~/.screenpipe/screenpipe.$(date +%Y-%m-%d).log ``` ### Pipe Issues ```bash grep -i "pipe\|plugin" ~/.screenpipe/screenpipe-app.$(date +%Y-%m-%d).log | grep -i "error\|fail" ``` ## Response Guidelines When analyzing logs: 1. Start with the most recent errors/warnings 2. Provide timestamp and context for issues found 3. Suggest potential causes and fixes 4. If logs are large, summarize patterns rather than dumping everything 5. Note if screenpipe service appears to be running or stopped
Release the screenpipe monorepo. Bumps versions, triggers GitHub Actions for app, CLI, MCP, and JS packages.
Query the user's data via the local screenpipe REST API at localhost:3030 — screen recordings, audio, UI elements, usage analytics, and the user's persistent memory store. Use when the user asks about their screen activity, meetings, apps, productivity, media export, retranscription, connected services, OR when they ask to save / remember / store / note information so it can be retrieved later (POST /memories — survives across sessions and is queryable by Claude/external agents via the same API).
Manage screenpipe pipes (scheduled AI automations) and connections (Telegram, Slack, Discord, etc.) via the CLI. Use when the user asks to create, list, enable, disable, run, or debug pipes, or manage service connections from the command line.
Check Screenpipe health status, process state, and diagnose common issues
Add or change Tauri commands and TypeScript bindings in the screenpipe desktop app. Use when editing #[tauri::command] handlers, lib/utils/tauri.ts, or Rust types exported to the frontend.
Query the org's screenpipe telemetry as an enterprise admin — devices, members, recent activity, and substring search across the team's screen recordings and audio transcripts. Use when the user asks about their team, a teammate's activity, what their organization worked on, app usage across the org, or anything that requires seeing data beyond the user's own machine. The skill is only installed for enterprise admins; ordinary users won't see it.