Skip to content
cccskills
FreePublished on GitHub

desktop-whats-new

Prepare a one-time What's new dialog for the desktop app when several meaningful features have accumulated. The skill selects changelog highlights, drafts concise copy, updates the content file, and guides testing and in-app previews.

OriginalShow the original description

Use when the team wants to catch desktop app users up on recent features with a one-time "What's new" dialog (apps/examples/desktop-app). Guides deciding whether a catch-up is warranted, picking the highlights from the changelog, writing tight copy, adding the entry to webview/lib/whats-new-content.ts, and previewing it from Settings → About. Not for individual releases — those only appear on the About page's release notes.

See how to install

Good for

  • Decide whether accumulated features warrant an announcement
  • Draft concise copy for three or four feature highlights
  • Add a new What's new content entry
  • Preview the dialog in light and dark themes

Files included (1)

  • SKILL.md5.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Desktop "What's new" catch-up

Use this skill when the user asks to show desktop users what's new, catch users up on recent updates, publish a what's-new modal, or refresh the highlights in Settings → About.

Working directory: run every command below from the repository root.

The desktop app ships every couple of days, so individual releases are never announced in-app; Settings → About always lists the bundled release notes. A catch-up is the exception: once enough notable features have accumulated, one dialog shows them, once, on the first launch after the update that carries it. Publishing one is a content change in a single file plus a preview, nothing else.

How it works

  • Content lives in apps/examples/desktop-app/webview/lib/whats-new-content.ts as WHATS_NEW_RELEASES, newest first. Each entry has a stable id, a title, and 3–4 highlights (title, description, lucide icon).
  • webview/lib/whats-new.ts stores the last seen id in localStorage (cline.code.whats-new.v1). The app shell (webview/app/page.tsx) shows WhatsNewDialog when the newest id differs from the stored one; closing it, or clicking "See all changes", stores the id.
  • Fresh installs never see a catch-up: completing onboarding marks the newest entry seen.
  • Settings → About has a "Show what's new" button that replays the newest entry without marking it seen. That is the preview path.
  • The dialog (webview/components/whats-new-dialog.tsx) is fixed: violet hero with an eyebrow and headline, a 2×2 grid of highlights, footer with "See all changes" and "Get Started". Do not add per-entry layout options, images, or extra buttons; keep it a content change. The one exception is a spotlight entry (currently only "connectors"): a launch big enough to carry the dialog alone, with its own body and call to action in the dialog. Only add a new spotlight when the team explicitly asks for one.

Workflow

  1. Decide whether a catch-up is warranted.
git log --oneline -1 -- apps/examples/desktop-app/webview/lib/whats-new-content.ts
sed -n '1,80p' apps/examples/desktop-app/CHANGELOG.md

Read the changelog sections since the last catch-up (the first entry's id is date-prefixed; the git log above shows when it landed). A catch-up needs 3–4 features a user would change how they work for — new capabilities, not fixes or polish. If there are fewer, say so and stop; the About page already covers everything else. Never ship a catch-up for a single release or for bug fixes.

  1. Pick the highlights and draft copy. Present the draft and wait for approval before editing files.
  • Headline: 3–6 words, a headline not a sentence. Good: "Work anywhere, in parallel", "Cline now runs on Linux". Bad: "We've made a lot of improvements to the composer".
  • Highlight title: the feature name, 1–3 words ("SSH remotes", "Worktrees").
  • Highlight description: one sentence, under ~90 characters, leading with what the user can now do. No setup instructions, no caveats, no marketing adjectives. If a requirement is essential (e.g. "needs the gh CLI"), the changelog and docs carry it, not the dialog.
  • Icon: a lucide-react icon that already exists in the codebase or the lucide set (Network, GitBranchPlus, GitPullRequest, Users, Terminal, Mic, Cloud, …).
  • Order highlights by impact, top-left first.
  1. Add the entry to the top of WHATS_NEW_RELEASES in apps/examples/desktop-app/webview/lib/whats-new-content.ts.
{
	id: "2026-11-cloud-and-voice", // YYYY-MM-<slug>, unique, never reused or edited later
	title: "Run it in the cloud",
	highlights: [
		{ title: "Cloud sessions", description: "…", icon: Cloud },
		// 3–4 total
	],
},

Import any new icons at the top of the file. The id is what the seen-tracking compares, so changing an existing entry's id would re-show it to everyone; changing its copy would not. Keep old entries in the array; they are harmless and document history.

  1. Verify.
cd apps/examples/desktop-app
bunx vitest run webview/lib/whats-new.test.ts --config vitest.config.ts   # ids unique, newest resolves
bun run typecheck

Then preview in the app. From apps/examples/desktop-app, start bun run dev:sidecar and bun run dev:web (or bun run dev for the native window), open Settings → About → "Show what's new", and check both themes (General → Dark mode). Confirm no description wraps past three lines at the default font size and the headline fits on one line at 560px. Also confirm the dialog appears on launch for a returning user: clear cline.code.whats-new.v1 from localStorage and reload.

  1. Ship it. The catch-up rides the next desktop release; nothing else is needed. Do not add a changelog bullet for the catch-up itself. If the user asks to release, hand off to the publish-desktop skill.

Gotchas

  • A catch-up shows to every existing user on their first launch after the release that carries it, including users who updated through several releases. Write for someone who has not seen anything since the previous catch-up, not just the last release.
  • Do not tie an entry to a specific version number in copy; the entry usually spans several.
  • WHATS_NEW_RELEASES[0] must be the newest entry. whats-new.test.ts checks id uniqueness but cannot know the intended order.
  • Cline Beta shares this content with stable; a catch-up added on main reaches beta on the next merge.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

cline-sdk

FreeSummary

Build AI agents with Cline SDK using guidance on choosing APIs, adding custom tools, saving sessions, and handling live events. References also cover model providers, scheduled runs, multi-agent coordination, and production deployment.

  • Build an AI agent with custom tools
  • Choose an API for persistent sessions
  • Configure model providers and live event handling
cline/cline70.5KUpdated Oct 18, 2026

Create a GitHub pull request that follows the project's template. Review commits and changed files, gather issue and testing details, check branch readiness, and use the GitHub CLI to submit a regular or draft request.

  • Submitting completed changes for review
  • Writing a PR description from commits
  • Creating a draft pull request
cline/cline70.5KUpdated Oct 18, 2026

opentui

FreeSummary

Build interactive terminal screens with OpenTUI using its core API, React, or Solid. Guides framework selection, components, layout, keyboard input, animations, and testing, with references for project setup and troubleshooting.

  • Starting an OpenTUI project with React or Solid
  • Building terminal forms and selection menus
  • Adapting layouts to terminal dimensions
cline/cline70.5KUpdated Oct 18, 2026

publish-cli

FreeSummary

Prepare Cline CLI releases for npm, the package registry, by reviewing SDK changes, drafting release notes, updating versions and changelogs, and creating release tags. Guides checks and publication through GitHub Actions or an authenticated local machine.

  • Drafting CLI release notes from relevant changes
  • Updating the CLI version and changelog
  • Publishing a tagged release through GitHub Actions
cline/cline70.5KUpdated Oct 18, 2026

publish-desktop

FreeSummary

Prepare Cline desktop releases for stable, beta, or nightly testing. Coordinate release notes, matching version files, tags, and a GitHub Actions workflow that builds signed installers and manages automatic update feeds for release channels.

  • Preparing a stable desktop release
  • Publishing a beta alongside the stable app
  • Creating signed nightly test installers
cline/cline70.5KUpdated Oct 18, 2026

Prepare and publish releases of the Cline VS Code extension. Follow separate paths for stable, nightly, and emergency legacy releases, covering version selection, release notes, approval steps, packaged builds, and checks after publication.

  • Preparing a stable extension release
  • Creating a manual nightly build
  • Publishing an emergency legacy hotfix
cline/cline70.5KUpdated Oct 18, 2026

See all skills by cline

Report a problem with this skill