Skip to content
Back to skills

Desktop Packaging

ASecurity

"Build and troubleshoot MineContext desktop packaging, including

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
developmentjavascriptpythonjavabashnodefastapiapifrontendbackend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill desktop-packaging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Desktop Packaging?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Desktop Packaging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-desktop-packaging/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-desktop-packaging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: desktop-packaging
description: "Build and troubleshoot MineContext desktop packaging, including
  the PyInstaller backend, Electron packages, frontend backend copy, and macOS
  helper binaries."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# desktop-packaging

Use this sub-skill when a task asks to build or troubleshoot the MineContext
standalone desktop application: the PyInstaller `opencontext` backend
executable, copying that backend into `frontend/backend/`, Electron packaging
from the `frontend/` package, macOS helper binaries, signing/notarization
preflight, or failures in the build scripts.

Route backend server startup, FastAPI routes, runtime configuration, and
`opencontext start` behavior to [runtime-service](../runtime-service/SKILL.md)
instead of diagnosing them here. This sub-skill only owns build/package
mechanics and package-time file placement.

## Natural triggers

Use this sub-skill for requests that mention:

- "build MineContext app", `pnpm build:mac`, `pnpm build:win`, `pnpm build:linux`, or Electron packaging;
- "build backend", `build.sh`, `build.bat`, `PyInstaller`, or `opencontext.spec`;
- `copy-prebuilt-backend`, missing `frontend/backend/main`, missing `dist/main/main`, or backend executable copy failures;
- `window_inspector`, `window_capture`, Quartz, macOS helper binaries, screen helper build skips, or helper `dist/` outputs;
- signing, notarization, Gatekeeper, keychain, `electron-builder`, frozen-lockfile failures, or build script failures.

## First checks

1. Confirm the agent is operating from a MineContext checkout or has a repo root
   path. Package scripts expect a root containing `opencontext.spec`,
   `hook-opencontext.py`, `build.sh`, and `frontend/package.json`.
2. Run the bundled preflight before any mutating build:

   ```bash
   bash path/to/desktop-packaging/scripts/check_packaging_env.sh --repo-root .
   ```

   [scripts/check_packaging_env.sh](scripts/check_packaging_env.sh) reports
   Python, uv, Node, pnpm, platform, required packaging files, helper-binary
   paths, and backend-copy readiness without installing anything.
3. If the task is only to produce the backend executable, use the safer backend
   wrapper and explicitly acknowledge its mutation of build outputs:

   ```bash
   bash path/to/desktop-packaging/scripts/build_backend.sh --repo-root . --yes
   ```

   [scripts/build_backend.sh](scripts/build_backend.sh) wraps the repo backend
   PyInstaller build, verifies `dist/main/main` or `dist/main/main.exe`, and can
   optionally copy the built backend into `frontend/backend/`.
4. If the task needs packaged app artifacts, read
   [references/build-and-package.md](references/build-and-package.md) for the
   exact backend, dependency, frontend copy, and Electron command sequence.
5. If the failure involves `window_inspector`, `window_capture`, Quartz, or a
   non-macOS helper skip, read
   [references/helper-binaries.md](references/helper-binaries.md).
6. If a command failed, map the symptom in
   [references/troubleshooting.md](references/troubleshooting.md) before
   reinstalling dependencies or deleting outputs.

## Build ownership map

| Surface | Owned here | Key expectation |
| --- | --- | --- |
| Backend executable | Yes | Root `build.sh`/`build.bat` invoke PyInstaller with `opencontext.spec` and produce `dist/main/main` or `dist/main/main.exe`. |
| Frontend backend copy | Yes | `frontend/scripts/copy-prebuilt-backend.js` deletes and recreates `frontend/backend/` from root `dist/main/` plus `dist/config/`. |
| Electron package | Yes | Run package scripts from `frontend/`, not the root `package.json`. macOS/Windows package scripts copy the backend first; Linux currently requires an explicit backend copy before packaging. |
| macOS helpers | Yes | `window_inspector` and `window_capture` are Quartz/PyObjC helpers copied into the macOS app as `bin/window_inspector` and `bin/window_capture`. |
| Server behavior | No | Route CLI flags, FastAPI health/API behavior, backend logs at runtime, and config semantics to [runtime-service](../runtime-service/SKILL.md). |

## Safe operating rules

- Treat `build.sh`, `build.bat`, `pnpm run build*`, `electron-builder`, and
  backend copy commands as mutating. They may delete or recreate root `dist/`,
  root `build/`, `frontend/dist/`, and `frontend/backend/`.
- Do not run release/publish commands or signing/notarization flows by default.
  Packaging can be tested unsigned; signed release builds require the user's
  explicit credential setup and approval.
- Do not fix `copy-prebuilt-backend` failures by reinstalling frontend
  dependencies first. Check whether the root backend executable exists.
- On Linux or Windows, a skipped `window_inspector`/`window_capture` build is
  expected for the JavaScript helper build path because those helpers use macOS
  Quartz APIs.
- Keep runtime API/config/document-processing questions in
  [runtime-service](../runtime-service/SKILL.md); use this sub-skill only for
  package-time mechanics.

Files in this skill

  • SKILL.md4.9 KB
  • references/build-and-package.md8.6 KB
  • references/helper-binaries.md4.4 KB
  • references/troubleshooting.md6.8 KB
  • scripts/build_backend.sh4.5 KB
  • scripts/check_packaging_env.sh7.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.