Agent & Skill Linter
A lint skill that structurally validates Claude Code agent and skill markdown files — frontmatter, naming, and body rules — so misconfigured files don't fail silently at runtime.
Dev & CodingIntermediate★ 535⑂ 44AI score 8/10Last updated: Aug 8, 2026
What it does
- Frontmatter validation for
agents/*.mdandskills/*/SKILL.md:namepresent,namematching the file/folder name, kebab-case enforcement,descriptionlength (20–200 chars),toolsas a proper array, validmodelvalues (opus/sonnet) - Body validation: system prompt present, warnings for files that are too short (<50 lines) or too long (>2000 lines), at least one
##heading, presence of a code block - Every rule is graded as ERROR / WARN / INFO so you know what must be fixed now
- Ships a copy-paste bash lint script and a GitHub Actions workflow that runs on PRs touching agents or skills
- A common-mistakes table with fixes (name/filename mismatch,
tools: Read, Bashformat error, duplicate names, empty agent bodies)
Who it's for
- Developers maintaining a growing collection of Claude Code agents and skills
- Teams sharing a skills repo who want a quality gate on pull requests
- Anyone who has wondered "why is my skill never triggered?"
Examples
- After adding
code-reviewer.md, run the linter and immediately catchname: codeReviewernot matching the kebab-case filename - Scan the whole repo with
bash scripts/lint-agents.sh 2>&1 | tee lint-report.txt, thengrep "^ERROR"to triage blocking issues - Wire the provided workflow into CI so every PR touching
agents/**orskills/**is linted before merge
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/vibeeval/vibecosystem/HEAD/skills/agent-linter/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/agent-linter folder from the GitHub repo vibeeval/vibecosystem into my ~/.claude/skills/agent-linter/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/vibeeval/vibecosystem.git /tmp/vibecosystem && mkdir -p ~/.claude/skills && cp -r /tmp/vibecosystem/skills/agent-linter ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Clone the repository to a temp folder:
git clone https://github.com/vibeeval/vibecosystem.git /tmp/vibecosystem - Create the skills directory:
mkdir -p ~/.claude/skills - Copy just this skill:
cp -r /tmp/vibecosystem/skills/agent-linter ~/.claude/skills/ - Restart Claude Code and ask "lint my agent files" to confirm the skill is picked up.
- (Optional) Save the bash script from SKILL.md as
scripts/lint-agents.shin your project and adjust theagents/andskills/*/SKILL.mdpaths to your repo layout. - (Optional) Add the provided GitHub Actions YAML as
.github/workflows/lint-agents.ymlto run the linter automatically in CI. - Note: the skill's text is written in Turkish; Claude will still follow it, but translate the rule tables if you want them in your own docs.
View source on GitHub ↗License: MIT