Claude Skills and Agent Code Review Patterns
SkillAI & modelsLoaded automatically when reviewing Claude skills or agent definitions — covers SKILL.md structure, frontmatter validity, token budget, description quality, and agent contract compliance.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Claude Skills and Agent Code Review Patterns skill
What this skill tells your AI
The instructions your AI receives, as published by jamie-bitflight/claude_skills in plugins/development-harness/skills/code-review-claude-skills/SKILL.md and read by ahel’s review.
Stack-specific rules loaded by dh:code-reviewer when SKILL.md, agent frontmatter files, or plugin.json files are detected.
Frontmatter Validity
namemust match the containing directory name exactly — mismatch causes lookup failuresnamemust satisfy^[a-z][a-z0-9-]*$— lowercase letters, digits, hyphens onlydescriptionmust be a single-line string — no YAML multiline indicators (>-,|-,>,|)toolsfield (in agents) must be a comma-separated string, not a YAML array —Read, Grep, Globnot[Read, Grep, Glob]modelmust be one ofsonnet,opus,haiku, orinherit— no version strings, no full model IDs- Run
uvx skilllint@latest check --fix <path>after every frontmatter edit — auto-fixes YAML formatting issues including quoting
Description Quality
- The description must contain specific trigger keywords
- First 1024 characters are most important — front-load trigger conditions and activation signals
- Preferred trigger openers: "Use when", "Activates on", "Triggers on", "Loaded automatically when"
- Descriptions must be third-person ("Generates commit messages" not "I can help you generate")
- Vague descriptions produce missed triggers — "Helps with Python stuff" is a blocking finding
Token Budget
- Skills must not include information Claude already has from training (general language patterns, well-known APIs, common idioms)
- Include only project-specific context, conventions, and domain knowledge that Claude cannot infer
- Skills over 4000 tokens should be flagged as oversized (warn); over 6400 tokens are blocking
- Inline examples are valuable — prefer 2-3 focused examples over exhaustive lists
Scope of Tools
allowed-toolsin agent frontmatter must be scoped to the minimum required for the agent's task- Agents that only review code must not have
WriteorEditin their tools list - Verification-only agents must not have destructive tools
Non-Invocable Skills
user-invocable: falsemust be set for skills intended only for agent context injection, not direct user activationdisable-model-invocation: truemust be set for skills that execute shell commands or other side-effecting operations that should not be run as prompts
Agent Contracts
- All agents that return results to an orchestrator must include STATUS: DONE or STATUS: BLOCKED as the first line of their terminal response
- STATUS: BLOCKED must include a NEEDED section listing specific missing inputs
- STATUS: DONE must include an ARTIFACTS section listing what was produced and where
- Agents must not guess at missing inputs — BLOCKED is always correct when information is unclear
File Reference Standards
- All file references in SKILL.md use markdown link syntax:
[text](./path/to/file.md)with./prefix - Skills in subdirectories under
skills/silently fail to register — all skill directories must be directly underskills/(one level deep only) - Cross-skill references use activation syntax — "For X, activate the
/plugin:skill-nameskill" — never backtick paths to other skills' internal files - No
docs/path references at runtime — developer documentation must not appear in agent-facing skill content
Code Fence Requirements
- All code fences must have a language specifier — bare triple backticks are a blocking finding
- Nested code blocks use 4 outer backticks and 3 inner backticks
- Markdown links use
./relative paths, not absolute paths or backtick references
Plugin.json Auto-Discovery
agents,skills, andcommandskeys inplugin.jsonare only for non-default locations — omit them when all components are in their default directories- Declaring a subset of agents in the
agentskey overrides auto-discovery completely — unlisted agents become invisible - If any component path is declared in
plugin.json, every component in that category must be listed
Anti-Patterns
# WRONG: multiline description
description: >-
This skill helps with TypeScript code review
when the user asks for a review.
# RIGHT: single-line description
description: TypeScript-specific code review patterns covering strict mode, ESM, type safety, and branded types. Loaded automatically when reviewing TypeScript code.
# RIGHT: single-line description — run `uvx skilllint@latest check --fix <file>` to auto-fix any YAML quoting needs
description: Code review for TypeScript — strict mode, type safety, branded types, and ESM patterns.
<!-- WRONG: cross-skill backtick path reference -->
See `plugins/plugin-creator/skills/prompt-optimization/SKILL.md` for optimization patterns.
<!-- RIGHT: activation syntax -->
For prompt optimization, activate the `/plugin-creator:prompt-optimization` skill.
Signals
- GitHub stars
- 66
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
code-review-claude-skills- Source
- github.com/jamie-bitflight/claude_skills