Deploy - trigger Build & Release
SkillCloud & infraTrigger the claude-desktop-extra Build & Release GitHub Actions pipeline (build-and-release.yml). With no argument the skill inspects the changes since the last release and decides force_rebuild itself; "/deploy force" / "/deploy no-force" override.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Deploy - trigger Build & Release skill
What this skill tells your AI
The instructions your AI receives, as published by patrickjaja/claude-desktop-extra in .claude/skills/deploy/SKILL.md and read by ahel’s review.
Args: $ARGUMENTS (force / no-force override the auto-decision; empty = decide automatically).
Context
- Repo:
patrickjaja/claude-desktop-extra· Workflow:build-and-release.yml· default branch:master. - Current branch: !
git branch --show-current - Tracked upstream version: !
cat .upstream-version 2>/dev/null - Last release: !
gh -R patrickjaja/claude-desktop-extra release list --limit 1 2>/dev/null || echo "(gh not ready)" - Recent runs: !
gh -R patrickjaja/claude-desktop-extra run list --workflow=build-and-release.yml --limit 3 2>/dev/null || echo "(gh not ready)"
Versioning semantics (format: {upstream}-{pkgrel})
- New upstream version (
.upstream-versionwas bumped by/update): pkgrel resets to 1 automatically. This is the plain non-force run. - Re-release at the same upstream version: pkgrel auto-increments (CI counts existing releases). This needs
force_rebuild=true. It does not matter whether the change was a patch (new patched payload) or packaging-only (launcher, .desktop, packaging scripts) - both simply bump pkgrel; the kind of change belongs in the CHANGELOG entry and the release notes, not in the version. - pkgrel is never chosen by hand. CI computes it (counts existing releases) and, after publishing, stamps it into
packaging/nix/package.nixalongsideversionand the tarballhash- Nix consumers fetch from the release's own immutable tag (v<upstream>for pkgrel 1,v<upstream>-<pkgrel>otherwise; assets are never overwritten, issue #214). The pkgrel/hash literals in package.nix are CI-managed; never edit them manually.
Steps
- Resolve the last release tag (from the Last release context above;
v<upstream>orv<upstream>-<pkgrel>). - Decide FORCE (skip if
$ARGUMENTSsaysforceorno-force- explicit wins):- If
.upstream-versionon HEAD differs from the upstream part of the last release tag → FORCE=false (new-upstream release, pkgrel resets to 1). - Else look at what changed:
git fetch --tags originthengit diff --name-only <last-tag>..origin/master. Classify:- any
patches/orjs/file → payload update → FORCE=true - else any
scripts/,packaging/,PKGBUILD.template,*.install,flake.nix,.github/workflows/file → packaging-only update → FORCE=true - else (docs/site/skills/CHANGELOG/baseline only) → STOP: nothing shippable changed; tell the user a release would publish identical packages and ask if they really want
/deploy force.
- any
- If
- Print a one-line plan including the classification, e.g. "Triggering build-and-release.yml on
master(force_rebuild=true - packaging-only update, pkgrel will bump)". Mention the classification so the CHANGELOG/release notes wording can say "payload update" vs "packaging-only". - Fire it (no interactive confirmation - the user already typed /deploy):
gh -R patrickjaja/claude-desktop-extra workflow run build-and-release.yml -f force_rebuild=<FORCE> - Wait ~3s, then resolve the run and report its URL:
Report the run URL and status. Offer: "Watch withgh -R patrickjaja/claude-desktop-extra run list --workflow=build-and-release.yml --limit 1 \ --json databaseId,url,status,event,createdAtgh -R patrickjaja/claude-desktop-extra run watch <id>".
Notes
- Do NOT bump versions or edit files here - this only triggers the pipeline. Version/patch work belongs in
/update. - If the diff shows BOTH a new
.upstream-versionand other changes, the non-force new-upstream run covers everything (the release builds from the committed tree). - If
gh workflow runerrors with "Workflow does not have 'workflow_dispatch'" it's a permissions/branch issue - confirm the workflow file onmasterstill declaresworkflow_dispatch.
Signals
- GitHub stars
- 622
- Forks
- 39
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
deploy-patrickjaja- Source
- github.com/patrickjaja/claude-desktop-extra