This skill defines the code quality and structure checks for FTC marketplace skills. These checks are the source of truth for both local reviews (/review) and PR bot reviews.
Has metadata.version field matching plugin.json version
Has metadata.category field
Version Consistency
Version in plugin.json matches version in SKILL.md frontmatter
Version in marketplace.json entry matches plugin.json (if listed)
Content Quality Checks (Warnings)
These are recommendations - warnings don't block merge but should be addressed.
Description Quality
Description explains WHAT the skill does
Description explains WHEN to use it (trigger words)
Description contains FTC-specific keywords
Description is under 1024 characters
SKILL.md Content
File is under 500 lines (use progressive disclosure)
Has "Quick Start" or "Getting Started" section
Has code examples (java or kotlin blocks)
Has "Anti-Pattern" or "Don't" section with bad examples
No [TODO: ...] placeholder markers remaining
Code Examples
Examples include both good and bad patterns
Bad examples are marked with comments (// Bad, // Don't, etc.)
Examples are syntactically correct
Marketplace Checks (Errors)
Registration
Skill is listed in .claude-plugin/marketplace.json
Entry uses source field (NOT path)
Entry has skills array listing skill directories
Version in marketplace entry matches plugin.json
CHANGELOG Checks (Warnings)
Format
CHANGELOG.md follows Keep a Changelog format
Has ## [Unreleased] section at the top
Categories use correct headers: Added, Changed, Fixed, Removed, Deprecated, Security
New Skill vs Update Checks
For New Skills (version 1.0.0)
Version is 1.0.0 in all three locations
This is CORRECT - new skills SHOULD start at 1.0.0
CHANGELOG.md has initial 1.0.0 entry
For Skill Updates
New entries added to ## [Unreleased] section
Version NOT manually bumped (release process handles this)
Common Mistakes
Mistake
Fix
author as string
Use object: {"name": "...", "url": "..."}
Using tags field
Rename to keywords
Using path in marketplace
Rename to source
Missing "ftc" keyword
Add "ftc" to keywords array
SKILL.md too long
Extract to API_REFERENCE.md, TROUBLESHOOTING.md
No anti-patterns
Always show what NOT to do
Version mismatch
Ensure all 3 locations match
Running This Review
/review <skill-name> --type code
Or as part of full review:
/review <skill-name>
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: ncssm-robotics-ftc-claude-code-review3description: FTC Code Review Checks4---56# FTC Code Review Checks78This skill defines the code quality and structure checks for FTC marketplace skills. These checks are the source of truth for both local reviews (`/review`) and PR bot reviews.910## Structure Checks (Errors)1112These checks must pass - errors block PR merge.1314### Plugin Directory Structure15- [ ] `plugins/<skill-name>/` directory exists16- [ ] `plugins/<skill-name>/plugin.json` exists17- [ ] `plugins/<skill-name>/CHANGELOG.md` exists18- [ ] `plugins/<skill-name>/skills/<skill-name>/` directory exists19- [ ] `plugins/<skill-name>/skills/<skill-name>/SKILL.md` exists2021### plugin.json Validation22- [ ] File is valid JSON (no syntax errors)23- [ ] Has `name` field matching directory name24- [ ] Has `version` field in semver format (X.Y.Z)25- [ ] Has `description` field (non-empty string)26- [ ] Has `author` field as object (NOT a string)27- [ ] Author object has `name` property28- [ ] Has `keywords` array (NOT `tags`)29- [ ] Keywords array includes "ftc"3031### SKILL.md Frontmatter Validation32- [ ] File starts with `---` (YAML frontmatter)33- [ ] Has `name` field matching directory name34- [ ] Has `description` field (non-empty, < 1024 chars)35- [ ] Has `license` field36- [ ] Has `metadata` object37- [ ] Has `metadata.version` field matching plugin.json version38- [ ] Has `metadata.category` field3940### Version Consistency41- [ ] Version in `plugin.json` matches version in SKILL.md frontmatter42- [ ] Version in `marketplace.json` entry matches plugin.json (if listed)4344## Content Quality Checks (Warnings)4546These are recommendations - warnings don't block merge but should be addressed.4748### Description Quality49- [ ] Description explains WHAT the skill does50- [ ] Description explains WHEN to use it (trigger words)51- [ ] Description contains FTC-specific keywords52- [ ] Description is under 1024 characters5354### SKILL.md Content55- [ ] File is under 500 lines (use progressive disclosure)56- [ ] Has "Quick Start" or "Getting Started" section57- [ ] Has code examples (```java or ```kotlin blocks)58- [ ] Has "Anti-Pattern" or "Don't" section with bad examples59- [ ] No `[TODO: ...]` placeholder markers remaining6061### Code Examples62- [ ] Examples include both good and bad patterns63- [ ] Bad examples are marked with comments (// Bad, // Don't, etc.)64- [ ] Examples are syntactically correct6566## Marketplace Checks (Errors)6768### Registration69- [ ] Skill is listed in `.claude-plugin/marketplace.json`70- [ ] Entry uses `source` field (NOT `path`)71- [ ] Entry has `skills` array listing skill directories72- [ ] Version in marketplace entry matches plugin.json7374## CHANGELOG Checks (Warnings)7576### Format77- [ ] `CHANGELOG.md` follows Keep a Changelog format78- [ ] Has `## [Unreleased]` section at the top79- [ ] Categories use correct headers: Added, Changed, Fixed, Removed, Deprecated, Security8081## New Skill vs Update Checks8283### For New Skills (version 1.0.0)84- [ ] Version is 1.0.0 in all three locations85- [ ] This is CORRECT - new skills SHOULD start at 1.0.086- [ ] CHANGELOG.md has initial 1.0.0 entry8788### For Skill Updates89- [ ] New entries added to `## [Unreleased]` section90- [ ] Version NOT manually bumped (release process handles this)9192## Common Mistakes9394| Mistake | Fix |95|---------|-----|96| `author` as string | Use object: `{"name": "...", "url": "..."}` |97| Using `tags` field | Rename to `keywords` |98| Using `path` in marketplace | Rename to `source` |99| Missing "ftc" keyword | Add "ftc" to keywords array |100| SKILL.md too long | Extract to API_REFERENCE.md, TROUBLESHOOTING.md |101| No anti-patterns | Always show what NOT to do |102| Version mismatch | Ensure all 3 locations match |103104## Running This Review105106```bash107/review <skill-name> --type code108```109110Or as part of full review:111```bash112/review <skill-name>113```114115---116> Converted and distributed by [TomeVault](https://tomevault.io/claim/ncssm-robotics) — claim your Tome and manage your conversions.117<!-- tomevault:4.0:skill_md:2026-04-11 -->
Run npx skillmds@latest add tomevault-io/ncssm-robotics-ftc-claude-code-review in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
FTC Code Review Checks It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.