⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

fix

@jasonwblock⭐ 0 stars

Bug path of the desktop SDLC. Reproduces a bug as a failing test on the OS where it occurs (locally or in CI), commits and locks that test, then fixes the code without touching it. Use for a bug with no design change, including crashes and platform-specific bugs.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐ 0 on GitHubGitHub ↗

New / niche

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

Desktop SDLC kit

The desktop-app version of the agentic SDLC kit, for a solo developer building a Windows and macOS desktop app with Claude Code.

It adds an app-level front end to the original per-feature loop. You say what to build in one of three ways:

You typeWhat happens
/define a habit tracker that lives in the trayInteractive definition. Up to 7 short multiple-choice rounds: purpose, shape, data, desktop integration, platforms, stack, and quality bars. Every question comes with a recommended default, and after round 2 you can accept the defaults for the rest.
/clone Microsoft PlannerTarget app clone. Claude researches the app from public sources (and your screenshots, if you add them) into a feature teardown T-n. You pick parity per area: MVP, Core only, Later or Drop. The interview then fills only the gaps.
/clone Microsoft Planner, but offline-first, with time tracking and no Teams dependencyClone with changes. As above, plus each change becomes a modification M-n mapped onto the teardown. Conflicts (for example offline-first versus real-time co-editing) come back to you as questions.

All three produce the same approved product/definition.md. Everything after that is shared.

The flow

/define ─┐
         ├──► product/definition.md ──► /prototype app ──► /roadmap ──► /scaffold (R-1)
/clone  ─┘        (D-n features)          (app shell)      (R-n backlog)   (walking skeleton, CI on Win + Mac)

per backlog item:  /intent R-n ──► /prototype ──► /spec ──► /build ──► /ship        ──► /release
                                   (if UI)                  │ verifier                   (signed installers,
bugs and crashes:  /triage ──► /fix ──► /ship              ▼                             draft release)
SkillStageWritesYour part
/defineDefineproduct/definition.md with D-n features, platforms and the stack decisionAnswer up to 7 rounds of ≤4 questions (or accept the defaults), approve
/cloneDefineproduct/reference/<target>/teardown.md (T-n, M-n), then continues into /definePick parity per area, resolve conflicts, approve
/roadmapPlanproduct/roadmap.md, and product/backlog.md (R-n items /intent can read)Approve the milestones
/scaffoldBuildThe walking skeleton: stack, main window, menus, data folder and migrations, commands, CI matrixApprove the plan; push for CI
/intentPlanwork/<date>-<slug>/intent.md, checked against the definitionAnswer ≤4 questions, approve
/prototypeDesignThe living desktop prototype (window chrome, menus, shortcuts, Win/Mac and light/dark switchers); a snapshot and screenshots per platformIterate, approve
/specDesignspec.md with platform-tagged AC-n [win|mac|both] and F-n flagsResolve the flags
/buildBuild + Testplan.md, the code and tests, and verify.md with a per-OS tableApprove the plan
/fixBugbug.md, a locked failing test (on the affected OS, or in CI), the fixRarely anything
/shipDeployThe PR, with CI-pending ACs resolved from the Windows/macOS matrix and its screenshotsReview and merge
/releaseReleaseA release PR, then (with your approval) a tag, signed and notarized installers, and a draft GitHub ReleaseMerge, approve the tag, run the smoke checklist, publish
/triageMaintainDraft intents and bugs from issues and crash reports, in one PRPick what to pursue

What's different from the web kit

  • An app-level definition before features. The web kit assumes the app exists and starts at /intent. Here, /define or /clone decides the whole app first, /roadmap turns it into a backlog, and /scaffold builds a skeleton that runs on every target OS. /intent flags any feature that departs from the definition.
  • The platform is part of every criterion. Acceptance criteria are tagged [both], [win] or [mac].
    • CLAUDE.md records which OSes run locally and which only in CI.
    • A local run never proves another OS's criterion: it stays CI-pending until /ship reads the CI matrix and its screenshot artifacts.
  • Desktop concerns are first-class:
    • windows, menus and shortcuts (Ctrl versus ⌘), and close-versus-quit;
    • single instance and window-state restore;
    • the platform data folder, and migrations from older installed versions (every schema change needs a test from the last released schema);
    • OS integration: notifications, tray, file types, deep links;
    • accessibility through Narrator, NVDA and VoiceOver;
    • the stack's security defaults (Electron's context isolation, Tauri's capabilities).
  • The prototype simulates a desktop. Menus are data, rendered as the macOS global menu bar or the Windows in-window menu bar. Native dialogs and notifications are labelled stubs, and screenshots are taken per platform and theme.
  • Releases are a stage. /release handles versioning, the changelog, a readiness check (CI on every OS, signing secrets present by name only, the updater, migrations), and signature checks on the outputs. It never publishes; you do, after the smoke checklist.
  • Stack-agnostic, with a recommendation. .claude/skills/scaffold/stacks.md has a decision table and per-stack notes:
    • Electron is the default, because Playwright can drive the real app on both OSes;
    • then Tauri 2, Avalonia, WinUI/WPF and Flutter;
    • plus notes on working from WSL (Windows runs mirrored to the Windows host via scripts/win-run.sh, and macOS through CI).

Clones: function, not identity

/clone rebuilds what an app does, under your own name, icon, colours and words.

  • It researches public sources only: docs, help centers, shortcut pages, release notes and reviews. It never logs in as you, scrapes behind authentication, or decompiles anything.
  • The teardown cites a source for every feature and marks each one documented, observed or inferred.
  • Importing the target's documented export formats and matching its shortcuts is allowed. Anything relying on undocumented formats becomes an open question for you.
  • /release checks the installer and the app for the target's trademarks.

This is engineering hygiene, not legal advice. For a commercial clone, have someone qualified look at the name and branding.

Shared with the web kit

issue.py (Linear, Jira, GitHub and local-file issues) is unchanged, the locks hook is the same, and so are the "Asking the user" conventions and the never-merge rule. Read the web kit's README for those details.

  • What's new in the hook: it also honours product/locks.txt, so an approved definition, teardown and app shell are protected.
  • The backlog: product/backlog.md uses the Markdown format issue.py already reads (## R-4: … plus a Status: line). A new app works without any tracker.

Install into a project

<this kit>/install.sh ~/code/my-desktop-app      # or run it with no argument and it asks

The installer copies the kit into the project's .claude/ and merges the hook into settings.json. It then writes a CLAUDE.md section that covers the product, the platform matrix (detecting Windows, macOS, Linux and WSL) and the commands, and adds REVIEW.md. For a new app, leave the commands as TBD: /scaffold fills them in. --yes accepts every default.

Don't install both kits into one project. They share skill names (/intent, /build, …), and the installer warns if the web kit is there.

Requirements:

  • python3, for the hook;
  • gh, signed in;
  • the toolchain for your stack;
  • for prototype screenshots, the Playwright MCP server or npx playwright;
  • macOS builds, signing and notarization need a Mac or the macos-latest CI runners, plus an Apple Developer Program membership to sign;
  • Windows signi

// HOW IT'S BUILT

KEY FILES

.claude/skills/fix/SKILL.mdREADME.md

// REPO STATS

0 stars