Best for
- Use when bumping the UI package version, publishing latest or next through ui-publish.
cline/cline/.cline/skills/publish-ui/SKILL.md
Prepare, validate, and publish standalone @cline/ui npm releases. Use when bumping the UI package version, publishing latest or next through ui-publish.yml, checking UI release readiness, or completing the one-time npm trusted-publishing bootstrap.
Decision brief
Release @cline/ui independently from the Cline SDK runtime packages.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/cline/cline --skill ".cline/skills/publish-ui"Inspect the Agent Skill "publish-ui" from https://github.com/cline/cline/blob/5ec2d47b21b3a09aa7a094bfbbe0c7e8f7ddd3fa/.cline/skills/publish-ui/SKILL.md at commit 5ec2d47b21b3a09aa7a094bfbbe0c7e8f7ddd3fa. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Version source: sdk/packages/ui/package.json.
1. Inspect the branch, current version, npm state, and UI changes.
Use this only while npm view @cline/ui returns E404. npm requires the package to exist before its GitHub trusted publisher can be configured.
Report the version and npm tag, release commit, whether anything was pushed, workflow URL or bootstrap result, npm verification, and tests/builds run. If the package still returns E404, state that bootstrap remains required.
Permission review
The documentation asks the agent to run terminal commands or scripts.
git status --short --branchThe documentation asks the agent to run terminal commands or scripts.
node -p "require('./sdk/packages/ui/package.json').version"Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 87/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 65,609 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Release @cline/ui independently from the Cline SDK runtime packages.
sdk/packages/ui/package.json..github/workflows/ui-publish.yml.internal: true only to stay out of the SDK's shared
version/publish scripts. It is still a public npm package because
private: false and publishConfig.access: public control npm publication.latest is the production channel. next is an opt-in preview channel.0.2.0-next.0 for next; do not publish a
version intended for latest under the preview tag because npm versions
cannot be republished.confirm_publish=publish from
main.Publish
environment.git status --short --branch
node -p "require('./sdk/packages/ui/package.json').version"
npm view @cline/ui dist-tags versions --json
git log --oneline --no-merges -- \
sdk/packages/ui apps/examples/desktop-app/webview/components/views/chat \
.github/workflows/ui-publish.yml
Ask for the npm channel and version together. For latest, ask for patch,
minor, major, or an explicit version. For next, require an explicit
prerelease version such as 0.2.0-next.0. Do not guess. Update only
sdk/packages/ui/package.json and its workspace version in bun.lock. Do
not run the SDK version command.
Validate the release candidate.
bun install --filter @cline/ui --filter @cline/code --frozen-lockfile
bun -F @cline/ui typecheck
bun -F @cline/ui test
bun -F @cline/ui test:package
bun -F @cline/ui build-storybook
bun -F @cline/code test:chat-ui
The packed-package test installs the tarball with Bun/React 19 and with
npm/Node/React 18.
Inspect bun pm pack --dry-run when the exported file set changed.
git add sdk/packages/ui/package.json bun.lock
git commit -m "chore(ui): release vX.Y.Z"
git push origin HEAD
main, restate the selected npm tag and ask
for explicit publish approval. Then trigger and watch the standalone
workflow:run_url=$(gh workflow run ui-publish.yml --ref main \
-f npm_tag=latest \
-f confirm_publish=publish)
test -n "$run_url"
run_id=${run_url##*/}
gh run watch "$run_id" --exit-status
Use npm_tag=next only for a deliberate preview. Do not report success until
the workflow succeeds and npm shows the exact version under the selected tag.
npm view @cline/ui dist-tags versions --json
Use this only while npm view @cline/ui returns E404. npm requires the
package to exist before its GitHub trusted publisher can be configured.
ui-publish.yml to main. Start from a clean,
reviewed main checkout. Verify authentication, account 2FA, and write
access to the @cline npm organization. The npm trust command in step 4
requires npm CLI 11.15 or newer; the automated trusted-publishing workflow
itself enforces npm 11.5.1 or newer.npm --version
npm whoami
npm view @cline/ui version
If npm is older than 11.15, ask before upgrading with
npm install -g npm@^11.15.0.
bun -F @cline/ui build
pack_dir=$(mktemp -d)
(cd sdk/packages/ui && bun pm pack --ignore-scripts --destination "$pack_dir" --quiet)
tarball=$(find "$pack_dir" -maxdepth 1 -name '*.tgz' -print -quit)
test -n "$tarball"
bun sdk/packages/ui/scripts/smoke-package.ts "$tarball"
tar -tzf "$tarball"
printf 'Bootstrap archive: %s\n' "$tarball"
latest:npm publish /absolute/path/from-step-2.tgz --access public --tag latest
npm trust github @cline/ui \
--repo cline/cline \
--file ui-publish.yml \
--env Publish \
--allow-publish
npm view @cline/ui dist-tags versions --json
npm trust list @cline/ui
Report the version and npm tag, release commit, whether anything was pushed,
workflow URL or bootstrap result, npm verification, and tests/builds run. If
the package still returns E404, state that bootstrap remains required.
Alternatives
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for deployment and design tasks; the detail page covers purpose, installation, and practical steps.
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for deployment and design tasks; the detail page covers purpose, installation, and practical steps.
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for deployment and design tasks; the detail page covers purpose, installation, and practical steps.
davepoon/buildwithclaude
Activate when the user wants to build a Claude plugin, create a Claude skill, make a Claude agent, structure a Claude Code plugin, says "build a plugin", "create a skill", "new claude skill", "new agent", "help me make a plugin", "plugin builder", "claude plugin helper", "how do I build a Claude skill", "I want to create a Claude plugin", "plugin building", or asks how to structure a Claude Code plugin or publish to the Claude marketplace. Works on both claude.ai (generates files as code blocks)