Communityコーディング&開発github.com

OpenClaw Mac リリース

OpenClaw の macOS リリースにおける署名、公証 (notarization)、アプリケーションキャスト管理、アセットプロモーションの実行と復旧を行います。

OpenClaw Mac リリース とは?

この AI エージェントスキルは、OpenClaw の macOS リリースプロセス全体を自動化・管理するために設計されています。具体的には、コード署名、Apple による公証 (notarization)、アプリケーションキャスト (appcast) の更新、および安定版アセットのプロモーションといった作業を、復旧処理も含めて実行します。主な使用シナリオは、プライベートリポジトリ (openclaw/releases-private) での macOS 向けパッケージ作成前の事前検証 (preflight)、その検証結果に基づく本番公開 (publish)、そして万一の失敗からの復旧です。 このスキルは、Apple の App Store Connect API 認証情報を 1Password から安全に取得し、GitHub Secrets に設定するための手順を明確に定義しています。また、`xcrun notarytool` を使用した公証のサブミット、`notarytool history` による認証情報の事前確認、`--no-s3-acceleration` オプションの使用など、実際のトラブルシューティングに役立つ具体的なコマンドや注意点が含まれています。 対応プラットフォームは Claude Code, Cursor, Codex などの AI エージェントであり、macOS リリース担当者が手動で行っていた複雑でエラーが発生しやすい一連の作業を、再現性かつ安全に実行できるようにします。特に、古くなった認証キーによる 401 エラーの切り分け方法や、1Password セッション管理のベストプラクティスなど、実運用で役立つ詳細な知見が SKILL.md にまとめられています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-mac-release

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

OpenClaw Mac リリース は何をしますか?

$openclaw-release-maintainer、$openclaw-release-ci、$one-password を、安定版 macOS アセット、プライベート mac 事前検証、公証、アプリケーションキャストプロモーション、または mac リリース復旧が関わる場合に使用します。

認証情報

  • 正規の ASC アイテム: 保管庫 Molty、タイトル API Key - App Store Connect - Personal - Release。
  • フィールド: private_key_p8、key_id、issuer_id。
  • 現在既知の有効なキーID: AKVLXW849T。
  • レガシーミラー: 保管庫 Private、タイトル API Key - App Store Connect - Personal。古い参照用に同期を維持してください。
  • 古い/失効したキーの症状: xcrun notarytool submit が HTTP status code: 401. Unauthenticated で失敗する。
  • GitHub シークレットを設定する前に、xcrun notarytool history で候補の ASC 認証情報を検証してください。

1Password

  • $one-password を使用: すべての op 処理は単一の永続的な tmux セッション内で行い、出力はシークレットにしません。
  • Molty の読み取りには、~/.profile からの OP_SERVICE_ACCOUNT_TOKEN を優先します。
  • MOLTY_OP_SERVICE_ACCOUNT_TOKEN が有効であると仮定しないでください。以前に削除されたサービスアカウントを指していたことがあります。
  • サービストークンが失敗した場合は、ステータスのみのチェックを実行します: トークンの存在/長さと op whoami。トークンの値を表示しないでください。
  • デスクトップアプリの認証が必要だが Touch ID が利用できない場合は、手動の op account add --signin パスのために OP_BIOMETRIC_UNLOCK_ENABLED=false を設定します。

GitHub シークレット

対象プライベートリポジトリ環境: openclaw/releases-private、env mac-release。

ローカルの公証認証検証後にのみ設定:

  • APP_STORE_CONNECT_API_KEY_P8
  • APP_STORE_CONNECT_KEY_ID
  • APP_STORE_CONNECT_ISSUER_ID

これらを複数のソースから混在して更新しないでください。3 つの ASC フィールドすべてが同じ 1Password アイテムからのものでなければなりません。

ワークフローの形態

  • 公開リリースブランチは、安定版タグ/npm がすでに公開された後でも、mac のみのパッケージ修正を含む場合があります。
  • そのブランチバリエーションをビルドする際は、プライベート mac 事前検証/検証に source_ref=release/YYYY.M.D を使用します。
  • tag=vYYYY.M.D は元の安定版リリースコミットを指すように維持します。
  • 実際の mac 公開は以下を再利用する必要があります:
    • 同じタグ/ソース SHA に対する成功したプライベート mac 事前検証実行
    • 同じタグ/ソース SHA に対する成功したプライベート mac 検証実行
  • 事前検証のソース SHA がタグ SHA と異なる場合、検証も同じ source_ref を使用する必要があります。プロモーションは一致しない証明を拒否します。

公証

  • OpenClaw は scripts/notarize-mac-artifact.sh を使用します。
  • xcrun notarytool submit は --no-s3-acceleration を使用する必要があります。高速化アップロードは、notarytool history が成功していても誤解を招く 401 を表面化させる可能性があります。
  • 署名は成功するが公証がすぐに 401 で失敗する場合は、まず ASC キーの鮮度を確認してください。
  • キーファイル書き込み後、公証が数分間進行中のままの場合、それは通常の Apple 待機時間です。盲目的に編集しないでください。

ディスパッチ

プライベート事前検証:

gh workflow run openclaw-macos-publish.yml --repo openclaw/releases-private --ref main \
  -f tag=vYYYY.M.D \
  -f source_ref=release/YYYY.M.D \
  -f preflight_only=true \
  -f smoke_test_only=false \
  -f allow_late_calver_recovery=false \
  -f public_release_branch=release/YYYY.M.D

ブランチバリエーション事前検証のためのプライベート検証:

gh workflow run openclaw-macos-validate.yml --repo openclaw/releases-private --ref main \
  -f tag=vYYYY.M.D \
  -f source_ref=release/YYYY.M.D

実際の公開:

gh workflow run openclaw-macos-publish.yml --repo openclaw/releases-private --ref main \
  -f tag=vYYYY.M.D \
  -f preflight_only=false \
  -f smoke_test_only=false \
  -f preflight_run_id=<成功した事前検証実行ID> \
  -f validate_run_id=<成功した検証実行ID> \
  -f allow_late_calver_recovery=false \
  -f public_release_branch=release/YYYY.M.D

確認

  • gh release view vYYYY.M.D --repo openclaw/openclaw に zip、dmg、dSYM zip が表示され、draft でも prerelease でもないこと。
  • 公開 main の appcast.xml が OpenClaw-YYYY.M.D.zip を指していること。
  • アプリケーションキャストエントリに sparkle:version、sparkle:shortVersionString、長さ、および sparkle:edSignature が含まれていること。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

関連スキル