Automated summary
Views and aggregates logs from multiple sources (systemd, Docker, application files) to aid debugging and monitoring.
Strengths
- Centralizes log viewing across different services
- Supports filtering by level (error, warn) and pattern search
- Works with multiple sources (systemd, Docker, files) using appropriate commands
Limitations
- Requires pre-configuration of log sources in the SKILL
- Depends on access to Bash, Read, Glob, and Grep tools
- No real-time streaming (uses tail)
When you need to troubleshoot issues by examining logs from one or more services in your project.
If you need advanced centralized logging with indexing and full-text search, or if the services are not accessible via the listed sources.
Security analysis
SafeCommands are read-only log viewing (journalctl, docker logs, tail, grep). No destructive operations or exfiltration risks.
No concerns found
How this analysis is madeExamples
Show me the last 100 log entries for the erudition service, including any errors.Search the docker logs of agila-backend for any error or exception messages.Get the logs from all services (systemd and Docker) for the last hour and show a summary of errors and warnings.name: logs description: View and aggregate logs from various sources (systemd, docker, application files). Use when debugging, monitoring services, or investigating errors. argument-hint: [service] [options] allowed-tools: Bash, Read, Glob, Grep
Log Aggregator
View and search logs from multiple sources across your projects.
Arguments
$0: Service name or project (optional - shows all if not specified)$1: Options -error,warn,tail,search:pattern(optional)
Log Sources by Project
| Project | Source | Location/Command |
|---------|--------|------------------|
| eruditiontx-services-mvp | systemd | journalctl -u erudition-service |
| eruditiontx-services-mvp | app | ~/Projects/eruditiontx-services-mvp/logs/ |
| mathmatterstx-services | systemd | journalctl -u mathmatters-service |
| agila-tax-management | docker | docker logs agila-backend |
| notaryo.ph | Next.js | .next/ logs, terminal output |
| bocs-turbo | Vercel | vercel logs |
Commands
View Recent Logs
Systemd Services:
journalctl -u $SERVICE -n 100 --no-pager
# Follow mode
journalctl -u $SERVICE -f
Docker Containers:
docker logs $CONTAINER --tail 100
# Follow mode
docker logs $CONTAINER -f
Application Log Files:
tail -n 100 ~/Projects/$PROJECT/logs/app.log
# Follow mode
tail -f ~/Projects/$PROJECT/logs/app.log
Filter by Level
Errors Only:
# Systemd
journalctl -u $SERVICE -p err -n 100 --no-pager
# Docker/Files
docker logs $CONTAINER 2>&1 | grep -i "error\|exception\|traceback"
# Log files
grep -i "error\|exception\|traceback" ~/Projects/$PROJECT/logs/app.log
Warnings:
grep -i "warn\|warning" $LOG_SOURCE
Search Logs
# Search for pattern
journalctl -u $SERVICE | grep -i "$PATTERN"
docker logs $CONTAINER 2>&1 | grep -i "$PATTERN"
grep -i "$PATTERN" ~/Projects/$PROJECT/logs/*.log
Time-Based Filtering
# Last hour
journalctl -u $SERVICE --since "1 hour ago"
# Today
journalctl -u $SERVICE --since today
# Specific time range
journalctl -u $SERVICE --since "2024-01-01 00:00:00" --until "2024-01-01 23:59:59"
Log Aggregation Mode
View logs from multiple services at once:
# All Erudition services
journalctl -u erudition-service -u mathmatters-service -f
# All Docker containers
docker-compose logs -f
Log Analysis
Count Errors by Type
grep -i "error" $LOG_FILE | sort | uniq -c | sort -rn | head -20
Find Slow Requests
grep -E "took [0-9]+ms" $LOG_FILE | awk '{print $NF}' | sort -rn | head -10
Track Request IDs
grep "$REQUEST_ID" $LOG_FILE
Output Format
Logs: [service-name]
Source: [systemd/docker/file]
Filter: [all/error/warn]
Time: [range]
---
[Formatted log entries with timestamps]
---
Summary:
- Total entries: X
- Errors: Y
- Warnings: Z
- Time span: [start] to [end]
Common Log Patterns
FastAPI (Python)
INFO: 127.0.0.1:52847 - "GET /health HTTP/1.1" 200 OK
ERROR: Exception in route handler: [error message]
Next.js
ready - started server on 0.0.0.0:3000
error - Error: [error message]
warn - [warning message]
Docker
[timestamp] [level] [message]
Troubleshooting
If logs are empty:
- Check if service is running:
systemctl status $SERVICE - Check log rotation:
ls -la /var/log/ - Check Docker container status:
docker ps -a - Verify log file permissions
Design-to-Dev Specification Writer
Development
Translate your mockups into technical specifications for developers.
Exports & Barrel Files
Development
Defines conventions for module exports and barrel files: named exports only, no flat wildcards (except `export * as Name` for compound components), sectioned comments, types alongside values, and one export line per source file. Helps maintain consistent, tree-shakeable exports in portal apps using Turbopack or similar bundlers.
Write an Agent Skill
Development
Step-by-step guide to create a structured Agent Skill for coding agents, including directory structure, SKILL.md format, and design principles.