Delegate independent tasks to specialized agents working concurrently with isolated context.
Investigate Logs
investigate-logs
Automatically investigate logs when errors occur, debugging issues, or troubleshooting problems. Check frontend logs (LogViewer) and backend logs (daily log files) for error patterns. Use when user reports bugs, errors appear, or functionality isn't working as expected.
SKILL.md
Full skill instructions
Investigate Logs
Automatically investigate PhotoClove logs to diagnose issues and errors.
When This Skill is Invoked
Claude automatically uses this skill when:
- User reports an error or bug
- Functionality isn't working as expected
- Need to trace what happened during an operation
- Debugging why something failed
- User says "check the logs" or similar
Log Locations
Frontend Logs
Location: LogViewer component (accessible via Ctrl+Shift+L)
- Stored in memory via
LoggerService.js - Structured format:
[LEVEL] Component:event_name - Message | data: {...} - Can be filtered by level, component, and searched
Daily Log Files (UTC dates):
~/.local/share/photoclove/logs/photoclove-frontend-YYYY-MM-DD.log
Example: photoclove-frontend-2025-12-23.log (December 23, 2025 UTC)
Backend Logs
Location: Daily log files in the logs directory (UTC dates)
~/.local/share/photoclove/logs/photoclove-YYYY-MM-DD.log
Example: photoclove-2025-12-23.log (December 23, 2025 UTC)
Format: Rust log:: macros with structured key=value pairs
[TIMESTAMP] [LEVEL] target: "component", "event; key1=value1; key2=value2"
Important: Log file names use UTC dates, not local timezone dates.
Investigation Process
-
Identify the issue:
- What operation failed?
- What was the user doing?
- When did it happen?
-
Check most recent logs (log files use UTC dates):
# Frontend logs (today UTC) tail -100 ~/.local/share/photoclove/logs/photoclove-frontend-$(date -u +%Y-%m-%d).log # Backend logs (today UTC) tail -100 ~/.local/share/photoclove/logs/photoclove-$(date -u +%Y-%m-%d).log # Or simply check the latest files tail -100 ~/.local/share/photoclove/logs/photoclove-frontend-*.log | tail -100 tail -100 ~/.local/share/photoclove/logs/photoclove-*.log | grep -v frontend | tail -100 -
Search for errors:
# Find errors in frontend logs grep -i "error" ~/.local/share/photoclove/logs/photoclove-frontend-*.log | tail -20 # Find errors in backend logs grep -i "error" ~/.local/share/photoclove/logs/photoclove-2*.log | tail -20 -
Trace operation flow:
- Look for correlation_id in logs to trace a request through frontend and backend
- Follow the sequence of events leading to the error
- Check what data was passed at each step
-
Identify root cause:
- What was the first error in the chain?
- What state was the application in?
- What data caused the issue?
Common Error Patterns
Frontend Errors
- ReferenceError: Undefined variable or function
- TypeError: Wrong type or null/undefined access
- State errors: Incorrect state updates or missing state
Backend Errors
- Database errors: SQL errors, table not found, constraint violations
- File system errors: Permission denied, file not found
- Tauri command errors: Command not found, invalid parameters
Integration Errors
- 500 Internal Server Error: Backend error, check backend logs
- No response: Command timeout or backend crash
- Data mismatch: Frontend and backend data format mismatch
Log Analysis Tips
- Start from the error and work backwards
- Look for correlation_id to trace requests
- Check timestamps to understand timing
- Pay attention to data values in structured logs
- Compare with successful operations
Reporting Findings
After investigation, provide:
- Root cause: What actually caused the error
- Error location: File and line number if available
- Data context: What data triggered the issue
- Suggested fix: How to resolve the problem
- Related logs: Key log entries showing the issue
Integration with PhotoClove
- Frontend logs use
LoggerService.jsfor structured logging - Backend logs use Rust
log::macros - All operations should have correlation IDs for tracing
- LogViewer provides UI for browsing logs interactively
More Other skills
brand-guidelines
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
theme-factory
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
internal-comms
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Fundamental design principles for writing maintainable, testable Python code.
responsive-design
Modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first strategies.
Generate Playwright tests from scenarios using interactive browser exploration and validation.
Automated website exploration and test case generation using Playwright.
Modern React state management with Redux Toolkit, Zustand, Jotai, and React Query for every state category.
gdpr-data-handling
GDPR-compliant data handling with consent management, data subject rights, and privacy controls.
Python error handling patterns including input validation, exception hierarchies, and partial failure handling. Use when implementing validation logic, designing exception strategies, handling batch processing failures, or building robust APIs.
refactor-plan
Detailed multi-file refactor planning with safety checks and rollback guidance.
