accessibility-patterns
WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
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.
Claude Code
$ npx -y skills add vibeeval/vibecosystem --skill agent-linter --agent claude-code
Codex
$ npx skills add vibeeval/vibecosystem --skill agent-linter -a codex -y
Cursor
$ npx skills add vibeeval/vibecosystem --skill agent-linter -a cursor -y
Gemini CLI
$ npx skills add vibeeval/vibecosystem --skill agent-linter -a gemini-cli -y
GitHub Copilot
$ npx skills add vibeeval/vibecosystem --skill agent-linter -a github-copilot -y
OpenCode
$ npx skills add vibeeval/vibecosystem --skill agent-linter -a opencode -y
Windsurf
$ npx skills add vibeeval/vibecosystem --skill agent-linter -a windsurf -y
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 ve skill dosyalarinin kalite kontrolu. Yanlis yapilandirilmis dosyalar runtime'da sessizce basarisiz olur -- linter bunu onler.
--- 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 ---
| 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 |
| 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 |
--- name: skill-adi # kebab-case description: Aciklama # 20-300 karakter ---
| 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 |
#!/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# .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| 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 |
# 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)"
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.
WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
axe-core integration, WCAG 2.2 AA checklist, keyboard navigation testing, screen reader testing, and ARIA pattern validation.
Steam-style achievement system with XP, levels, streaks, and skill trees. Gamifies the development workflow. 25 achievements…
Framework for measuring and tracking agent response quality over time. Detects regressions before they reach production. Use when…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.