Skip to content

feat(ui-sdk): add ui-sdk plugin - #308

Merged
amondnet merged 2 commits into
mainfrom
amondnet/ui-sdk
Nov 13, 2026
Merged

amondnet merged 2 commits into
mainfrom
amondnet/ui-sdk

Conversation

@amondnet

@amondnet amondnet commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds plugins/ui-sdk, a built-in plugin that bundles the ui-sdk skill from vercel-labs/ui, so Claude Code users get guidance for building interfaces with ui-sdk.

  • The skill was installed with bunx skills add vercel-labs/ui --skill ui-sdk (upstream path packages/core/skills/ui-sdk/SKILL.md). plugins/ui-sdk/skills-lock.json tracks it, so the weekly update-skills workflow refreshes it.
  • It covers building interfaces with ui-sdk in React, Vue, Svelte, Solid, and web components; building missing components from @ui-sdk/core behaviors; agent-ready interfaces via createAgent/WebMCP; and testing keyboard, focus, ARIA, server rendering, and RTL.
  • Only the end-user ui-sdk skill is included. The repo's ui-sdk-expert-review, ui-sdk-unslop, ui-sdk-write-code, and ui-sdk-write-docs skills are for contributors to vercel-labs/ui and are excluded.

What changed

  • .claude-plugin/marketplace.json: new entry (category ui) with a relevance block matching package.json deps on @ui-sdk/*.
  • Generated by bun scripts/cli.ts multi-format: the Codex and Cursor marketplaces, plus the per-plugin .codex-plugin, root plugin.json (Antigravity), and .cursor-plugin manifests. Unrelated repo-wide drift from that command was reverted to keep the change atomic.
  • release-please-config.json and .release-please-manifest.json: plugins/ui-sdk at 1.0.0, covering all four version-bearing manifests.
  • README.md: Built-in Plugins entry.

Related issue

None.

Verification

  • claude plugin validate plugins/ui-sdk passes.
  • claude plugin validate .claude-plugin/marketplace.json reports 2 pre-existing errors on reserved names (claude-md-management, claude-code-docs), unrelated to this change.
  • All edited JSON parses with jq.
  • Test: /plugin install ui-sdk@pleaseai.

Checklist

  • PR title follows Conventional Commits
  • Tests added or updated, and the suite passes (bun run test) — N/A, no code changes
  • Lint/format pass (bun run lint) — not run; JSON validated with jq
  • Documentation updated if behavior changed
  • No breaking change, or a BREAKING CHANGE: note is included

Summary by cubic

Adds the ui-sdk plugin, which bundles the ui-sdk skill from vercel-labs/ui so agents get guidance for building interfaces with it.

  • Tracks the skill in skills-lock.json, so the weekly update-skills workflow refreshes it.
  • Covers building interfaces in React, Vue, Svelte, Solid, and web components, creating missing components from @ui-sdk/core behaviors, agent-ready interfaces via createAgent and WebMCP, and testing.
  • Splits the guidance into a main SKILL.md plus reference documents for patterns, styles, testing, and web components.
  • Adds marketplace entries with a relevance signal that suggests the plugin for projects depending on @ui-sdk/*.
  • Excludes the upstream repo's contributor-only skills.
  • Wires up release-please, the generated Codex, Cursor, and Antigravity manifests, and the README entry.

Written for commit 9e6a539. Summary will update on new commits.

Turn on auto-fix

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.
@vercel

vercel Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
claude-code-plugins Ready Ready Preview Nov 13, 2026 4:00am UTC

Request Review

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .claude-plugin/marketplace.json Resolved
@github-actions

Copy link
Copy Markdown

🔍 Tessl Skill Review

plugins/ui-sdk/.agents/skills/ui-sdk/SKILL.md

score

The SKILL.md body is a model overview: lean and library-specific, packed with executable commands, paths, and API details, a clearly sequenced path-based workflow with validation and error-recovery steps, and well-signaled references that all resolve to real bundle files. It matches the top anchor on every dimension.

Full review details

Validation Checks

16/16 checks passed.

Review Details

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.

@amondnet
amondnet marked this pull request as ready for review November 13, 2026 03:56
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 13, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-13T03:58:08.529389Z 9e0146f Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@greptile-apps

greptile-apps Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no blocking issues were found.

Summary

Adds the ui-sdk plugin with bundled guidance for building, styling, testing, and connecting interfaces to agents.

  • Coding agents now get a guide for building and testing ui-sdk interfaces.
  • The ui-sdk plugin is listed in the marketplaces and release tracking.

Reviews (2) · Last reviewed commit: "chore(ui-sdk): apply AI code review sugg..." · Reviewed by Greptile

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 19 files

Confidence score: 3/5

  • In patterns.md, aria-controls points 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 uses Internal where ProjectSettings expects internal, 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
Loading

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

@amondnet

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@sonarqubecloud

Copy link
Copy Markdown

@amondnet
amondnet merged commit 9db650d into main Nov 13, 2026
14 checks passed
@amondnet
amondnet deleted the amondnet/ui-sdk branch November 13, 2026 05:09

This branch was successfully deployed

1 active deployment
Preview — 9e6a539d Deployed Nov 13, 2026 by vercel[bot]
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