openwork-notary
Store Apple notarization IDs in Keychain and notarize/staple OpenWork DMGs locally.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Store Apple notarization IDs in Keychain and notarize/staple OpenWork DMGs locally.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create and manage isolated git worktrees safely.
Opinionated workflow for submodule development + PRs + control-center pointer bumps.
Sync control-center master and update submodule pointers safely.
Require every OpenCode plugin to expose get_skills and get_version tools.
Use client.app.log() instead of console.log in OpenCode plugins
Guide for creating effective skills. Use when users want to create or update a skill that extends Claude with specialized knowledge, workflows, or tool integrations.
| name | openwork-notary |
| description | Store Apple notarization IDs in Keychain and notarize/staple OpenWork DMGs locally. |
A small helper skill for the OpenWork macOS release flow.
It stores the App Store Connect Issuer ID, API Key ID, and .p8 path in the macOS Keychain so you don’t have to keep hunting them.
Keychain locations used by OpenWork release skills:
com.differentai.openwork.notaryissuer-idkey-idkey-pathThese are used to sign updater artifacts (required for in-app updates).
com.differentai.openwork.updaterupdater-private-keyupdater-public-keysecurity add-generic-password -a issuer-id -s com.differentai.openwork.notary -w "<ISSUER_UUID>" -U
security add-generic-password -a key-id -s com.differentai.openwork.notary -w "<KEY_ID>" -U
security add-generic-password -a key-path -s com.differentai.openwork.notary -w "/path/to/AuthKey_<KEY_ID>.p8" -U
security find-generic-password -a issuer-id -s com.differentai.openwork.notary -w
security find-generic-password -a key-id -s com.differentai.openwork.notary -w
security find-generic-password -a key-path -s com.differentai.openwork.notary -w
APPLE_SIGNING_IDENTITY='Developer ID Application: Different AI inc. (F5DJWB4CCV)' \
pnpm -C vendor/openwork exec tauri build --bundles dmg
bun .opencode/skill/openwork-notary/first-call.ts
DMG_PATH="vendor/openwork/src-tauri/target/release/bundle/dmg/OpenWork_0.1.2_aarch64.dmg"
xcrun stapler staple "$DMG_PATH"
spctl --assess --type open --verbose=4 "$DMG_PATH"
The OpenWork release workflow expects a GitHub Actions secret:
TAURI_SIGNING_PRIVATE_KEYTo populate it from Keychain:
security find-generic-password -a updater-private-key -s com.differentai.openwork.updater -w
Then paste that value into the repo secret TAURI_SIGNING_PRIVATE_KEY.
Notes:
pubkey in vendor/openwork/src-tauri/tauri.conf.json to match.spctl saying Unnotarized Developer ID means signing is fine but notarization is missing.codesign ... code has no resources but signature indicates they must be present usually means the .app bundle got signed incorrectly (or was modified after signing).