Skip to content
axiom-audit logo

Axiom Logs Audit Skill

axiom-audit

Audit Axiom logs to identify and prioritize errors and warnings, research probable causes, and flag log smells. Use when user asks to check Axiom logs, analyze production errors, investigate log issues, or audit logging patterns.

SKILL.md

Full skill instructions

Axiom Logs Audit Skill

Systematically audit Axiom logs to identify, prioritize, and research errors and warnings.

Setup

Install axiom-mcp:

go install github.com/​axiomhq/​axiom-mcp@latest

Install mcptools:

# macOS
brew tap f/​mcptools
brew install mcp

# Windows/​Linux
go install github.com/​f/​mcptools/​cmd/​mcptools@latest

Set credentials:

export AXIOM_TOKEN="xaat-your-token"
export AXIOM_ORG_ID="your-org-id"  # Optional

Find credentials in repo:

grep -r "AXIOM" . --include="*.env*" --include="*.config.*"

Usage

List datasets:

mcp call listDatasets --params '{"arguments":{}}' ~/​go/​bin/​axiom-mcp

Query APL:

# Query errors
mcp call queryApl --params '{"arguments":{"dataset":"logs","apl":"['\''now-24h'\'':now] | where level == \"error\" | summarize count() by message"}}' ~/​go/​bin/​axiom-mcp

# Query warnings
mcp call queryApl --params '{"arguments":{"dataset":"logs","apl":"['\''now-24h'\'':now] | where level == \"warn\" | summarize count() by message"}}' ~/​go/​bin/​axiom-mcp

Interactive shell (recommended for multiple queries):

mcp shell ~/​go/​bin/​axiom-mcp

Audit Process

1. Identify Dataset

mcp call listDatasets --params '{"arguments":{}}' ~/​go/​bin/​axiom-mcp

Or search codebase for dataset names:

grep -r "axiom.*dataset" . --include="*.ts" --include="*.js"

2. Query Errors & Warnings

Errors:

['now-24h':now]
| where level in ("error", "ERROR", "fatal", "FATAL")
| summarize count() by error_message=coalesce(_error, message, msg), error_type
| order by count_desc

Warnings:

['now-24h':now]
| where level in ("warn", "WARNING", "WARN")
| summarize count() by message
| order by count_desc

Error trends:

['now-7d':now]
| where level in ("error", "ERROR", "fatal", "FATAL")
| summarize count() by bin_auto(_time), error_type

3. Prioritize Errors

Priority scoring:

  • P0: CRITICAL + High Frequency (>100/​hour)
  • P1: CRITICAL + Low Frequency OR HIGH + High Frequency
  • P2: HIGH + Low Frequency OR MEDIUM + High Frequency
  • P3: MEDIUM + Low Frequency
  • P4: LOW

Severity levels:

  • CRITICAL: Data loss, security issues, service down
  • HIGH: Feature broken, user-facing errors
  • MEDIUM: Degraded functionality, intermittent issues
  • LOW: Minor warnings, non-critical issues

4. Research Each Error

For each unique error:

  1. Find source in codebase using Grep
  2. Read surrounding code to understand context
  3. Identify probable cause (code bug, infrastructure, data, integration, config)
  4. Collect evidence from code patterns and related errors
  5. Flag log smells (see below)

5. Flag Log Smells

  • Excessive logging: Same message flooding logs
  • Missing context: No request ID, user ID, trace info
  • Poor error messages: Vague or unhelpful
  • Logged but not handled: Errors logged then ignored
  • Inconsistent logging: Different levels for similar issues
  • Sensitive data exposure: PII, secrets, tokens in logs
  • No stack traces: Errors without stack traces
  • Generic catch-all handlers: Hiding real issues

6. Generate Report

Create .audits/​axiom-audit-[timestamp].md with:

# Axiom Logs Audit Report
**Date**: [timestamp]
**Time Range**: [start] to [end]
**Total Errors**: X | **Total Warnings**: Y

## Executive Summary
- **P0 Issues**: X (immediate action required)
- **P1 Issues**: Y (urgent)
- **P2 Issues**: Z
- **P3+ Issues**: W

## Prioritized Error List

### P0: [Error Type]
**Occurrences**: X times | **Trend**: [↑/→/↓]
**First Seen**: [timestamp] | **Last Seen**: [timestamp]

**Error Message**:

[Actual error message]


**Source**: `path/​to/​file.ts:line`

**Probable Cause**: [Analysis]

**Evidence**:
- [Code patterns, related errors]

---

### P1: [Next Error]
[Same structure]

---

## Log Smells Detected

### Excessive Logging
- `[error pattern]` - X,000 times in Y minutes
- **Location**: `file.ts:line`

### Sensitive Data Exposure
- User emails logged in `auth.ts:42`
- **Impact**: Privacy/​compliance risk

---

## Error Categories

**Infrastructure**: X% | **Code Bugs**: Y% | **Data Issues**: Z% | **External**: W%

---

## Trend Analysis

**New Errors**: [Errors that appeared recently]
**Increasing**: [Errors with rising frequency]
**Resolved**: [Errors that stopped]

7. Provide Summary

Brief summary for user highlighting:

  • P0/​P1 count and top issues
  • Critical log smells
  • Category breakdown
  • Link to full report

Critical Rules

  • NEVER EDIT FILES - Audit only, no fixes
  • NEVER ASSUME - Research each error in codebase
  • DO PRIORITIZE - Use consistent priority scoring
  • DO IDENTIFY PATTERNS - Group similar errors
  • DO FLAG LOG SMELLS - Document logging anti-patterns
  • DO PROVIDE EVIDENCE - Support analysis with code/​data

Success Criteria

✅ All errors/​warnings extracted from Axiom ✅ Prioritized with severity + frequency scoring ✅ Root cause research for each error type ✅ Log smells identified ✅ Categorization and trend analysis complete ✅ Structured report generated

More DevOps & CI/CD skills

Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.

6K 472.6K
View

Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.

6K 472.6K
View

Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.

1.5K 454.3K
View
azure-kubernetes logo
DevOps & CI/CD

azure-kubernetes

Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.

1.5K 447.1K
View

Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.

92.7K 354.9K
View
just-scrape logo
DevOps & CI/CD

just-scrape

Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.

69 245K
View

Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.

462 159.7K
View

Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.

462 159.1K
View
deploy-to-vercel logo
DevOps & CI/CD

deploy-to-vercel

Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".

31.9K 146.6K
View
programmatic-seo logo
DevOps & CI/CD

programmatic-seo

Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.

53.3K 140.1K
View

Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.

63 123.5K
View

Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".

31.9K 116.1K
View

Coding & apps AI tools

Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View
I
Coding & apps

Imagica

Build a no-code AI app in minutes.

Freemium
View
E
Coding & apps

Emergent.sh

An IDE for code migration from legacy to modern frameworks through coding agents.

Freemium
View
Wonder Dynamics logo
Coding & apps

Wonder Dynamics

Automate CGI animation in live-action scenes

Paid
View
M
Coding & apps

Mixo

Launch a website in seconds with AI.

Paid
View
AI Code Convert logo
Coding & apps

AI Code Convert

Streamline Your Coding Experience with AI Code Helper

Free
View