Agent Skills: Evaluate Skill

Analyze and check a local Claude Code SKILL.md folder: review frontmatter, size, broken links, trigger words, and token budget, then rank the top fixes. Use when the user says "audit this", "why did it score that way", "this is too big", "it is not triggering", or "measure the real token usage".

UncategorizedID: ANcpLua/ancplua-claude-plugins/evaluate-skill

Install this agent skill to your local

pnpm dlx add-skill https://github.com/ANcpLua/ancplua-claude-plugins/tree/HEAD/plugins/cc-plugin-eval/skills/evaluate-skill

Skill Files

Browse the full folder contents for evaluate-skill.

Download Skill

Loading file tree…

plugins/cc-plugin-eval/skills/evaluate-skill/SKILL.md

Skill Metadata

Name
evaluate-skill
Description
'Analyze and check a local Claude Code SKILL.md folder: review frontmatter, size, broken links, trigger words, and token budget, then rank the top fixes. Use when the user says "audit this", "why did it score that way", "this is too big", "it is not triggering", or "measure the real token usage".'

Evaluate Skill

Use this skill when the target is a local skill directory or a SKILL.md file. cc-plugin-eval handles the structural and budget signals deterministically without an LLM. If the user wants an LLM-graded rubric or a rewrite pass, hand off to the skill-creator skill (Anthropic's skill-creator@claude-plugins-official) - that skill specializes in single-skill grading and rewrites, while cc-plugin-eval focuses on structural and budget signals.

The runnable commands below invoke the shipped script through the plugin root, which works in any checkout: node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" <command> <args>. Inline mentions of cc-plugin-eval <command> are shorthand for that same invocation; the bare cc-plugin-eval alias only exists if you ran npm link in the plugin directory.

Workflow

  1. Treat "Evaluate this skill." as the default entrypoint.
  2. If the user names a skill instead of giving a path, resolve it locally first. Prefer ~/.claude/plugins/cache/<plugin-id>/skills/<skill-name> for installed-plugin skills, then any repo-local skills/<skill-name> directory. If the name is still ambiguous, ask one short clarifying question before running commands.
  3. If the user says the request in natural language first, run cc-plugin-eval start <skill-path> --request "<user request>" --format markdown to show the routed path clearly.
  4. Run cc-plugin-eval analyze <skill-path> --format markdown. The convenience alias cc-plugin-eval evaluate-skill <skill-path> returns the same payload but errors out if the path is not a skill.
  5. Review At a Glance, Why It Matters, Fix First, and Recommended Next Step before drilling into details.
  6. Explain which findings are structural (frontmatter validity, file size, broken links), which are budget-related (trigger / invoke / deferred), and which are best-practice (allowed-tools syntax, progressive disclosure).
  7. If the user asks for an "analysis" of the skill, do not stop at the report. Also run cc-plugin-eval init-benchmark <skill-path> and show the setup questions for refining the starter scenarios in .cc-plugin-eval/benchmark.json.
  8. If the user wants real usage numbers, switch to "Measure the real token usage of this skill." and run the benchmark flow.
  9. After observed usage is available, use cc-plugin-eval measurement-plan <skill-path> --observed-usage <usage.jsonl> --format markdown to recommend what to instrument next.
  10. If the user wants a rewrite plan, route to ../improve-skill/SKILL.md. That skill writes a brief and hands it to skill-creator for the actual rewrite.

Skill-Specific Priorities

  • frontmatter validity (CC213) and the Claude allowed-key set (name, description, when_to_use, argument-hint, arguments, disable-model-invocation, user-invocable, allowed-tools, model, effort, context, agent, hooks, paths, shell, license, metadata)
  • name and description quality (CC201, CC202, CC203, CC204, CC205, CC206)
  • progressive disclosure thresholds: >350 lines (CC208), >500 lines (CC210), >800 lines (CC209)
  • broken relative links and supported URI schemes (CC211): allow-list includes claude://, app://, plugin://, rules://, mailto:, http://, https://, #
  • oversized SKILL.md or descriptions
  • allowed-tools syntax (CC215): Claude tool names are PascalCase (Bash, Read, Edit, Skill, mcp__server__tool); strings should be space-separated or YAML lists, not comma-separated
  • explicit disable-model-invocation: true on task-style skills (CC216) where automatic invocation would be wrong
  • helper script quality for TypeScript and Python files

Chat Requests To Recognize

  • Evaluate this skill.
  • Give me an analysis of this skill.
  • Audit this skill.
  • Why did this skill score that way?
  • What should I fix first?
  • This skill is too big.
  • This skill is not triggering.
  • Measure the real token usage of this skill.

Commands

node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" start <skill-path> --request "Evaluate this skill." --format markdown
node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" analyze <skill-path> --format markdown
node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" evaluate-skill <skill-path> --format markdown
node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" explain-budget <skill-path> --format markdown
node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" measurement-plan <skill-path> --format markdown
node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" init-benchmark <skill-path>
node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" benchmark <skill-path>
node "${CLAUDE_PLUGIN_ROOT}/scripts/cc-plugin-eval.js" analyze <skill-path> --observed-usage <usage.jsonl> --format markdown

Reference

  • ../../references/chat-first-workflows.md
  • ../../references/component-validators.md