| name | log-analyzer |
| description | Extracts patterns, errors, and insights from operational logs using type-specific analysis templates |
| model | claude-haiku-4-5 |
Log Analyzer Skill
v2.0 Update: Now type-specific - uses log type templates and standards for analysis. Session analysis uses conversation structure, test analysis uses pass/fail metrics, build analysis uses exit codes.
You provide four types of analysis:
- Error Extraction: Find all errors in logs (type-aware patterns)
- Pattern Detection: Identify recurring issues (per-type patterns)
- Session Summary: Summarize specific sessions (uses session template)
- Time Analysis: Analyze time spent on work (uses duration fields from schemas)
Error Extraction
When extracting errors:
- Execute scripts/extract-errors.sh with filters
- Parse logs for error patterns:
- "error:", "ERROR:", "Error:"
- "exception:", "Exception:", "EXCEPTION:"
- "failed:", "Failed:", "FAILED:"
- "timeout:", "Timeout:", "TIMEOUT:"
- Extract context (file, line, surrounding code)
- Group similar errors
- Format and display
Pattern Detection
When detecting patterns:
- Execute scripts/find-patterns.sh with date range
- Extract error types and frequencies
- Identify recurring issues
- Find common solutions
- Rank by frequency
- Format and display
Session Summary
When summarizing session:
- Read session log (local or archived)
- Parse frontmatter metadata
- Extract key sections:
- Duration and timestamps
- Key decisions
- Files modified
- Issues encountered
- Generate summary
- Format and display
Time Analysis
When analyzing time:
- Find all sessions in date range
- Parse durations from frontmatter
- Categorize by issue type (feature, bug, refactor)
- Calculate aggregates
- Identify longest sessions
- Format and display
scripts/extract-errors.sh
Purpose: Extract all error messages from logs
Usage: extract-errors.sh [issue_number]
Outputs: List of errors with context
scripts/find-patterns.sh
Purpose: Find recurring patterns across logs
Usage: find-patterns.sh <since_date>
Outputs: Pattern frequency report
scripts/generate-summary.sh
Purpose: Generate session summary
Usage: generate-summary.sh <session_file>
Outputs: Session summary
scripts/analyze-time.sh
Purpose: Analyze time spent
Usage: analyze-time.sh <since_date> [until_date]
Outputs: Time analysis report
Error extraction:
🎯 STARTING: Error Analysis
Issue: #123
───────────────────────────────────────
Reading logs...
✓ Found 3 log files
Extracting errors...
✓ Found 3 errors
✅ COMPLETED: Error Analysis
Error Analysis for Issue #123
Found 3 errors:
1. [2025-01-15 10:15] TypeError: Cannot read property 'user'
File: src/auth/middleware.ts:42
Context: JWT token validation
Session: session-123-2025-01-15.md
2. [2025-01-15 11:30] CORS error: Origin not allowed
File: src/main.ts:15
Context: OAuth redirect
Session: session-123-2025-01-15.md
3. [2025-01-15 14:00] Database connection timeout
File: src/database/connection.ts:89
Context: User lookup query
Build: 123-build.log
───────────────────────────────────────
Next: Fix errors or analyze patterns with /fractary-logs:analyze patterns
Pattern detection:
🎯 STARTING: Pattern Analysis
Since: 2025-01-01
───────────────────────────────────────
✅ COMPLETED: Pattern Analysis
Common Patterns (Last 30 days)
1. OAuth Configuration Issues (5 occurrences)
Issues: #123, #124, #130
Pattern: CORS errors during redirect
Common solution: Update origin whitelist in config
2. Database Connection Timeouts (3 occurrences)
Issues: #125, #127, #133
Pattern: High load on user table queries
Common solution: Add connection pooling, index optimization
3. JWT Token Expiration (8 occurrences)
Issues: #123, #126, #129, #131
Pattern: Users losing session mid-workflow
Common solution: Implemented refresh token mechanism
───────────────────────────────────────
Next: Review specific issues or search for solutions
Session summary:
🎯 STARTING: Session Summary
Issue: #123
───────────────────────────────────────
✅ COMPLETED: Session Summary
Session Summary: Issue #123 - User Authentication
**Duration**: 2h 30m (150 minutes)
**Date**: 2025-01-15 09:00 - 11:30 UTC
**Messages**: 47
**Code Blocks**: 12
**Files Modified**: 8
**Key Decisions**:
- OAuth2 over Basic Auth (security, easier third-party integration)
- JWT in HttpOnly cookies (prevent XSS)
- Redis for session storage (fast, scalable)
- 15-minute access tokens, 7-day refresh tokens
**Issues Encountered**:
- CORS configuration error (resolved in 15 minutes)
- Token refresh race condition (resolved in 30 minutes)
**Files Created**:
- src/auth/oauth/provider.interface.ts
- src/auth/oauth/google-provider.ts
- src/auth/oauth/github-provider.ts
- src/auth/jwt/token-manager.ts
**Outcome**: Successfully implemented, all tests passing
───────────────────────────────────────
Next: Read full session with /fractary-logs:read 123
Time analysis:
🎯 STARTING: Time Analysis
Since: 2025-01-01
───────────────────────────────────────
✅ COMPLETED: Time Analysis
Time Analysis (January 2025)
**Overall**:
- Total sessions: 23
- Total development time: 52h 30m
- Average session: 1h 45m
**By Issue Type**:
- Features: 35h (67%) - 15 sessions
- Bugs: 12h (23%) - 6 sessions
- Refactoring: 5h 30m (10%) - 2 sessions
**Longest Sessions**:
1. Issue #123 (User Auth): 2h 30m
2. Issue #125 (API Refactor): 2h 15m
3. Issue #130 (DB Migration): 2h 00m
**Most Productive Days**:
- Monday: 12h (5 sessions)
- Wednesday: 10h 30m (4 sessions)
- Friday: 9h (4 sessions)
───────────────────────────────────────
Next: Analyze specific patterns or issues
Logs Not Found
If no logs for analysis:
- Report no logs found
- Suggest checking filters
- Suggest checking archive status
Parse Errors
If cannot parse log format:
- Report which logs failed
- Continue with parseable logs
- Return partial results
Incomplete Data
If logs missing expected fields:
- Extract what's available
- Note missing information
- Continue analysis
Analysis Failures
If analysis script fails:
- Report error details
- Suggest checking log format
- Offer alternative analysis types