Error Log Summarizer
Parses raw error logs and produces a concise, prioritized summary of unique issues with root cause hints.
Best use case
Error Log Summarizer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Parses raw error logs and produces a concise, prioritized summary of unique issues with root cause hints.
Teams using Error Log Summarizer should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/error-log-summarizer/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Error Log Summarizer Compares
| Feature / Agent | Error Log Summarizer | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Parses raw error logs and produces a concise, prioritized summary of unique issues with root cause hints.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Error Log Summarizer ## What this skill does This skill directs the agent to ingest raw error logs — from a server, application, CI pipeline, or any other source — and produce a structured, de-duplicated summary. It groups repeated errors, counts occurrences, identifies the most frequent and most severe issues, and provides a root cause hint for each unique error type. The output gives you a clear picture of what's actually wrong without needing to scroll through thousands of log lines. Use this when you have a dump of logs from a production incident, a CI failure, an error monitoring alert, or a server that's behaving oddly. ## How to use ### Claude Code / Cline Copy this file to `.agents/skills/error-log-summarizer/SKILL.md` in your project root. Then ask: - *"Use the Error Log Summarizer skill on these logs."* - *"Summarize this error output from our production server using the Error Log Summarizer skill."* Paste the raw logs directly into the message, or provide a file path if the logs are in the repo. ### Cursor Add the instructions below to your `.cursorrules` or paste them into the Cursor AI pane, then paste your raw logs. ### Codex Paste the logs directly in your message and ask Codex to follow the instructions below. ## The Prompt / Instructions for the Agent When asked to summarize error logs, follow these steps: ### Step 1 — Parse and classify each log entry Read through the entire log. For each line or entry, extract: - **Timestamp** (if present) - **Severity level**: ERROR, WARN, FATAL, CRITICAL, or inferred from context - **Error message**: the actual error text, not the full stack trace - **Source**: the file, service, or module where the error originated - **Stack trace identifier**: if a stack trace is present, note the top application-code frame (not framework internals) ### Step 2 — De-duplicate and group Group log entries that represent the same underlying error. Two entries are the same error if: - The error message is identical or differs only in dynamic values (IDs, timestamps, paths) - They originate from the same source location For variable parts of error messages (e.g., user IDs, file names), replace them with a placeholder like `[USER_ID]` or `[FILE_PATH]` to produce a canonical error signature. Count occurrences of each unique error. ### Step 3 — Prioritize Rank the unique errors by a combination of: - **Frequency** — how many times does it appear? - **Severity** — FATAL/CRITICAL > ERROR > WARN - **Recency** — errors appearing toward the end of the log window are more likely to be the active issue ### Step 4 — Generate root cause hints For each unique error, analyze the message, source, and any available stack trace to produce a 1–2 sentence root cause hypothesis. This is a hint to guide investigation, not a definitive diagnosis. ### Step 5 — Format the output ```markdown ## Error Log Summary **Log window**: [Start timestamp] → [End timestamp] (or "timestamps not present") **Total log lines analyzed**: N **Unique error signatures**: N **Total error occurrences**: N --- ### Top Issues (by priority) #### 1. [Error signature] - **Severity**: ERROR / FATAL / WARN - **Occurrences**: N times - **First seen**: [timestamp or "unknown"] - **Last seen**: [timestamp or "unknown"] - **Source**: `file.ts:line` or service name - **Sample message**: `[Exact or representative log line]` - **Root cause hint**: [1–2 sentences on likely cause] - **Suggested next step**: [Where to look first — a specific file, a query to run, a config to check] #### 2. ... --- ### Warnings (non-critical but worth noting) | # | Signature | Occurrences | Source | Note | |---|-----------|-------------|--------|------| | 1 | `Deprecated API used: /v1/users` | 43 | `api/userController.ts` | Will break on next major version | --- ### Noise / Expected Errors [List any errors that appear expected or benign, e.g., health check 404s, with a brief explanation of why they can be ignored] ``` ### Step 6 — Call out patterns After the per-error breakdown, note any cross-cutting patterns: - Did errors spike at a specific time? (Possible deploy or traffic spike) - Are all errors coming from a single service or file? (Localized failure) - Are there cascading errors where one root failure causes secondary errors? (Identify the origin) ## Example **Input to Agent:** > "Use the Error Log Summarizer skill on these logs: > ``` > 2024-01-15 14:02:11 ERROR [OrderService] Cannot read property 'price' of undefined at processOrder (order.service.ts:87) > 2024-01-15 14:02:12 ERROR [OrderService] Cannot read property 'price' of undefined at processOrder (order.service.ts:87) > 2024-01-15 14:02:15 WARN [AuthService] JWT expiry within 5 minutes for user 4821 > 2024-01-15 14:02:18 ERROR [OrderService] Cannot read property 'price' of undefined at processOrder (order.service.ts:87) > 2024-01-15 14:02:20 ERROR [PaymentService] Stripe API timeout after 30s (requestId: req_abc123) > 2024-01-15 14:02:21 ERROR [PaymentService] Stripe API timeout after 30s (requestId: req_def456) > 2024-01-15 14:02:25 FATAL [OrderService] Unhandled promise rejection: Cannot read property 'price' of undefined > ```" **Output from Agent:** > ## Error Log Summary > > **Log window**: 2024-01-15 14:02:11 → 14:02:25 > **Total log lines analyzed**: 7 > **Unique error signatures**: 3 > **Total error occurrences**: 6 (+ 1 warning) > > ### Top Issues > > #### 1. `Cannot read property 'price' of undefined` — OrderService > - **Severity**: FATAL (escalated from ERROR) > - **Occurrences**: 4 times > - **Source**: `order.service.ts:87` > - **Root cause hint**: A product object is `undefined` at the point where `price` is accessed — likely a missing null-check after a database lookup or an item that was deleted from the catalog while still in an active cart. > - **Suggested next step**: Inspect `order.service.ts:87` and the function that populates the product before line 87. Add a null guard. > > #### 2. `Stripe API timeout after 30s` — PaymentService > - **Severity**: ERROR > - **Occurrences**: 2 times > - **Root cause hint**: Stripe API is not responding within the 30-second timeout — could be a Stripe outage, network issue, or an unusually large payload. > - **Suggested next step**: Check https://status.stripe.com for incidents. Review the Stripe request payload size and consider reducing the timeout threshold with a retry strategy. ## Notes - The larger the log file, the more valuable de-duplication is — 1,000 lines of logs often contain only 5–10 unique error types. - If logs are structured JSON (e.g., from Winston or Pino), mention that when invoking the skill so the agent can parse the `message` and `level` fields correctly. - This skill summarizes; it does not fix. For root cause diagnosis, use the Bug Root Cause Analyzer skill on the top issue.
Related Skills
Unit Test Writer
Generates comprehensive unit tests for any function or module with edge cases.
Unit Test Improver
Reviews existing unit tests for gaps, weak assertions, and missing edge cases, then rewrites them to be more robust.
Troubleshooting Guide Builder
Builds a structured troubleshooting guide with symptom → cause → fix format for any tool or system.
Tech Debt Auditor
Identifies and prioritizes technical debt in a codebase with an effort/impact matrix.
Technical Blog Post Writer
Writes engaging, accurate technical blog posts targeted at developer audiences.
Stack Trace Analyzer
Interprets error stack traces to pinpoint root cause, explain what went wrong, and suggest fixes.
SQL Query Optimizer
Reviews SQL queries for performance issues and rewrites them with optimized execution plans.
Sprint Summary Generator
Converts a list of completed tickets or commits into a clear sprint summary for stakeholders.
Social Post Thread Writer
Converts a blog post, idea, or document into an engaging Twitter/X or LinkedIn thread with hooks and CTAs.
SEO Metadata Generator
Generates optimized title tags, meta descriptions, Open Graph tags, and structured data for any web page.
SEO Content Optimizer
Analyzes and rewrites content to maximize search engine visibility without sounding robotic.
SDK Quickstart Writer
Generates a concise, copy-paste-ready quickstart guide for any SDK or library.