From dh
Reviews Claude Code SKILL.md files and agent definitions for frontmatter validity, token budget, description quality, tool scope, and agent contract compliance. Loads on skill or agent files.
npx claudepluginhub jamie-bitflight/claude_skills --plugin development-harnessThis skill uses the workspace's default tool permissions.
Stack-specific rules loaded by `dh:code-reviewer` when `SKILL.md`, agent frontmatter files, or `plugin.json` files are detected.
Validates SKILL.md files against agentskills specification and Anthropic best practices. Catches structural, semantic, naming, and quality issues before publishing or debugging triggers.
Reviews Claude Code skills (.md files) for structure validity via validate.sh, content quality via skill-creator, cross-platform/agent compatibility, prerequisite declarations, and description triggering accuracy.
Designs, improves, and evaluates reusable Claude Code agent skills using SKILL.md files with precise triggers, structure, and testable behavior. For creating new skills, reviewing existing ones, or auditing collections.
Share bugs, ideas, or general feedback.
Stack-specific rules loaded by dh:code-reviewer when SKILL.md, agent frontmatter files, or plugin.json files are detected.
name must match the containing directory name exactly — mismatch causes lookup failuresname must satisfy ^[a-z][a-z0-9-]*$ — lowercase letters, digits, hyphens onlydescription must be a single-line string — no YAML multiline indicators (>-, |-, >, |)description must not contain colons (:) except in URLs — colons trigger YAML quoting requirementstools field (in agents) must be a comma-separated string, not a YAML array — Read, Grep, Glob not [Read, Grep, Glob]model must be one of sonnet, opus, haiku, or inherit — no version strings, no full model IDsuvx skilllint@latest check <path> after every frontmatter editallowed-tools in agent frontmatter must be scoped to the minimum required for the agent's taskWrite or Edit in their tools listuser-invocable: false must be set for skills intended only for agent context injection, not direct user activationdisable-model-invocation: true must be set for skills that execute shell commands or other side-effecting operations that should not be run as prompts[text](./path/to/file.md) with ./ prefixskills/ silently fail to register — all skill directories must be directly under skills/ (one level deep only)/plugin:skill-name skill" — never backtick paths to other skills' internal filesdocs/ path references at runtime — developer documentation must not appear in agent-facing skill content./ relative paths, not absolute paths or backtick referencesagents, skills, and commands keys in plugin.json are only for non-default locations — omit them when all components are in their default directoriesagents key overrides auto-discovery completely — unlisted agents become invisibleplugin.json, every component in that category must be listed# 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.
# WRONG: colon in description (breaks YAML without quoting)
description: Code review: TypeScript patterns for strict mode and type safety.
# RIGHT: no colon
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.