Code review
FTC skill code quality and structure checks. Activates when reviewing PRs, validating skills, or checking plugin compliance with marketplace standards. Use when reviewing pull requests, running local code review, or validating skill structure before submission.From its SKILL.md
npx -y skills add ncssm-robotics/ftc-claude --skill code-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.1 KB, as published. Nobody here has run it
FTC Code Review Checks
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.
Structure Checks (Errors)
These checks must pass - errors block PR merge.
Plugin Directory Structure
-
plugins/<skill-name>/directory exists -
plugins/<skill-name>/plugin.jsonexists -
plugins/<skill-name>/CHANGELOG.mdexists -
plugins/<skill-name>/skills/<skill-name>/directory exists -
plugins/<skill-name>/skills/<skill-name>/SKILL.mdexists
plugin.json Validation
- File is valid JSON (no syntax errors)
- Has
namefield matching directory name - Has
versionfield in semver format (X.Y.Z) - Has
descriptionfield (non-empty string) - Has
authorfield as object (NOT a string) - Author object has
nameproperty - Has
keywordsarray (NOTtags) - Keywords array includes "ftc"
SKILL.md Frontmatter Validation
- File starts with
---(YAML frontmatter) - Has
namefield matching directory name - Has
descriptionfield (non-empty, < 1024 chars) - Has
licensefield - Has
metadataobject - Has
metadata.versionfield matching plugin.json version - Has
metadata.categoryfield
Version Consistency
- Version in
plugin.jsonmatches version in SKILL.md frontmatter - Version in
marketplace.jsonentry 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 orkotlin 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
sourcefield (NOTpath) - Entry has
skillsarray listing skill directories - Version in marketplace entry matches plugin.json
CHANGELOG Checks (Warnings)
Format
-
CHANGELOG.mdfollows 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>