Skip to content
Development
Skill

/agent-linter

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.

From plugin
vibecosystem
541200 skills138 agents7 hooks

Claude Code

$ npx -y skills add vibeeval/vibecosystem --skill agent-linter --agent claude-code

SKILL.md

agent-linter.SKILL.md
name: agent-linter
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.

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)

---
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)

---
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

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

ERRORS=0
WARNS=0

lint_agent() {
  local file="$1"
  local name=$(basename "$file" .md)

  # Frontmatter kontrolu
  if ! head -1 "$file" | grep -q "^---"; then
    echo "ERROR: $file - frontmatter yok"
    ERRORS=$((ERRORS + 1))
    return
  fi

  # name field kontrolu
  local fm_name=$(sed -n '/^---$/,/^---$/p' "$file" | grep "^name:" | sed 's/name: *//')
  if [ -z "$fm_name" ]; then
    echo "ERROR: $file - name field yok"
    ERRORS=$((ERRORS + 1))
  elif [ "$fm_name" != "$name" ]; then
    echo "ERROR: $file - name '$fm_name' != dosya adi '$name'"
    ERRORS=$((ERRORS + 1))
  fi

  # description kontrolu
  local desc=$(sed -n '/^---$/,/^---$/p' "$file" | grep "^description:")
  if [ -z "$desc" ]; then
    echo "ERROR: $file - description yok"
    ERRORS=$((ERRORS + 1))
  fi

  # Uzunluk kontrolu
  local lines=$(wc -l < "$file")
  if [ "$lines" -lt 10 ]; then
    echo "WARN: $file - cok kisa ($lines satir)"
    WARNS=$((WARNS + 1))
  elif [ "$lines" -gt 2000 ]; then
    echo "WARN: $file - cok uzun ($lines satir)"
    WARNS=$((WARNS + 1))
  fi
}

echo "=== Agent Linter ==="
for f in agents/*.md; do
  lint_agent "$f"
done

echo ""
echo "=== Skill Linter ==="
for f in skills/*/SKILL.md skills/*/skill.md; do
  [ -f "$f" ] && lint_agent "$f"
done

echo ""
echo "Sonuc: $ERRORS error, $WARNS warning"
[ "$ERRORS" -gt 0 ] && exit 1 || exit 0

CI Entegrasyonu

# .github/workflows/lint-agents.yml
name: Agent & Skill Lint
on:
  pull_request:
    paths: ['agents/**', 'skills/**']

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: bash scripts/lint-agents.sh

Yaygin Hatalar

| Hata | Ornek | Cozum | |------|-------|-------| | name/dosya uyumsuzlugu | `name: codeReviewer` dosya: `code-reviewer.md` | name'i kebab-case yap | | Description cok kisa | `description: Reviews code` | Ne yaptigini detayla | | Tools yanlis format | `tools: Read, Bash` | `tools: ["Read", "Bash"]` | | Bos agent dosyasi | Sadece frontmatter, body yok | System prompt ekle | | Duplicate name | 2 agent ayni name'e sahip | Benzersiz isim ver | | Skill klasor/name uyumsuz | `name: tdd` klasor: `tdd-workflow/` | Eslestir |

Toplu Lint Raporu

# Tum agent'lari tara, rapor uret
cd ~/vibecosystem
bash scripts/lint-agents.sh 2>&1 | tee lint-report.txt

# Sadece ERROR'lari goster
grep "^ERROR" lint-report.txt

# Istatistik
echo "Agents: $(ls agents/*.md | wc -l)"
echo "Skills: $(ls skills/*/SKILL.md skills/*/skill.md 2>/dev/null | wc -l)"
echo "Errors: $(grep -c ERROR lint-report.txt)"
echo "Warnings: $(grep -c WARN lint-report.txt)"

vibecosystem Entegrasyonu

  • **verifier agent**: Lint'i final quality gate'e ekle
  • **qa-engineer agent**: Yeni agent/skill PR'larinda lint calistir
  • **self-learner agent**: Lint hatalari pattern olarak ogren
  • **catalyst agent**: Scaffold sırasinda lint-uyumlu dosya uret
  • **/commit skill**: Commit oncesi agent/skill dosyalarini lint'le
Read more
@vibeeval
Ships withvibecosystem

Your AI software team. Built on Claude Code. vibecosystem turns Claude Code into a full AI software team — 138 specialized agents that plan, build, review, test, and learn from every mistake. No configuration needed — just install and code.

541200 skills138 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
541
Star history of vibeeval/vibecosystem on GitHub, a chart by star-history.com

Other skills on vibecosystem.

achievements

achievements

Steam-style achievement system with XP, levels, streaks, and skill trees. Gamifies the development workflow. 25 achievements…

agent-benchmark

agent-benchmark

Framework for measuring and tracking agent response quality over time. Detects regressions before they reach production. Use when…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about agent-linter.

Which coding agents can use agent-linter?
agent-linter installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.