# Agent Linter

Agent ve skill dosyalarinin yapisal dogrulamasi.

- Repository: https://github.com/vibeeval/vibecosystem (541 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-08-08
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add vibeeval/vibecosystem --skill agent-linter -g -a claude-code -y`
Codex: `npx skills add vibeeval/vibecosystem --skill agent-linter -g -a codex -y`
Cursor: `npx skills add vibeeval/vibecosystem --skill agent-linter -g -a cursor -y`
Gemini CLI: `npx skills add vibeeval/vibecosystem --skill agent-linter -g -a gemini-cli -y`

## Description

Agent ve skill dosyalarinin yapisal dogrulamasi. Frontmatter kontrol, naming convention, zorunlu bolum kontrolu, tutarlilik denetimi. Yeni agent/skill eklendiginde veya mevcut dosyalar duzenlediginde otomatik calistirilir.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Agent & Skill Linter

Agent ve skill dosyalarinin kalite kontrolu. Yanlis yapilandirilmis dosyalar runtime'da sessizce basarisiz olur -- linter bunu onler.

## Agent Dosyasi Kurallari

### Frontmatter (ZORUNLU)

```yaml
---
name: agent-adi          # kebab-case, dosya adiyla AYNI olmali
description: Tek satir   # 20-200 karakter arasi
tools: ["Read", "Bash"]  # Gecerli tool listesi
model: opus              # Opsiyonel: opus | sonnet
---
```

### Frontmatter Validasyonu

| Kural | Kontrol | Hata Seviyesi |
|-------|---------|---------------|
| `name` mevcut | Frontmatter'da name var mi? | ERROR |
| `name` = dosya adi | `name: sleuth` == `sleuth.md` | ERROR |
| `name` kebab-case | `code-reviewer` OK, `codeReviewer` FAIL | ERROR |
| `description` mevcut | Bos olmamali | ERROR |
| `description` uzunlugu | 20-200 karakter | WARN |
| `tools` array | String array olmali | ERROR |
| `tools` gecerli | Sadece bilinen tool isimleri | WARN |
| `model` gecerli | opus, sonnet veya bos | ERROR |

### Body Kurallari

| Kural | Kontrol | Hata Seviyesi |
|-------|---------|---------------|
| System prompt var | Frontmatter'dan sonra icerik var | ERROR |
| 50+ satir | Cok kisa agent tanimlari yetersiz | WARN |
| 2000 satir max | Cok uzun dosyalar token israf eder | WARN |
| Markdown basliklar | En az 1 `##` basligi var | WARN |

## Skill Dosyasi Kurallari

### Frontmatter (ZORUNLU)

```yaml
---
name: skill-adi          # kebab-case
description: Aciklama    # 20-300 karakter
---
```

### Skill Validasyonu

| Kural | Kontrol | Hata Seviyesi |
|-------|---------|---------------|
| Dosya adi | `SKILL.md` veya `skill.md` | ERROR |
| `name` mevcut | Frontmatter'da | ERROR |
| `name` = klasor adi | `name: tdd-workflow` == `skills/tdd-workflow/` | WARN |
| `description` mevcut | Bos olmamali | ERROR |
| Icerik var | Frontmatter'dan sonra en az 20 satir | WARN |
| Kod ornegi var | En az 1 code block | INFO |

## Lint Calistirma

### Bash Script

```bash
#!/bin/bash
# scripts/lint-agents.sh

The rest: https://github.com/vibeeval/vibecosystem/blob/HEAD/skills/agent-linter/SKILL.md
