Repository navigation
feat(ui-sdk): add ui-sdk plugin - #308
Conversation
Adds the ui-sdk skill from vercel-labs/ui (installed via skills.sh) as a built-in plugin, with marketplace entry and relevance signal for @ui-sdk/* deps, generated Codex/Antigravity/Cursor manifests, release-please config, and README entry.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Up to standards ✅🟢 Issues
|
There was a problem hiding this comment.
Code Review
This pull request adds the new "ui-sdk" plugin across multiple marketplace manifests, release configurations, and the main README, alongside installing its associated skill files under plugins/ui-sdk/.agents/skills/ui-sdk/. The review feedback correctly identifies an inconsistency in .claude-plugin/marketplace.json where the "vercel" keyword is missing from the keywords list compared to other manifests, and provides a suggestion to add it.
🔍 Tessl Skill Review
|
| Dimension | Score | Detail |
|---|---|---|
| conciseness | █████ 5/5 | Nearly every sentence is a library-specific rule or pointer ("Import from entries... Never import @ui-sdk/core/internal/*", "Put @layer ui-sdk; at the top of the global stylesheet") and nothing explains concepts Claude already knows — the contrast ratios and ARIA mentions are rule thresholds, not tutorials. This matches the score-5 anchor 'lean and efficient; assumes Claude's competence; every token earns its place'; the score-4 anchor would require identifiable over-explanation to trim, and none stands out. |
| actionability | █████ 5/5 | The guidance is fully executable: exact commands ("npx tsc -b", "svelte-check", "vue-tsc"), exact import paths ("@ui-sdk/react/select"), an exact API signature ("value with onValueChange(value, details)" where details "has reason, source and cancel()"), exact doc paths ("node_modules/@ui-sdk//docs/llms.txt"), and URLs. It meets the score-5 anchor's 'fully executable; copy-paste ready code or commands' — and per the rubric's instruction-only note, the absence of full code blocks in an overview that delegates to reference files is not a penalty. |
| workflow clarity | █████ 5/5 | The process is explicitly sequenced — 'Read first', 'Pick your path' (paths 1/2 then steps 3/4 for every path), rules, and a 'When you're done' checklist — with validation checkpoints (typecheck with the project-references edge case handled, mandatory tests) and a real error-recovery loop: "If a test finds a bug... mark it test.fails... report the bug, and leave the suite green." This matches the score-5 anchor ('explicit validation steps; feedback loops for error recovery; checklists') rather than score 4, whose checkpoints would be present but incomplete. |
| progressive disclosure | █████ 5/5 | The body is a genuine overview that signals each of its six references with purpose and a markdown link, and all six resolve to real, substantial files in the bundle; the seventh file (patterns.md) is reachable from the path-2 entry file create-component.md, deliberate lazy loading for the only path that needs it. Judged against the actual bundle structure, navigation is one level deep with clear lateral cross-links and every file is discoverable and purposeful, matching the score-5 anchor rather than score 4's 'minor organization gaps'. |
Description Review
| Dimension | Score | Detail |
|---|---|---|
| specificity | █████ 5/5 | The description lists multiple concrete actions with named examples: "choosing and composing its components, building a component or behavior it doesn't ship from @ui-sdk/core (like a stepper, splitter, transfer list or emoji picker), making the interface usable by agents through createAgent, agent tools and WebMCP, and testing keyboard, focus, ARIA, server rendering and right to left, including writing tests for an existing component." Coverage is comprehensive with concrete sub-examples, which fits the score-5 anchor rather than the score-4 anchor's 'minor gaps in coverage'. |
| completeness | █████ 5/5 | Both halves are explicit: the 'what' is a multi-part concrete capability list, and the 'when' is a literal trigger clause — "Use whenever a project has @ui-sdk/* installed or the user mentions ui-sdk." This mirrors the score-5 anchor's structure ('clearly and explicitly answers both what AND when with concrete trigger phrases'); a score of 4 would require the when to be less explicit, which it is not. |
| trigger term quality | █████ 5/5 | Natural terms a user would say are comprehensively covered: the library name in several forms ("ui-sdk", "@ui-sdk/core", "@ui-sdk/*" — the package-pattern equivalent of a file extension), all five framework targets ("React, Vue, Svelte, Solid or web components"), concrete component names ("stepper, splitter, transfer list or emoji picker"), and testing terms ("keyboard, focus, ARIA, server rendering and right to left"). No natural phrasing for this domain is missing, matching the score-5 anchor including synonyms and extension-like package patterns rather than the score-4 anchor's 'a few natural terms missing'. |
| distinctiveness conflict risk | █████ 5/5 | The niche is a single named library and the triggers are keyed strictly to it ("a project has @ui-sdk/* installed or the user mentions ui-sdk"), so overlap with generic React/Vue or accessibility skills is minimal. It matches the score-5 anchor's 'clear niche with distinct triggers; minimal conflict risk' rather than the score-4 anchor, which would require some plausible overlap with closely related skills. |
To improve your score, point your agent at the Tessl optimization guide. Need help? Jump on our Discord.
Feedback
Report issues with this review at tesslio/skill-review, or send private feedback from your terminal with tessl feedback.
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
[Medium impact] The PR appears safe to merge; no blocking issues were found. SummaryAdds the
Reviews (2) · Last reviewed commit: "chore(ui-sdk): apply AI code review sugg..." · Reviewed by Greptile |
There was a problem hiding this comment.
2 issues found across 19 files
Confidence score: 3/5
- In
patterns.md,aria-controlspoints to a listbox that the pattern never renders, so assistive technology cannot resolve the combobox popup. Add a matching listbox slot with the referenced ID. - In
agent-ready.md, the Visibility step usesInternalwhereProjectSettingsexpectsinternal, so the sample may fail to select the option. Use the underlying value.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="plugins/ui-sdk/.agents/skills/ui-sdk/references/patterns.md">
<violation number="1" location="plugins/ui-sdk/.agents/skills/ui-sdk/references/patterns.md:152">
P2: `aria-controls` references `${id}-list`, but this pattern never renders an element with that ID or `role="listbox"`, so assistive technology cannot resolve the combobox popup. Add a matching listbox slot and ID in the upstream skill example, then resync this skills-lock-managed file.</violation>
</file>
<file name="plugins/ui-sdk/.agents/skills/ui-sdk/references/agent-ready.md">
<violation number="1" location="plugins/ui-sdk/.agents/skills/ui-sdk/references/agent-ready.md:101">
P2: The Visibility step passes the label `"Internal"`, but `ProjectSettings` defines that item with value `"internal"`; the sample therefore rejects or fails to select the option. Use the underlying snapshot/query value in the upstream skill, then resync this vendor-managed file.
(Based on your team's feedback about vendor-synced skill content.)</violation>
</file>
Architecture diagram
sequenceDiagram
participant Dev as Developer
participant Marketplace as Plugin Marketplace
participant Plugin as ui-sdk Plugin
participant Skill as ui-sdk Skill
participant RefDocs as Reference Docs
Note over Dev,RefDocs: Plugin Discovery and Installation Flow
Dev->>Marketplace: Lists available plugins
Marketplace->>Marketplace: Checks package.json for @ui-sdk/* deps
alt Project uses @ui-sdk/*
Marketplace-->>Dev: Suggests ui-sdk plugin (relevance match)
else No @ui-sdk/* dependency
Marketplace-->>Dev: Shows ui-sdk in UI category
end
Dev->>Plugin: /plugin install ui-sdk
Plugin->>Skill: Load SKILL.md
Plugin->>RefDocs: Provide reference documentation
Plugin-->>Dev: Plugin ready with skills
Note over Skill,RefDocs: Agent Usage During Development
Dev->>Skill: Request help building ui-sdk interface
Skill->>RefDocs: Read llms.txt index
RefDocs-->>Skill: Framework-specific docs list
Skill->>RefDocs: Read component docs
RefDocs-->>Skill: Component API and composition
Skill-->>Dev: Build/implement interface guidance
Note over Skill,RefDocs: Path 2 - Custom Component Building
alt Need component not in ui-sdk
Skill->>RefDocs: Read core.md and rendering.md
RefDocs-->>Skill: Behavior layer documentation
Skill->>RefDocs: Review patterns.md
RefDocs-->>Skill: Implementation patterns
Skill-->>Dev: Create custom component from @ui-sdk/core
end
Note over Skill,RefDocs: Agent-Ready Integration
Skill->>Skill: Configure createAgent/WebMCP
Skill->>Skill: Define agent actions and permissions
Skill->>RefDocs: Check agent-ready.md
RefDocs-->>Skill: Bridge setup and testing guidance
Skill-->>Dev: Agent-ready interface implementation
Note over Skill,RefDocs: Testing and Validation
Skill->>RefDocs: Load testing.md
RefDocs-->>Skill: Keyboard, focus, ARIA test procedures
Skill->>RefDocs: Load styles.md
RefDocs-->>Skill: Color contrast and styling rules
Skill-->>Dev: Completed with test coverage guidance
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces the ui-sdk plugin, adding the necessary configuration files, documentation, and skill definitions to support building accessible interfaces across various frameworks. As there are no review comments provided, I have no feedback to offer at this time.
|



Summary
Adds
plugins/ui-sdk, a built-in plugin that bundles theui-sdkskill from vercel-labs/ui, so Claude Code users get guidance for building interfaces with ui-sdk.bunx skills add vercel-labs/ui --skill ui-sdk(upstream pathpackages/core/skills/ui-sdk/SKILL.md).plugins/ui-sdk/skills-lock.jsontracks it, so the weekly update-skills workflow refreshes it.@ui-sdk/corebehaviors; agent-ready interfaces viacreateAgent/WebMCP; and testing keyboard, focus, ARIA, server rendering, and RTL.ui-sdkskill is included. The repo'sui-sdk-expert-review,ui-sdk-unslop,ui-sdk-write-code, andui-sdk-write-docsskills are for contributors to vercel-labs/ui and are excluded.What changed
.claude-plugin/marketplace.json: new entry (categoryui) with arelevanceblock matchingpackage.jsondeps on@ui-sdk/*.bun scripts/cli.ts multi-format: the Codex and Cursor marketplaces, plus the per-plugin.codex-plugin, rootplugin.json(Antigravity), and.cursor-pluginmanifests. Unrelated repo-wide drift from that command was reverted to keep the change atomic.release-please-config.jsonand.release-please-manifest.json:plugins/ui-sdkat 1.0.0, covering all four version-bearing manifests.README.md: Built-in Plugins entry.Related issue
None.
Verification
claude plugin validate plugins/ui-sdkpasses.claude plugin validate .claude-plugin/marketplace.jsonreports 2 pre-existing errors on reserved names (claude-md-management,claude-code-docs), unrelated to this change.jq./plugin install ui-sdk@pleaseai.Checklist
bun run test) — N/A, no code changesbun run lint) — not run; JSON validated withjqBREAKING CHANGE:note is includedSummary by cubic
Adds the
ui-sdkplugin, which bundles theui-sdkskill fromvercel-labs/uiso agents get guidance for building interfaces with it.skills-lock.json, so the weekly update-skills workflow refreshes it.@ui-sdk/corebehaviors, agent-ready interfaces viacreateAgentand WebMCP, and testing.SKILL.mdplus reference documents for patterns, styles, testing, and web components.@ui-sdk/*.Written for commit 9e6a539. Summary will update on new commits.