Validate Skill Command

VerifiedSafe

Validates that an FTC skill plugin follows marketplace requirements and best practices.

Sby Skills Guide Bot
TestingIntermediate
7/24/2026
Claude Code
#ftc#validation#plugin#skill#best-practices

Recommended for

Automated summary

Validates the structure and content of an FTC skill plugin to ensure it meets marketplace requirements and best practices.

Strengths

  • Automatically checks a comprehensive list of quality criteria
  • Catches blocking errors before submitting a PR
  • Includes consistency checks (folder name, frontmatter, etc.)
  • Provides clear output with severity levels

Limitations

  • Requires the plugin to already exist in the plugins/ directory
  • Does not verify the functional content of scripts
  • May produce false positives for non-standard plugins
When to use it

Use this command before submitting an FTC skill plugin to validate its compliance.

When not to use it

Do not use it for plugins from other frameworks or for functional testing.

Security analysis

Safe
Quality score95/100

The skill only performs read-only file checks and uses Bash restricted to jq for JSON validation. No destructive actions, network access, or exfiltration risks.

No concerns found

How this analysis is made

Examples

Validate FTC skill plugin
/validate-skill pedro-pathing
Validate another FTC skill plugin
/validate-skill rev-hub

description: Validate an FTC skill plugin structure and content argument-hint: <skill-name> allowed-tools: Read, Glob, Grep, Bash(jq:*)

Validate Skill Command

Validates that an FTC skill plugin follows marketplace requirements and best practices.

Usage

/validate-skill <skill-name>

Arguments:

  • skill-name: Name of the skill to validate (must exist in plugins/)

Examples

/validate-skill pedro-pathing
/validate-skill rev-hub

Validation Checks

Structure Checks

  • [ ] plugins/<skill-name>/ directory exists
  • [ ] plugins/<skill-name>/plugin.json exists and is valid JSON
  • [ ] plugins/<skill-name>/skills/<skill-name>/ directory exists
  • [ ] plugins/<skill-name>/skills/<skill-name>/SKILL.md exists

plugin.json Checks

  • [ ] Has name field matching directory name
  • [ ] Has description field (non-empty)
  • [ ] Has version field (semver format)
  • [ ] Has license field
  • [ ] Has tags array with "ftc"
  • [ ] Has compatibility.agents array

SKILL.md Frontmatter Checks

  • [ ] Has YAML frontmatter (starts with ---)
  • [ ] Has name field matching directory name
  • [ ] Has description field (non-empty, < 1024 chars)
  • [ ] description includes WHAT the skill does
  • [ ] description includes WHEN to use it (trigger words)
  • [ ] Has license field
  • [ ] Has metadata.category field
  • [ ] Has metadata.version field

Content Quality Checks

  • [ ] SKILL.md is under 500 lines
  • [ ] Has "Quick Start" or "## Quick" section
  • [ ] Has code examples (java or kotlin blocks)
  • [ ] Has "Anti-Pattern" or "Don't" section
  • [ ] No [TODO: ...] placeholders remaining
  • [ ] No hardcoded file paths from template

marketplace.json Check

  • [ ] Skill is listed in .claude-plugin/marketplace.json
  • [ ] Entry has correct path field

Script Checks (if scripts/ exists)

  • [ ] All .sh files are executable
  • [ ] All .py files are executable
  • [ ] Scripts have shebang line

Output Format

Report results as:

Validating skill: <skill-name>

Structure:
  ✓ plugin.json exists
  ✓ SKILL.md exists
  ✗ Missing scripts/ directory (optional)

plugin.json:
  ✓ Valid JSON
  ✓ Name matches directory
  ✗ Missing 'ftc' in tags

SKILL.md:
  ✓ Valid frontmatter
  ✓ Description includes WHAT
  ✗ Description missing WHEN triggers
  ✓ Under 500 lines (127 lines)

Content:
  ✓ Has Quick Start section
  ✓ Has code examples
  ✗ Missing Anti-Patterns section
  ✗ Contains [TODO: ...] placeholders

marketplace.json:
  ✓ Skill is registered

Summary: 8/12 checks passed

Severity Levels

  • Error (✗): Must fix before submitting PR
  • Warning (⚠): Should fix, but not blocking
  • Info (ℹ): Suggestion for improvement

Errors (Must Fix)

  • Missing required files (plugin.json, SKILL.md)
  • Invalid JSON
  • Name mismatch between folder and frontmatter
  • Empty description
  • Not in marketplace.json

Warnings (Should Fix)

  • Description missing WHEN triggers
  • No Anti-Patterns section
  • SKILL.md over 500 lines
  • Missing 'ftc' tag
  • [TODO: ...] placeholders remaining

Info (Suggestions)

  • No scripts/ directory
  • Could add more code examples
  • Consider adding TROUBLESHOOTING.md

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/validate-skill-command-mrwakdvt/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/validate-skill-command-mrwakdvt' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/validate-skill-command-mrwakdvt/download' --output '.skill-downloads/validate-skill-command-mrwakdvt/SKILL.md.part' && mv '.skill-downloads/validate-skill-command-mrwakdvt/SKILL.md.part' '.skill-downloads/validate-skill-command-mrwakdvt/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read, Glob, Grep, Bash(jq:*)

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/validate-skill-command-mrwakdvt/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills