From ccds-desktop
Code-signing and notarization specialist. Owns signing keys, certificates, platform signing (Authenticode, Apple notarization, Linux repos), and CI integration. Auto-invoked when setting up, debugging, or rotating signing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ccds-desktop:desktop-code-signingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
An unsigned desktop app is a security warning; a mis-signed one is the same plus
An unsigned desktop app is a security warning; a mis-signed one is the same plus panic. Key custody, timestamping, and rotation are ops work with hard external deadlines — certificates expire whether or not the runbook exists.
.pfx in CI.xcrun notarytool submit --wait, then staple the ticket
(xcrun stapler staple) so first launch passes Gatekeeper offline.| Platform | Artifacts | Mechanism | Sign with | Verify with |
|---|---|---|---|---|
| Windows | exe, dll, msi/msix | Authenticode (OV/EV) | signtool / AzureSignTool in CI | signtool verify /pa /v |
| macOS | .app, .pkg, .dmg | Developer ID + notarization | codesign → notarytool → stapler | codesign --verify --deep --strict; spctl -a -vv |
| Linux | deb, rpm, repo metadata | GPG | debsign / rpmsign; sign the repo metadata too | rpm -K; apt verifies via the repo keyring |
CI wiring checklist:
Related: desktop-autoupdate (identity pinning in updaters), desktop-installer
(what gets signed per package format), security-checklist (key custody) ·
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.