Skip to content

feat(shadcn-ui): add shadcn/ui plugin bundling official skills#255

Merged
amondnet merged 3 commits into
mainfrom
amondnet/shadecn-ui
Jul 7, 2026
Merged

feat(shadcn-ui): add shadcn/ui plugin bundling official skills#255
amondnet merged 3 commits into
mainfrom
amondnet/shadecn-ui

Conversation

@amondnet

@amondnet amondnet commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new shadcn-ui Claude Code plugin that bundles the official shadcn/ui skills.sh skills (shadcn + migrate-radix-to-base) from github.com/shadcn/ui. The skills were installed via bunx skills add into plugins/shadcn-ui/.agents/skills/, following the same vendored-skill pattern used by other plugins in this marketplace.

Changes

  • plugins/shadcn-ui/ — new plugin directory: .claude-plugin/plugin.json, generated Codex/Antigravity/Cursor manifests (.codex-plugin/plugin.json, plugin.json, .cursor-plugin/plugin.json), vendored .agents/skills/shadcn/ and .agents/skills/migrate-radix-to-base/ skill content, and skills-lock.json
  • .claude-plugin/marketplace.json — added the shadcn-ui entry, including relevance signals (cli: ["shadcn"], manifestDeps on components.json)
  • .agents/plugins/marketplace.json + .cursor-plugin/marketplace.json — regenerated via bun scripts/cli.ts multi-format
  • release-please-config.json + .release-please-manifest.json — added the plugins/shadcn-ui package entry and initial version 1.0.0
  • README.md — added the shadcn/ui entry under Built-in Plugins

Note: Regenerating the Codex marketplace via multi-format also synced two pre-existing entries — claude-code-docs and run-verify — into .agents/plugins/marketplace.json. These were already present in the Claude source-of-truth marketplace but had been missing from the Codex one. This is expected reconciliation from running multi-format, not new functionality introduced by this PR.

Related issue

N/A — no linked issue for this change.

Checklist

  • PR title follows Conventional Commits
  • Tests added or updated, and the suite passes (bun run test)
  • Lint/format pass (bun run lint)
  • Documentation updated if behavior changed
  • No breaking change, or a BREAKING CHANGE: note is included

Summary by cubic

Adds the new shadcn-ui plugin bundling the official shadcn and migrate-radix-to-base skills from github.com/shadcn/ui. This lets users manage shadcn/ui components and migrate from Radix UI to @base-ui/react across all marketplaces.

  • New Features
    • Added plugins/shadcn-ui with generated manifests (.claude-plugin/plugin.json, .codex-plugin/plugin.json, .cursor-plugin/plugin.json, plugin.json), vendored skills under .agents/skills/, and skills-lock.json.
    • Registered in all marketplaces with ui category, keywords/tags, and relevance signals (CLI shadcn, **/components.json, and manifestDeps for package.json); regen reconciled claude-code-docs and run-verify, and an upstream merge resolved marketplace/release config conflicts.
    • Wired into release-please at 1.0.0 with cross-manifest version bumps, and updated README with install instructions and source link.

Written for commit 091db03. Summary will update on new commits.

Summary by CodeRabbit

  • New Features
    • Added a new shadcn/ui plugin with marketplace availability and install support.
    • Introduced a new migration-focused plugin for moving components from one UI system to another.
  • Documentation
    • Expanded guidance for plugin usage, installation, customization, registry management, and CLI workflows.
    • Added detailed component composition, form, icon, styling, chat, and overlay reference docs.
  • Chores
    • Registered the new plugin in release/version tracking so updates can be published consistently.

Add a new shadcn-ui Claude Code plugin bundling the official shadcn/ui
skills.sh skills (shadcn + migrate-radix-to-base) from github.com/shadcn/ui,
installed via bunx skills add into plugins/shadcn-ui/.agents/skills/.

- plugins/shadcn-ui/: new plugin dir with .claude-plugin/plugin.json,
  generated Codex/Antigravity/Cursor manifests, vendored skills, and
  skills-lock.json
- .claude-plugin/marketplace.json: add shadcn-ui entry with relevance
  signals (cli "shadcn", components.json)
- .agents/plugins/marketplace.json + .cursor-plugin/marketplace.json:
  regenerated via bun scripts/cli.ts multi-format (Codex regen also
  reconciled two pre-existing entries already present in the Claude
  source-of-truth marketplace: claude-code-docs, run-verify)
- release-please-config.json + .release-please-manifest.json: add
  plugins/shadcn-ui package + version 1.0.0
- README.md: add shadcn/ui entry under Built-in Plugins
@vercel

vercel Bot commented Jul 7, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
claude-code-plugins Ready Ready Preview, Comment Jul 7, 2026 8:27am

Request Review

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@amondnet, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 49 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ebf18422-f82f-412c-a7e3-37d0b3735fad

📥 Commits

Reviewing files that changed from the base of the PR and between 42b8f95 and 091db03.

📒 Files selected for processing (6)
  • .agents/plugins/marketplace.json
  • .claude-plugin/marketplace.json
  • .cursor-plugin/marketplace.json
  • .release-please-manifest.json
  • README.md
  • release-please-config.json
📝 Walkthrough

Walkthrough

This PR registers a new shadcn-ui plugin across marketplace catalogs, release configs, and README, adds package manifests for multiple plugin platforms, and introduces two documentation-only agent skills: a Radix UI-to-Base UI migration guide and a shadcn/ui usage skill covering CLI, registry, customization, and composition rules.

Changes

shadcn-ui plugin addition

Layer / File(s) Summary
Marketplace and release registration
.agents/plugins/marketplace.json, .claude-plugin/marketplace.json, .cursor-plugin/marketplace.json, .release-please-manifest.json, release-please-config.json, README.md
Registers the shadcn-ui plugin entry (and run-verify, claude-code-docs) in each marketplace catalog, release manifest/config, and the README plugin listing.
Plugin package manifests
plugins/shadcn-ui/.claude-plugin/plugin.json, plugins/shadcn-ui/.codex-plugin/plugin.json, plugins/shadcn-ui/.cursor-plugin/plugin.json, plugins/shadcn-ui/plugin.json, plugins/shadcn-ui/skills-lock.json
Adds plugin metadata manifests for Claude/Codex/Cursor plus the top-level plugin.json and a skills-lock.json declaring both bundled skills.
migrate-radix-to-base skill
plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/*
Adds SKILL.md defining the migration workflow (golden-pair vs transformation-engine, progressive vs whole-project modes, reporting) plus reference docs mapping Radix component classes, props, disclosure/display/form/menu/overlay primitives, universal patterns, and wrapper shapes to Base UI.
shadcn skill core (CLI/registry/customization/evals)
plugins/shadcn-ui/.agents/skills/shadcn/SKILL.md, .../shadcn/agents/openai.yml, .../shadcn/cli.md, .../shadcn/customization.md, .../shadcn/mcp.md, .../shadcn/registry.md, .../shadcn/evals/evals.json
Adds the shadcn skill definition, CLI command reference, registry authoring guide, theming/customization guide, MCP server documentation, and an eval suite.
shadcn skill composition/styling rules
plugins/shadcn-ui/.agents/skills/shadcn/rules/*
Adds rule docs for base-vs-radix API differences, chat composition, general component composition, forms/inputs, icon usage, and styling conventions.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Poem

A rabbit hopped through Radix halls,
found Base UI behind the walls,
renamed each prop, remapped each class,
migration notes writ thick as glass.
Now shadcn hops in, docs in tow —
new plugin ready, off we go! 🐇

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding the shadcn-ui plugin with bundled official skills.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch amondnet/shadecn-ui

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@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

이번 풀 리퀘스트는 shadcn-ui 플러그인을 추가하고 관련 마켓플레이스 설정, README, 릴리스 설정 및 에이전트 스킬 파일들을 새롭게 도입하는 변경사항을 담고 있습니다. 코드 리뷰 결과, release-please-config.json 파일에서 plugins/shadcn-ui 패키지의 extra-files 경로가 레포지토리 루트 기준이 아닌 패키지 루트 기준으로 잘못 지정되어 있어 릴리스 시 버전 업데이트가 누락될 수 있는 문제가 발견되었습니다. 해당 경로 앞에 plugins/shadcn-ui/ 접두사를 추가하여 올바른 레포지토리 상대 경로로 수정할 것을 권장합니다.

Comment thread release-please-config.json
@amondnet amondnet marked this pull request as ready for review July 7, 2026 06:09
@greptile-apps

greptile-apps Bot commented Jul 7, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds a new shadcn-ui plugin to the marketplace, bundling two official vendored skills (shadcn and migrate-radix-to-base) sourced from github.com/shadcn/ui. It follows the established vendored-skill pattern used by other plugins in the repo.

  • New plugin: plugins/shadcn-ui/ with all four format manifests (.claude-plugin, .codex-plugin, .cursor-plugin, root plugin.json), vendored skill content under .agents/skills/, and a skills-lock.json locking both skills to their upstream source hashes.
  • Marketplace registration: The shadcn-ui entry is added to all three marketplace files with category, keywords, tags, and relevance signals (cli, filesRead, manifestDeps) that match the completeness level of peer UI-framework plugins.
  • Release tracking: release-please-config.json and .release-please-manifest.json are wired up at v1.0.0, covering all four manifest files in extra-files — consistent with other plugin entries.

Confidence Score: 5/5

This PR is safe to merge — it adds a new plugin directory with vendored skill content and marketplace registrations, with no changes to shared runtime logic.

All changes are additive: new files under plugins/shadcn-ui/, marketplace JSON entries, and release-please wiring. The plugin structure precisely follows the established vendored-skill pattern (string skills path in .claude-plugin/plugin.json, skills-lock.json with SHA256 hashes, four manifest files covered by extra-files in release-please). Marketplace entries across all three formats are complete with category, keywords, tags, and relevance signals. No shared code or existing plugin manifests are modified in a breaking way.

No files require special attention — the new plugin directory and marketplace entries are self-contained and consistent with existing patterns.

Important Files Changed

Filename Overview
plugins/shadcn-ui/.claude-plugin/plugin.json New Claude plugin manifest for shadcn-ui with correct skills path, metadata, and license — consistent with other vendored-skill plugins.
plugins/shadcn-ui/.codex-plugin/plugin.json Codex plugin manifest with category "UI" — a previous review thread noted it was "Productivity"; this PR has since updated it to the correct value.
plugins/shadcn-ui/.cursor-plugin/plugin.json Cursor plugin manifest with category "UI", keywords, and tags — consistent with other UI plugins in the marketplace.
plugins/shadcn-ui/plugin.json Root Antigravity plugin.json with keywords and metadata; no skills field here, matching the pattern from ai-sdk and other vendored-skill plugins.
plugins/shadcn-ui/skills-lock.json Lock file pinning both vendored skills (shadcn and migrate-radix-to-base) to their source GitHub path and SHA256 hash — format matches other skills-lock.json files in the repo.
.claude-plugin/marketplace.json Added shadcn-ui entry with category, keywords, tags, and relevance signals (cli, filesRead, manifestDeps) — addresses all fields raised in previous review threads.
.agents/plugins/marketplace.json Added shadcn-ui entry (category "UI") plus reconciled two previously missing entries (claude-code-docs, run-verify) as expected from running multi-format.
release-please-config.json New plugins/shadcn-ui package block covers all four manifest files (claude-plugin, codex-plugin, cursor-plugin, root plugin.json) — matches the exact pattern of greptile and other existing plugins.
plugins/shadcn-ui/.agents/skills/shadcn/SKILL.md Vendored shadcn skill content: well-structured rules, CLI guidance, and component principles sourced from github.com/shadcn/ui.
plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/SKILL.md Vendored migrate-radix-to-base skill content: comprehensive Radix → Base UI migration guide with preflight checks and strategy sections.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User installs shadcn-ui plugin] --> B{Which marketplace?}
    B --> C[Claude Code\n.claude-plugin/marketplace.json]
    B --> D[Codex / Antigravity\n.agents/plugins/marketplace.json]
    B --> E[Cursor\n.cursor-plugin/marketplace.json]

    C --> F[plugins/shadcn-ui/.claude-plugin/plugin.json\nskills: ./.agents/skills/]
    D --> G[plugins/shadcn-ui/plugin.json\nAntigravity root manifest]
    E --> H[plugins/shadcn-ui/.cursor-plugin/plugin.json]

    F --> I[.agents/skills/shadcn/SKILL.md\nshadcn components & CLI]
    F --> J[.agents/skills/migrate-radix-to-base/SKILL.md\nRadix → Base UI migration]

    K[skills-lock.json] -->|pins hashes| I
    K -->|pins hashes| J
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[User installs shadcn-ui plugin] --> B{Which marketplace?}
    B --> C[Claude Code\n.claude-plugin/marketplace.json]
    B --> D[Codex / Antigravity\n.agents/plugins/marketplace.json]
    B --> E[Cursor\n.cursor-plugin/marketplace.json]

    C --> F[plugins/shadcn-ui/.claude-plugin/plugin.json\nskills: ./.agents/skills/]
    D --> G[plugins/shadcn-ui/plugin.json\nAntigravity root manifest]
    E --> H[plugins/shadcn-ui/.cursor-plugin/plugin.json]

    F --> I[.agents/skills/shadcn/SKILL.md\nshadcn components & CLI]
    F --> J[.agents/skills/migrate-radix-to-base/SKILL.md\nRadix → Base UI migration]

    K[skills-lock.json] -->|pins hashes| I
    K -->|pins hashes| J
Loading

Reviews (3): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile

Comment thread plugins/shadcn-ui/.codex-plugin/plugin.json Outdated
Comment thread .claude-plugin/marketplace.json
Comment thread .claude-plugin/marketplace.json

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

4 issues found across 36 files

Confidence score: 3/5

  • plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/consumer-props.md has Tooltip prop mappings that conflict with overlays.md, which can drive incorrect Radix→Base migrations (e.g., delay/hover semantics) and lead to behavior regressions in migrated apps — align this guide with the canonical mappings before merging.
  • plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/consumer-props.md also documents delayMs on the wrong Avatar part, so consumers could apply props to Avatar.Image instead of Avatar.Fallback and end up with broken fallback timing — correct the target component mapping before merge.
  • .claude-plugin/marketplace.json is missing a manifestDeps relevance signal for shadcn, which can reduce plugin detection in projects that already declare the dependency and hurt adoption — add the signal to de-risk discoverability.
  • plugins/shadcn-ui/.codex-plugin/plugin.json is categorized as Productivity instead of a UI/library category, so marketplace placement may hide it from the right audience — update the category for accurate indexing (non-blocking).
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/consumer-props.md">

<violation number="1" location="plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/consumer-props.md:22">
P2: The Tooltip call-site guidance here contradicts the detailed `overlays.md` reference in the same skill bundle. `overlays.md` maps `skipDelayDuration` → `timeout` (preserving the skip-delay semantics) and `disableHoverableContent` → `disableHoverablePopup`, whereas this summary incorrectly marks both as dropped or missing. Because `consumer-props.md` is the consumer sweep checklist, this drift would cause users to remove working behavior and record false behavior deltas. Since this is vendored content, note it for upstream correction rather than editing locally.</violation>

<violation number="2" location="plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/consumer-props.md:24">
P2: The `delayMs` prop is documented on the wrong Avatar part in this migration guide. The detailed mapping in `display-misc.md` correctly places `delayMs` on `Avatar.Fallback` (not `Avatar.Image`) mapping to Base UI `delay`. During a migration sweep, this misalignment would cause the tool to look for `delayMs` on `Avatar.Image` — which does not carry that prop in Radix — while missing real usages on `Avatar.Fallback`, leaving migrated call sites with stale props. Since this appears to be vendored skill content, consider opening a fix upstream and re-syncing rather than editing locally.</violation>
</file>
Architecture diagram
sequenceDiagram
    participant User as Developer (User)
    participant CLI as Claude Code CLI
    participant Plugin as Plugins System
    participant Marketplace as Marketplace Registry
    participant SkillEngine as Skills Engine
    participant ShadcnPlugin as shadcn-ui Plugin
    participant ShadcnSkill as shadcn Skill
    participant MigrateSkill as migrate-radix-to-base Skill
    participant CDN as shadcn/ui CDN

    Note over User,CDN: Plugin Discovery & Installation Flow

    User->>CLI: /plugin install shadcn-ui@pleaseai

    CLI->>Marketplace: Lookup shadcn-ui from marketplace
    
    alt Claude (.claude-plugin/marketplace.json)
        Marketplace-->>CLI: Found with relevance signals: cli=[shadcn], filesRead=[**/components.json]
    else Codex (.agents/plugins/marketplace.json)
        Marketplace-->>CLI: Found with source: local, path: ./plugins/shadcn-ui
    else Cursor (.cursor-plugin/marketplace.json)
        Marketplace-->>CLI: Found with source: ./plugins/shadcn-ui
    end

    CLI->>Plugin: Load plugin from plugins/shadcn-ui/
    Plugin->>Plugin: Read plugin metadata (name, version, author)
    Plugin->>SkillEngine: Register skills entrypoint
    SkillEngine->>SkillEngine: Parse skills-lock.json for vendored skills

    Note over SkillEngine,ShadcnPlugin: Skill Loading & Execution

    SkillEngine->>ShadcnPlugin: Load .agents/skills/shadcn/
    ShadcnPlugin->>CDN: Optional: npx shadcn@latest info --json
    CDN-->>ShadcnPlugin: Project config (base, style, components, aliases)
    ShadcnPlugin-->>SkillEngine: shadcn skill ready (user-invocable: false, allowed-tools: shadcn CLI)

    SkillEngine->>ShadcnPlugin: Load .agents/skills/migrate-radix-to-base/
    ShadcnPlugin-->>SkillEngine: migrate-radix-to-base skill ready

    alt User asks about shadcn components
        User->>CLI: "Add a button component"
        CLI->>SkillEngine: Match to shadcn skill
        SkillEngine->>ShadcnPlugin: Execute shadcn skill
        ShadcnPlugin->>CDN: npx shadcn@latest add button --dry-run
        CDN-->>ShadcnPlugin: Registry item JSON + file content
        ShadcnPlugin-->>CLI: Component preview + install instructions
        CLI-->>User: "Use npx shadcn@latest add button"
    else User asks about Radix to Base UI migration
        User->>CLI: "Migrate my accordion from Radix to Base UI"
        CLI->>SkillEngine: Match to migrate-radix-to-base skill
        SkillEngine->>ShadcnPlugin: Execute migration skill
        ShadcnPlugin->>ShadcnPlugin: Check project type (shadcn vs hand-rolled)
        ShadcnPlugin->>CDN: Fetch golden pair component from registry
        CDN-->>ShadcnPlugin: Base variant component source
        ShadcnPlugin->>ShadcnPlugin: Perform props migration (asChild -> render, etc.)
        ShadcnPlugin->>ShadcnPlugin: Apply class-string rewrites (data-state -> presence attrs)
        ShadcnPlugin->>ShadcnPlugin: Generate migration report
        ShadcnPlugin-->>CLI: Migrated component + report
        CLI-->>User: "Accordion migrated to Base UI. Report saved to .migration/"
    end

    Note over User,CDN: Relevance-based Auto-Detection

    alt User has components.json in project
        CLI->>Marketplace: Scan project files for relevance signals
        Marketplace->>Marketplace: Match **/components.json against shadcn-ui filesRead
        Marketplace-->>CLI: Suggest installing shadcn-ui plugin
        CLI-->>User: "It looks like you're using shadcn/ui. Install shadcn-ui plugin?"
    else User runs "shadcn init"
        CLI->>Marketplace: Match CLI command against shadcn-ui cli signals
        Marketplace-->>CLI: shadcn-ui is relevant (cli match: shadcn)
    end
Loading

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

Re-trigger cubic

Comment thread .claude-plugin/marketplace.json Outdated
Comment thread plugins/shadcn-ui/.codex-plugin/plugin.json Outdated
# Conflicts:
#	.agents/plugins/marketplace.json
#	.cursor-plugin/marketplace.json
#	.release-please-manifest.json
#	release-please-config.json
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown

🔍 Tessl Skill Review

plugins/shadcn-ui/.agents/skills/migrate-radix-to-base/SKILL.md

score

Review Details

Review Details

Dimension Score Detail
conciseness ██░ 2/3 The skill is dense and information-rich with minimal fluff—it doesn't explain what Radix or Base UI are—but it's quite long and some sections could be tightened. The strategy section in particular has nested sub-cases that could be more concise while preserving clarity.
actionability ███ 3/3 Highly actionable with specific commands (npx shadcn@latest info --json, git merge-file, grep -n patterns), exact URLs for fetching registry variants, concrete file naming conventions (-base.tsx), and a precise report template. Every step tells Claude exactly what to do.
workflow clarity ███ 3/3 The workflow is clearly sequenced with explicit validation checkpoints: typecheck per file, build per batch, full build at end vs baseline. The progressive mode has a clear strangler-fig sequence with dependency ordering, and the mandatory leftover sweep (grep for radix remnants) serves as a feedback loop to catch silent merge failures.
progressive disclosure ██░ 2/3 The skill references multiple supporting files (universal-patterns.md, overlays.md, menus.md, form-controls.md, disclosure.md, display-misc.md, class-mapping.md, wrapper-shapes.md, consumer-props.md) which suggests good bundle structure, but no bundle files were provided to verify. The SKILL.md itself is a monolithic document that could benefit from splitting the strategy section and mode details into separate referenced files.

Overall: This is a highly actionable and well-structured migration skill with excellent workflow clarity, explicit validation checkpoints, and concrete commands throughout. Its main weakness is length—the strategy section with its multiple sub-cases (golden pair, legacy styles, transformation engine) and two modes creates a dense document that could benefit from better progressive disclosure by splitting detailed sub-strategies into referenced files. The referenced bundle files (universal-patterns.md, class-mapping.md, etc.) suggest good architectural thinking but couldn't be verified.

Suggestions:

  • Consider splitting the 'Strategy: golden pair first, transformation engine second' section into a separate STRATEGY.md file, keeping only a brief summary and reference in the main SKILL.md to reduce its density.
  • Tighten the progressive/whole-project mode descriptions—some details (like the PROGRESSIVE mode fetch-by-URL caveat) are repeated across strategy and modes sections.

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

score

Review Details

Review Details

Dimension Score Detail
conciseness ██░ 2/3 The skill is generally efficient and avoids explaining basic concepts Claude already knows, but it's quite long (~300 lines) with some repetition between the Critical Rules section and the Key Patterns section. The Component Selection table and Key Fields section are dense but useful reference material. Some tightening is possible (e.g., the workflow steps could be more concise).
actionability ███ 3/3 Highly actionable throughout: concrete CLI commands with exact flags, executable TSX code examples showing correct vs incorrect patterns, a complete quick reference section with copy-paste-ready commands, and specific component composition patterns. The workflow section provides step-by-step instructions with exact commands.
workflow clarity ███ 3/3 The workflow section is clearly sequenced (steps 1-9) with explicit validation checkpoints: checking installed components before adding, using --dry-run and --diff before updating, confirming with users before --overwrite, and reviewing added components after installation. The Updating Components section has a clear feedback loop (diff → analyze → decide → apply). The preset switching workflow asks the user to choose a strategy before proceeding.
progressive disclosure ███ 3/3 Excellent progressive disclosure structure: the SKILL.md serves as a clear overview with concise rules, then links to 8 detailed reference files (forms.md, composition.md, chat.md, icons.md, styling.md, base-vs-radix.md, cli.md, registry.md, customization.md) — all one level deep and clearly signaled. Each Critical Rules subsection links to its corresponding rule file. The Detailed References section at the bottom provides a clean navigation index.

Overall: This is a well-crafted, highly actionable skill that provides concrete CLI commands, executable code examples, and clear workflows with validation checkpoints. The progressive disclosure is excellent, with the main file serving as a comprehensive overview that links to detailed rule files for edge cases. The main weakness is moderate verbosity — while most content earns its place, some sections could be tightened, and there's minor redundancy between the Critical Rules and Key Patterns sections.


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 merged commit 96c073d into main Jul 7, 2026
13 checks passed
@amondnet amondnet deleted the amondnet/shadecn-ui branch July 7, 2026 08:33
@sonarqubecloud

sonarqubecloud Bot commented Jul 7, 2026

Copy link
Copy Markdown

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