Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

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 & CodingIntermediate53544AI score 8/10Last updated: Aug 8, 2026

What it does

  • Frontmatter validation for agents/*.md and skills/*/SKILL.md: name present, name matching the file/folder name, kebab-case enforcement, description length (20–200 chars), tools as a proper array, valid model values (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, Bash format 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

  1. After adding code-reviewer.md, run the linter and immediately catch name: codeReviewer not matching the kebab-case filename
  2. Scan the whole repo with bash scripts/lint-agents.sh 2>&1 | tee lint-report.txt, then grep "^ERROR" to triage blocking issues
  3. Wire the provided workflow into CI so every PR touching agents/** or skills/** 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)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download 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.

  1. Open a terminal.
  2. Clone the repository to a temp folder: git clone https://github.com/vibeeval/vibecosystem.git /tmp/vibecosystem
  3. Create the skills directory: mkdir -p ~/.claude/skills
  4. Copy just this skill: cp -r /tmp/vibecosystem/skills/agent-linter ~/.claude/skills/
  5. Restart Claude Code and ask "lint my agent files" to confirm the skill is picked up.
  6. (Optional) Save the bash script from SKILL.md as scripts/lint-agents.sh in your project and adjust the agents/ and skills/*/SKILL.md paths to your repo layout.
  7. (Optional) Add the provided GitHub Actions YAML as .github/workflows/lint-agents.yml to run the linter automatically in CI.
  8. 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.