Skip to content
Back to skills

Eslint Checker

ASecurity

Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.

  • 211 stars
  • 0 votes
  • 2 copies
  • 68 views
  • Added December 21, 2025
data-aijavascripttypescriptjavabashnodedocumentation

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned February 12, 2026

npx -y skills add jmagly/ai-writing-guide --skill eslint-checker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Eslint Checker?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Eslint Checker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jmagly-eslint-checker/badge)](https://www.skillsdirectory.com/skills/jmagly-eslint-checker)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: eslint-checker
description: Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.
tools: Read, Write, Bash
---

# ESLint Checker Skill

## Purpose

Single responsibility: Execute ESLint for static analysis, style enforcement, and auto-fixing of JavaScript/TypeScript code. (BP-4)

## Grounding Checkpoint (Archetype 1 Mitigation)

Before executing, VERIFY:

- [ ] Node.js and npm available
- [ ] ESLint installed (local or global)
- [ ] Configuration file exists (eslint.config.js, .eslintrc.*)
- [ ] Target files/directories exist

**DO NOT run ESLint without confirming configuration.**

## Uncertainty Escalation (Archetype 2 Mitigation)

ASK USER instead of guessing when:

- Multiple ESLint configs found
- Auto-fix scope unclear (all vs specific rules)
- Conflicting rules with Prettier
- Custom rule configuration needed

**NEVER auto-fix without user confirmation on production code.**

## Context Scope (Archetype 3 Mitigation)

| Context Type | Included | Excluded |
|--------------|----------|----------|
| RELEVANT | Source files, ESLint config, ignore patterns | Test files (unless requested) |
| PERIPHERAL | Prettier config, tsconfig | Build outputs |
| DISTRACTOR | node_modules | Deployment configs |

## Workflow Steps

### Step 1: Environment Check (Grounding)

```bash
# Verify ESLint installed
npx eslint --version || npm install -D eslint

# Check config exists
ls eslint.config.* .eslintrc.* 2>/dev/null || echo "No ESLint config found"

# List ignored patterns
cat .eslintignore 2>/dev/null || echo "No .eslintignore"
```

### Step 2: Run Linting

**Basic lint:**
```bash
npx eslint src/
```

**With specific extensions:**
```bash
npx eslint . --ext .js,.ts,.tsx
```

**JSON output for parsing:**
```bash
npx eslint src/ --format json > eslint_results.json
```

**With auto-fix:**
```bash
npx eslint src/ --fix
```

**Dry-run fix (preview):**
```bash
npx eslint src/ --fix-dry-run
```

### Step 3: Analyze Results

```bash
# Summary format
npx eslint src/ --format stylish

# Count by rule
npx eslint src/ --format json | jq '[.[].messages[].ruleId] | group_by(.) | map({rule: .[0], count: length}) | sort_by(.count) | reverse'

# Errors only (ignore warnings)
npx eslint src/ --quiet
```

### Step 4: Generate Report

```bash
# HTML report
npx eslint src/ --format html -o eslint_report.html

# Markdown summary
echo "# ESLint Report"
echo "## Summary"
npx eslint src/ --format compact 2>&1 | tail -5
```

## Recovery Protocol (Archetype 4 Mitigation)

On error:

1. **PAUSE** - Don't auto-fix on error
2. **DIAGNOSE** - Check error type:
   - `Parsing error` → Check TypeScript config, syntax
   - `Rule not found` → Install missing plugin
   - `Config error` → Validate eslint.config.js
   - `No files found` → Check paths, ignore patterns
3. **ADAPT** - Adjust scope or configuration
4. **RETRY** - With corrected settings (max 3 attempts)
5. **ESCALATE** - Report config issues to user

## Checkpoint Support

State saved to: `.aiwg/working/checkpoints/eslint-checker/`

```
checkpoints/eslint-checker/
├── lint_results.json        # Full results
├── error_summary.md         # Error counts by rule
├── fix_preview.diff         # Proposed fixes
└── config_validation.json   # Config check results
```

## Common ESLint Options

| Option | Purpose |
|--------|---------|
| `--fix` | Auto-fix fixable issues |
| `--fix-dry-run` | Preview fixes |
| `--quiet` | Errors only |
| `--max-warnings N` | Fail if > N warnings |
| `--cache` | Use cache for speed |
| `--format json` | JSON output |
| `--ext .ts,.tsx` | File extensions |

## Configuration Templates

**eslint.config.js (flat config):**
```javascript
import js from '@eslint/js'
import typescript from '@typescript-eslint/eslint-plugin'
import tsParser from '@typescript-eslint/parser'

export default [
  js.configs.recommended,
  {
    files: ['**/*.ts', '**/*.tsx'],
    languageOptions: {
      parser: tsParser,
      parserOptions: {
        project: './tsconfig.json'
      }
    },
    plugins: {
      '@typescript-eslint': typescript
    },
    rules: {
      ...typescript.configs.recommended.rules,
      '@typescript-eslint/no-unused-vars': 'error'
    }
  },
  {
    ignores: ['node_modules/', 'dist/', '*.config.js']
  }
]
```

## References

- ESLint documentation: https://eslint.org/docs/
- TypeScript ESLint: https://typescript-eslint.io/
- REF-001: Production-Grade Agentic Workflows (BP-4)
- REF-002: LLM Failure Modes (Archetype 1 grounding)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.