Repository navigation
Conversation
added 3 commits
October 14, 2026 12:15
This was referenced Oct 14, 2026
The validator walked marketplace.json entries only, so a directory with a .cursor-plugin/plugin.json that no entry references (forgotten listing, or a typo in source) passed CI and never reached the marketplace. Walk the repo root and third_party/ for plugin directories and fail for each one that is not a listed source. main has 102 listed and 0 unlisted today, so this is an error from the start. (cherry picked from commit e8ea031)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One PR for the repo-level CI and validator work from #531, replacing #607, #599, #598 and #625 (closed in favour of this one; their commits are carried here unchanged, one commit each, reviewable separately). Together they close pieces 2, 3b, 3d and 4 of the shape in #531, the last ones; #582 (akushonkamen) covers pieces 1 and 2a and touches
validate-plugins.yml/validate-plugins.mjstoo, so whichever lands second needs a small rebase.ci: pin the validator's ajv dependencies in a root package.json and install with npm ci(was ci: pin the validator's ajv dependencies in a root package.json and install with npm ci #607). The job installedajvandajv-formatsunpinned on every run. Rootpackage.json(private, devDependencies only,validatescript),package-lock.json(7 packages),npm ciwith the npm cache, and thepaths:trigger widened toscripts/**, the package files and the workflow.validate: check SKILL.md frontmatter (name, description, folder match, length)(was validate: check SKILL.md frontmatter (name, description, folder match, length) #599). The validator never read aSKILL.md. Errors: no frontmatter, missingname, missingdescription. Warnings for now:namenot kebab-case or not equal to the folder,descriptionover 1024 characters. On currentmainthat is 0 errors and 5 warnings (cursor-sdk description, two pstack and two third_party names), all with open fix PRs (chore: keep the cursor-sdk skill description under the 1024-char limit; label agent-compatibility changelog 1.0.0 #530, fix(pstack): make skill names match their directories (poteto-mode, make-bot-ui) #596, fix(x, x-money): make skill names match their directories #600); once those land the two warnings can become errors in a two-line follow-up.ci: run bun typecheck and tests for the two script packages on PRs(was ci: run bun typecheck and tests for the two script packages on PRs #598).orchestrate/skills/orchestrate/scripts(209 tests) andpstack/skills/poteto-mode/scripts(63 tests) have test suites nothing ran. Newscript-packages.yml: matrix over the two directories,bun install --frozen-lockfile,bun run typecheck,bun run test,fail-fast: false,paths:scoped to the two packages and the workflow.validate: fail when a plugin directory is not listed in marketplace.json(was validate: fail when a plugin directory is not listed in marketplace.json #625). The validator only walkedmarketplace.jsonentries, so a directory with a.cursor-plugin/plugin.jsonthat no entry references (forgotten listing, or asourcetypo) passed silently. New step walks the repo root andthird_party/and fails for each plugin directory that is not a listed source. On currentmain: 102 listed, 0 unlisted, so this is an error from day one.Verification
rm -rf node_modules && npm ci && npm run validateon this branch:All plugins validated successfully.with the 5 expected warnings.zz-unlisted/.cursor-plugin/plugin.json:ERROR: Unlisted plugin: "zz-unlisted" ..., exit 1.Refs #531.