log-error-digest — скилл для Claude Code: анализ логов и установка
Скилл группирует похожие ошибки в логах и показывает частоту сбоев и их распределение по времени. Пригодится, чтобы найти повторяющиеся проблемы и часы пиковых ошибок.
npx skills add zebbern/claude-code-guide --skill log-error-digest -a claude-codeЧто делает log-error-digest
Скилл анализирует файлы логов в форматах JSON, syslog и Nginx. Он объединяет похожие сообщения, нормализуя динамические части вроде IP-адресов, UUID и чисел, а затем считает ошибки по типам и показывает их распределение по часам и датам.
Для анализа используется скрипт scripts/analyze_logs.py. Формат определяется автоматически или задаётся через --format; можно отфильтровать записи по уровню и временному диапазону, а отчёт сохранить в JSON с помощью --output. Запускайте скрипт через python и передавайте ему путь к файлу: поддерживаются именно JSON, syslog и Nginx, поэтому для логов в другом формате этот анализатор не подходит.
Какие задачи решает
- сгруппировать похожие сообщения об ошибках
- найти часы и даты с пиком сбоев
- посчитать частоту ошибок каждого типа
- отфильтровать записи по уровню или времени
- сохранить результаты анализа в JSON
Примеры запросов агенту
- Проанализируй
app.log, сгруппируй похожие ошибки и покажи распределение по времени. - Разбери
error.logкак формат Nginx и выведи 10 самых частых групп ошибок. - Оставь только записи уровня
ERRORвapp.logи сохрани отчёт вreport.json.
Как установить log-error-digest
1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill log-error-digest -a claude-code2Вручную: положить файлы
~/.claude/skills/log-error-digest/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/log-error-digest/
1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill log-error-digest -a codex2Вручную: положить файлы
.agents/skills/log-error-digest/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill log-error-digest -a cursor2Вручную: положить файлы
.cursor/skills/log-error-digest/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install zebbern/claude-code-guide log-error-digest2Вручную: положить файлы
.github/skills/log-error-digest/SKILL.md1Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill log-error-digest -a gemini-cli2Командой платформы
gemini skills install https://github.com/zebbern/claude-code-guide --path skills/log-error-digestВручную: положить файлы
.devin/skills/log-error-digest/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add zebbern/claude-code-guide --skill log-error-digest -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о log-error-digest
Как установить log-error-digest в Claude Code?
Выполните npx skills add zebbern/claude-code-guide --skill log-error-digest -a claude-code, затем проверьте файл ~/.claude/skills/log-error-digest/SKILL.md.
Что делает log-error-digest?
Он разбирает логи, объединяет похожие ошибки и выводит статистику по их частоте и времени появления. Отчёт можно сохранить в JSON.
Какие форматы логов поддерживает log-error-digest?
JSON, syslog и логи Nginx. Скрипт определяет формат автоматически; его также можно задать через --format.
Исходный текст
SKILL.md · MIT
---
name: log-error-digest
description: "Analyze log files to troubleshoot errors, identify peak error periods, and produce error clustering, frequency statistics, and time distribution reports. Supports JSON, syslog, and Nginx formats with automatic detection. Use when a user uploads a .log file and asks to analyze errors, find patterns, debug issues, or get distribution stats."
license: MIT
type: tool
tags: [logs, analysis, devops, monitoring]
---
# Log Error Digest
Automated log file analysis that produces error clustering, frequency statistics, and time distribution reports.
## Features
- **Error Clustering**: Groups similar error messages by normalizing dynamic parts (IPs, UUIDs, numbers, etc.) to identify root causes
- **Frequency Statistics**: Counts occurrences by error type, sorted by severity
- **Time Distribution**: Shows error distribution by hour and by date, helping pinpoint peak error periods
## Supported Log Formats
| Format | Description | Auto-detection |
|--------|-------------|----------------|
| JSON | One JSON object per line with `timestamp`/`level`/`message` fields | Starts with `{` |
| syslog | RFC 3164 format, e.g. `Jan 1 12:00:00 host proc[pid]: msg` | Starts with month name |
| Nginx | Access log or error log format | Starts with IP or date/path pattern |
## Usage
```bash
python scripts/analyze_logs.py <log_file_path> [options]
```
### Parameters
| Parameter | Description | Default |
|-----------|-------------|---------|
| `log_file` | Path to the log file (required) | - |
| `--format` | Log format: `auto`/`json`/`syslog`/`nginx` | `auto` |
| `--top` | Show Top N error clusters | `20` |
| `--output` | Export results to a JSON file | Terminal output only |
| `--level` | Filter by log level (e.g. `ERROR`, `WARN`) | All levels |
| `--since` | Only analyze logs after this time (ISO format) | No limit |
| `--until` | Only analyze logs before this time (ISO format) | No limit |
### Examples
```bash
# Auto-detect format and analyze the entire log file
python scripts/analyze_logs.py /var/log/app.log
# Specify Nginx format, show only Top 10 errors
python scripts/analyze_logs.py /var/log/nginx/error.log --format nginx --top 10
# Filter ERROR level only, export JSON report
python scripts/analyze_logs.py app.log --level ERROR --output report.json
# Analyze logs within a specific time range
python scripts/analyze_logs.py app.log --since 2024-01-01T00:00:00 --until 2024-01-02T00:00:00
```
## Output
### Terminal Output
```
=======================================================
Log Analysis Report
=======================================================
📊 Overview
Detected format: json
Total lines: 15,234
Parsed: 15,100 (parse failures: 134)
Matched entries: 12,800
Errors: 2,341
Time range: 2024-01-01 00:03:12 ~ 2024-01-01 23:58:45
🔴 Top Error Clusters (47 total)
#1 [×523 ] Connection refused to database at 10.0.1.5:5432
First seen: 2024-01-01T00:15:30 Last seen: 2024-01-01T23:45:12
#2 [×312 ] Timeout waiting for response from user-service after 30000ms
First seen: 2024-01-01T02:10:00 Last seen: 2024-01-01T22:30:45
#3 [×198 ] File not found: /data/uploads/img_99421.png
First seen: 2024-01-01T08:00:00 Last seen: 2024-01-01T20:15:33
...
⏰ Time Distribution (by hour)
00:00 █████░░░░░░░░░░░░░░░ 42
01:00 ██░░░░░░░░░░░░░░░░░░ 18
...
14:00 ████████████████████ 523
...
📅 Time Distribution (by date)
2024-01-01 ████████████████████ 2,341
```
### JSON Output
Use the `--output` parameter to export a structured JSON report for further processing or integration with monitoring systems.
© zebbern · MIT · zebbern/claude-code-guide