Source profileQuality 87/100Review permissions

cline/cline/.cline/skills/publish-ui/SKILL.md

publish-ui

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.

Source repository stars
65,609
Declared platforms
0
Static risk flags
1
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Release @cline/ui independently from the Cline SDK runtime packages.

Best for

  • Use when bumping the UI package version, publishing latest or next through ui-publish.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/cline/cline --skill ".cline/skills/publish-ui"
Safe inspection promptEditorial

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

What the source asks the agent to do

  1. 01

    Release contract

    Version source: sdk/packages/ui/package.json.

    Version source: sdk/packages/ui/package.json.Workflow: .github/workflows/ui-publish.yml.The package keeps internal: true only to stay out of the SDK's shared
  2. 02

    Normal release

    1. Inspect the branch, current version, npm state, and UI changes.

    Inspect the branch, current version, npm state, and UI changes.Ask for the npm channel and version together. For latest, ask for patch,Validate the release candidate.
  3. 03

    One-time npm bootstrap

    Use this only while npm view @cline/ui returns E404. npm requires the package to exist before its GitHub trusted publisher can be configured.

    Merge the package and ui-publish.yml to main. Start from a clean,Run the normal release validation in step 3 above. Then build, pack, test,Ask for explicit approval, then publish the initial version publicly under
  4. 04

    Final report

    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.

    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 requ…

Permission review

Static risk signals and limitations

Runs scripts

medium · line 32

The documentation asks the agent to run terminal commands or scripts.

git status --short --branch

Runs scripts

medium · line 33

The documentation asks the agent to run terminal commands or scripts.

node -p "require('./sdk/packages/ui/package.json').version"

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score87/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars65,609SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
cline/cline
Skill path
.cline/skills/publish-ui/SKILL.md
Commit
5ec2d47b21b3a09aa7a094bfbbe0c7e8f7ddd3fa
License
Apache-2.0
Collected
2026-08-04
Default branch
main
View the original SKILL.md

Publish UI

Release @cline/ui independently from the Cline SDK runtime packages.

Release contract

  • Version source: sdk/packages/ui/package.json.
  • Workflow: .github/workflows/ui-publish.yml.
  • The package keeps 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.
  • Use prerelease versions such as 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.
  • There is no UI Git tag, GitHub release, schedule, or Slack announcement.
  • The workflow runs only by manual dispatch. Every release attempt runs the UI quality checks before publishing and requires confirm_publish=publish from main.
  • The publish job and npm trust relationship use the protected Publish environment.
  • Every npm publication needs a new semver version; npm versions are immutable.
  • Always ask before pushing commits, triggering the publish workflow, changing npm trust settings, or running a local publish command.

Normal release

  1. Inspect the branch, current version, npm state, and UI changes.
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
  1. 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.

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

  1. Commit the version bump separately from feature work. Ask before pushing.
git add sdk/packages/ui/package.json bun.lock
git commit -m "chore(ui): release vX.Y.Z"
git push origin HEAD
  1. After the release commit reaches 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

One-time npm bootstrap

Use this only while npm view @cline/ui returns E404. npm requires the package to exist before its GitHub trusted publisher can be configured.

  1. Merge the package and 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.

  1. Run the normal release validation in step 3 above. Then build, pack, test, and inspect the exact initial tarball. Record the absolute archive path printed by the final command.
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"
  1. Ask for explicit approval, then publish the initial version publicly under latest:
npm publish /absolute/path/from-step-2.tgz --access public --tag latest
  1. Ask separately before configuring the standalone workflow as the trusted publisher:
npm trust github @cline/ui \
  --repo cline/cline \
  --file ui-publish.yml \
  --env Publish \
  --allow-publish
  1. Verify both package state and trust. Every later release uses the workflow; do not add a long-lived npm token.
npm view @cline/ui dist-tags versions --json
npm trust list @cline/ui

Final report

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

Compare before choosing