Skip to content
cccskills
FreePublished on GitHub

fresh-upstream

For claude-desktop-extra - wipe any existing extracted Claude Desktop bundles and extract a fresh, CLEAN, UNPATCHED copy of the latest official Claude Desktop Linux .deb into ./tmp/ for patch analysis. Fetches + GPG/SHA256-verifies the latest .deb if missing or stale, then extracts app.asar via asar (NOT the build script, which applies patches).

The English summary is being prepared. Showing the original description.

patrickjaja/claude-desktop-extra696 stars(GitHub 696 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md3.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Fresh upstream extract (clean, unpatched)

Goal: a pristine unpatched bundle in ./tmp/ so patch work compares against the true upstream. Run from the repo root. ./tmp/ is gitignored.

Critical: scripts/build-patched-tarball.sh runs apply_patches.py - its output is PATCHED. For a clean baseline use the manual fetch + asar flow below.

Steps

  1. cd to the repo and read tracked version:

    cd "$(git rev-parse --show-toplevel)"
    cat .upstream-version
    
  2. Resolve latest upstream version (GPG + SHA256-verified via the canonical fetcher):

    LATEST_VERSION=$(.github/scripts/apt-fetch-verify.sh poll)
    echo "upstream latest: $LATEST_VERSION"
    

    Report latest vs .upstream-version so the user sees whether this is a new version.

  3. Download + verify the official .deb if missing or stale. apt-fetch-verify.sh download resolves the highest amd64 version, downloads the .deb into ./tmp/, and verifies its SHA256 against the signed Packages index (which is itself verified against the GPG-signed Release):

    mkdir -p ./tmp
    DEB=$(.github/scripts/apt-fetch-verify.sh download amd64 ./tmp)
    echo "verified .deb: $DEB"
    

    (~150MB.) If the download or verification fails, stop and report - do NOT trust an unverified .deb.

  4. Wipe old extracted bundles (project-local only - never touch ~/.config/Claude):

    rm -rf ./tmp/extract ./tmp/app.asar.contents ./extract ./build/work 2>/dev/null || true
    

    Leave the freshly downloaded ./tmp/claude-desktop_*_amd64.deb in place and leave ./build/ packages alone unless the user asked for a full clean.

  5. Extract clean, unpatched to ./tmp/. Crack the .deb (dpkg-deb -x, or ar + tar if dpkg-deb is unavailable), then asar extract the app.asar:

    dpkg-deb -x "$DEB" ./tmp/extract
    asar extract ./tmp/extract/usr/lib/claude-desktop/resources/app.asar ./tmp/app.asar.contents
    
    • Unpatched main bundle: ./tmp/app.asar.contents/.vite/build/index.js
    • Renderer bundles: ./tmp/app.asar.contents/.vite/renderer/*/assets/*.js
    • ion-dist (3P-config SPA): ./tmp/extract/usr/lib/claude-desktop/resources/ion-dist/
    • i18n: ./tmp/extract/usr/lib/claude-desktop/resources/*.json
  6. Sanity check and report:

    node --check ./tmp/app.asar.contents/.vite/build/index.js && echo "OK: clean unpatched index.js parses"
    ls -la ./tmp/app.asar.contents/.vite/build/
    

    Report: upstream version extracted, where the unpatched index.js is, whether it's a new version vs .upstream-version. If new, suggest /update. If just refreshing for analysis, suggest /audit.

Notes

  • This does NOT patch, build, or bump anything - it only stages a clean bundle.
  • Distinguish "clean unpatched" (this skill, manual .deb crack + asar) from "patched build" (./scripts/build-local.sh).
  • The official .deb bundles Electron 42.5.1 and prebuilt node-pty for both arches - we do not self-manage either.
  • Stale extracts have different minified names → always re-extract before patch debugging if ./tmp is older than today.

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

3p

Free

Reference for the 3p / enterprise / inference-gateway deployment of Claude Desktop on Linux - how /etc/claude-desktop/managed-settings.json is read, what "3p mode" changes (separate ~/.config/Claude-3p userData, hidden Chat tab, the false VM-download banner), how Cowork still runs under it, which hardcoded paths are safe vs split under the -3p switch, and how to verify it all from logs. Use when working on managed-settings.json, inferenceProvider/gateway/Bedrock/Vertex configs, the 3p setup SPA (ion-dist), the Claude-3p directory, or debugging managed-deployment Cowork.

The English summary is being prepared. Showing the original description.

patrickjaja/claude-desktop-extra696Updated Oct 26, 2026

Explains the purpose, features, and architecture of claude-desktop-extra - which repackages Anthropic's official Claude Desktop Linux .deb for Arch/Fedora/RHEL/Nix/AppImage and layers Linux-only extras (Computer Use, themes, multi-profile, Quick Entry) on top via surgical JS patches. Use when onboarding, writing docs/READMEs, explaining what the project does, or reasoning about how the official build and our patches fit together.

The English summary is being prepared. Showing the original description.

patrickjaja/claude-desktop-extra696Updated Oct 26, 2026

audit

Free

Full review of the claude-desktop-extra project - patches vs the official Linux .deb (still needed? new ones needed? did the surrounding code change?), docs accuracy, Linux compatibility across the distro/session matrix, and runtime logs. Orchestrates a team of sub-agents and produces a consolidated report with solution approaches.

The English summary is being prepared. Showing the original description.

patrickjaja/claude-desktop-extra696Updated Oct 26, 2026

Take one or more claude-desktop-extra GitHub bug reports from triage to a shipped fix - read, classify ours vs upstream, reproduce without touching the user's running app, spec with the maintainer, implement and review in parallel, verify live, commit, release, and close the loop with the reporter. Self-improving - every run ends by folding what it learned back into this file. Invoke as "/check-issue <issue numbers or URLs>".

The English summary is being prepared. Showing the original description.

patrickjaja/claude-desktop-extra696Updated Oct 26, 2026

Draft (and after approval, post) a reply on a claude-desktop-extra GitHub issue in this project's house voice - short, factual, friendly, no self-blame and no speculation - ending in one copy-pasteable command block that asks the reporter for the evidence we still need. Invoke as "/comment <issue number>".

The English summary is being prepared. Showing the original description.

patrickjaja/claude-desktop-extra696Updated Oct 26, 2026

debug

Free

Debug a problem in claude-desktop-extra by pulling the right local evidence - the most recent local-agent-mode session transcript (your last prompt + the model's tool calls/errors) and the Claude Desktop logs - and asking you for anything else worth collecting for the specific issue. Invoke as "/debug <short description of what's broken>".

The English summary is being prepared. Showing the original description.

patrickjaja/claude-desktop-extra696Updated Oct 26, 2026

See all skills by patrickjaja

Report a problem with this skill