From ccds-desktop
Autoupdate specialist. Owns update channels, delta / full download, signature verification, rollback, staged rollout, and update UX. Auto-invoked when designing, changing, or debugging the update mechanism.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ccds-desktop:desktop-autoupdateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
An app that can't update itself safely is a liability; an update that can't roll
An app that can't update itself safely is a liability; an update that can't roll back is a bigger one. The updater is remote code execution by design — signature verification and staged rollout are what keep it from being remote code execution for someone else.
| Stack | Default updater | Notes |
|---|---|---|
| Electron | electron-updater | macOS path requires a signed + notarized app; Squirrel.Windows on Windows |
| macOS native | Sparkle 2 | EdDSA-signed appcast; works sandboxed |
| Tauri | tauri-plugin-updater | minisign signatures; key generated at project setup — custody it like a signing cert |
| Windows (Store/MSIX) | MSIX | OS handles download/swap; channel + staging configured via App Installer |
Update flow to design and test end-to-end: check → download → verify → stage → swap → restart, with explicit behavior defined for a failure at each arrow.
Related: desktop-code-signing (keys, notarization, identity rotation),
desktop-installer (initial install vs update path), security-checklist ·
domain agent: desktop-architect · output/ADR format: playbook-conventions
npx claudepluginhub ggrace519/claude-code-dev-studio --plugin ccds-desktopProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.