Use when updating this codex-app Linux port from the latest upstream Codex Mac DMG, preserving local Linux patches, installing the refreshed desktop app, and publishing the tag-driven Linux release artifacts.
70
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Use this skill only from /home/amwill/Applications/codex-app.
https://persistent.oaistatic.com/codex-app-prod/appcast.xml; current feeds
may provide a versioned Codex-darwin-arm64-<version>.zip rather than a DMG.https://persistent.oaistatic.com/codex-app-prod/appcast.xml.desktop/recovered/app-asar-extracted from the downloaded artifact's
Contents/Resources/app.asar using --app-asar, or from a DMG using
--dmg when the feed/source provides one.desktop/scripts/assemble-codex-runtime.mjs, especially:
showInactive() while the pet window is focused, or the pet reply
input can lose keyboard focus. On Linux the pet window must remain
focusable and treat an active reply editor as keyboard-interactive, so
keystrokes go to the pet instead of the previously focused app.[data-avatar-mascot="true"] target. Do not use Linux pointer passthrough
for the pet window; on this Electron/X11 path it prevents hover/click state
from reaching the pet, hiding reply controls and breaking drag.avatar-overlay-page-* bundle. Do not merge or replay old one-off
PR bundle edits over the current recovered bundle; keep this as a
first-class assembler patch.~/.local/opt/codex-desktop/<version>-<build> and repoint ~/.local/opt/codex-desktop/current.main, tag v<version>, and wait for .github/workflows/linux-release.yml to publish assets.Download and verify:
appcast.xml and use the first item as the newest arm64 release.Codex-darwin-arm64-<version>.zip.Info.plist
CFBundleShortVersionString/CFBundleVersion and app.asar hash.Refresh recovered bundle:
Codex.app/Contents/Resources/app.asar
and run desktop/scripts/refresh-recovered-from-dmg.mjs --app-asar <path-to-app.asar> --output ./recovered/app-asar-extracted from desktop.desktop/scripts/refresh-recovered-from-dmg.mjs --dmg ../Codex.dmg --output ./recovered/app-asar-extracted from desktop.desktop/package.json, desktop/package-lock.json, and tests that pin version/build metadata.Verify patch preservation:
node --check desktop/scripts/assemble-codex-runtime.mjsnpm test -- --runInBand tests/linux/recovered-bundle.red.test.tsnpm run test:linuxnpm run test:linux:codex-packageBuild and install:
desktop/scripts/build-codex-linux-runtime.mjs into desktop/out/Codex-linux-x64-codex-<version>-<build>.~/.local/opt/codex-desktop/<version>-<build>.~/.local/opt/codex-desktop/current.~/.local/share/applications/codex-desktop.desktop and
~/.config/autostart/codex-desktop.desktop launch through
/usr/bin/env ELECTRON_OZONE_PLATFORM_HINT=x11 ... --ozone-platform=x11.desktop/assets/linux/codex-deb.desktop.ejs,
desktop/assets/linux/codex-appimage.desktop, and the RPM maker's
desktopTemplate setting in desktop/forge.config.ts.Verify installed app:
readlink -f ~/.local/opt/codex-desktop/currentresources/app.asar package metadata and confirm version/build.app.asar for preserved Linux patch markers.--ozone-platform=x11; this is required before judging pet drag
or z-order behavior.Release when requested:
chore: refresh linux port to <version>.main.v<version>.codex-app-linux-x64-v<version>.AppImagecodex-app-linux-x64-v<version>.debcodex-app-linux-x64-v<version>.rpmcodex-app-linux-arm64-v<version>.debdesktop/tmp, and desktop/out are generated
inputs/outputs; do not commit them unless the repo policy changes.release not found immediately after tag push, watch the workflow. The release is created by the tag-driven workflow after artifacts publish.9f954c3
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.