Skip to content

Fix react-best-practices description and broken skill examples - #325

Merged
molebox merged 2 commits into
mainfrom
fix/skill-descriptions-and-examples
Oct 19, 2026
Merged

molebox merged 2 commits into
mainfrom
fix/skill-descriptions-and-examples

Conversation

@roboeve

@roboeve roboeve Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Four small fixes to heavily used skills. Each one is a description that promises the wrong thing, an example that doesn't run, or a missing guard.

Why

  • react-best-practices: the description promises a TSX checklist covering accessibility and TypeScript patterns that "triggers after editing multiple TSX components". The body and all 70 rules cover performance only, with no accessibility or TypeScript rules. The edit-count trigger came from the PreToolUse injection hook, which hooks/hooks.json no longer registers. Agents now pick skills by description alone, so the description has to say what the skill really contains.
  • vercel-functions streaming example: it loops over an undefined data, sends raw chunks under text/event-stream with no SSE framing, and uses setTimeout, which this skill's own validate rules flag.
  • ai-gateway references/routing.md: the fallback example hardcodes anthropic/claude-opus-5 and google/gemini-3.1-pro-preview, although SKILL.md says not to put time-sensitive model IDs in reusable examples and to choose models from /v1/models.
  • marketplace: remove --yes appears in the CLI list with no warning, even though it deletes a provisioned resource and its data.

Approach

  • react-best-practices/overlay.yaml: rewrite the description to match the rule categories and say what the skill does not cover. SKILL.md regenerated with bun run build:skills.
  • vercel-functions: a self-contained GET SSE example with data: ...\n\n frames and Cache-Control: no-cache.
  • ai-gateway: replace the hardcoded IDs with placeholders that point to /v1/models.
  • marketplace: one line requiring explicit user approval before remove.

Validation

  • bun run typecheck && bun test: 1079 pass, 0 fail
  • bun run validate: passed
  • bun run build:skills:check: 0 stale

Update (@molebox)

Rebased onto main and fixed the review findings against the shipped vercel@64.5.0 CLI and upstream vercel-labs/agent-skills.

  • Marketplace warning: this PR's new warning was on the wrong command. vercel integration resource remove (aliases integration-resource remove, ir rm) permanently deletes a resource, and refuses while projects are connected unless you pass --disconnect-all. vercel integration remove only uninstalls, and fails while resources remain. Both still need user approval.
  • react-best-practices: the description now lists all 8 rule categories. Removed the retrieval terms that contradicted "not an accessibility guide" (check accessibility, accessibility, tsx linter). The 70-rule count matches the rule files, and the local copy is identical to upstream main. tests/external-skill-resolution.test.ts required the word "accessibility". It now checks that the rule count matches the files and that the retrieval metadata doesn't mention accessibility.
  • vercel-functions SSE example: a GET handler that reads no request data is prerendered at build time when Cache Components is on (Next 16.5 route-handler docs). The example now reads jobId from request.url, so it stays request-time.
  • ai-gateway placeholders: the old model IDs were valid. This change follows the "no time-sensitive IDs" rule; it doesn't fix a broken example.

Checks: build:*:check, validate, and bun run test all pass.

roboeve Bot and others added 2 commits October 19, 2026 13:23
…nd SSE example

- marketplace: the destructive warning belongs on `vercel integration
  resource remove` (permanent delete), not `vercel integration remove`
  (uninstall; refuses while resources exist). Both still need explicit
  user approval.
- react-best-practices: list all 8 upstream rule categories in the
  description and drop accessibility / "tsx linter" retrieval terms
  that contradict it. Replace the stale test that required the word
  "accessibility" with checks that the description's rule count matches
  the shipped rules and that retrieval does not advertise accessibility.
- vercel-functions: the SSE GET handler reads the request URL so Next.js
  Cache Components does not prerender it at build time.
@molebox
molebox force-pushed the fix/skill-descriptions-and-examples branch from 20d8411 to a805c2f Compare October 19, 2026 11:38
@molebox
molebox marked this pull request as ready for review October 19, 2026 11:59
@molebox
molebox merged commit d579a55 into main Oct 19, 2026
5 checks passed
@molebox
molebox deleted the fix/skill-descriptions-and-examples branch October 19, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant