CI Validators
Trigger
Section titled “Trigger”CodeCommit PR events flow through EventBridge to the CodeBuild project that runs buildspec.yml:
EventBridge rule source: aws.codecommit detail-type: "CodeCommit Pull Request State Change" → CodeBuild project (runs buildspec.yml)Current state
Section titled “Current state”V1 buildspec.yml installs Node 20, Python 3.12, and tsx, then echoes a placeholder message. No real validation runs yet — assume CI catches nothing.
phases: install: runtime-versions: nodejs: 20 python: 3.12 commands: - npm install -g tsx build: commands: # V1 placeholder — validators to be added in a follow-on PR - echo "Marketplace validation — placeholder. Real validators land in PR #2." # - tsx scripts/validate-marketplace.ts # - tsx scripts/validate-frontmatter.ts # - tsx scripts/check-marketplace-sorted.tsPlanned validators (V1.5)
Section titled “Planned validators (V1.5)”Adapted from anthropics/claude-plugins-official/.github/scripts/:
| Script | What it checks |
|---|---|
validate-marketplace.ts | .claude-plugin/marketplace.json is valid JSON and references existing plugin directories |
validate-frontmatter.ts | Every SKILL.md has required frontmatter fields, valid YAML, kebab-case name |
check-marketplace-sorted.ts | The plugins[] array is alphabetically sorted by name |
These commands are commented in buildspec.yml today. They get uncommented in PR #2 once the validator scripts land in scripts/.
Local equivalents
Section titled “Local equivalents”Until CI catches everything, validate locally before opening a PR:
claude plugin validate ./plugins/<plugin> # per-pluginclaude plugin validate . # marketplace manifestSee Validation Workflow for the full pre-PR checklist.