본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

openclaw-live-updater

macOS의 OpenClaw를 main 최신 상태로 업데이트하고 Gateway와 앱을 확인합니다. 자동 검사 실패 수정과 실제 배포 없는 전체 릴리스 검증도 수행합니다.

원문원문 설명 보기

Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation. Use for fast-forward update heartbeats, post-update runtime verification, attributable CI repair and repo-native landing, or non-publishing Full Release Validation of current main. Do not use on Linux systemd Gateways.

AI 평가90점/ 100설치 방법 보기

이럴 때 유용합니다

  • macOS의 OpenClaw를 업데이트합니다
  • 업데이트 후 Gateway와 앱을 확인합니다
  • 현재 main의 자동 검사 실패를 수정합니다
  • 배포 없이 전체 릴리스를 검증합니다

한국어 소개

할 수 있는 일

macOS에서 실행 중인 OpenClaw를 main 최신 상태로 업데이트하고 Gateway와 로컬 앱의 동작을 확인합니다. 지정된 운영용 소스를 이력 변경 없이 업데이트한 뒤, 해당 커밋의 빌드와 연결 상태, 재시작 후 로그를 검증합니다. CI라는 자동 검사에서 발생한 실패는 별도 작업 환경에서 수정하고 PR을 통해 반영합니다. 실제 배포 없는 전체 릴리스 검증도 수행합니다.

이럴 때 유용합니다

macOS의 OpenClaw를 지속적으로 업데이트하거나, 업데이트 후 Gateway와 앱이 정상 작동하는지 확인할 때 사용합니다. 현재 main의 테스트 실패를 조사하고 수정부터 재검증까지 진행해야 할 때도 유용합니다.

사용 예시

  • “지정한 운영 환경을 업데이트하고 Gateway와 앱의 동작을 확인해 주세요.”
  • “현재 main에서 전체 릴리스 검증을 수행하고 실패한 부분을 보고해 주세요.”

주의 사항

macOS LaunchAgent가 관리하는 Gateway가 대상이며 Linux systemd 환경에서는 사용할 수 없습니다. 운영용 소스는 미커밋 변경이 없는 main이어야 합니다. 수정과 검증에는 관련 스킬과 지정된 스크립트를 사용합니다. 릴리스 배포, 태그 생성, 버전 변경은 수행하지 않습니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호macOS 업데이트, 동작 확인, CI 수정을 대상으로 명시하고 Linux를 제외합니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호update-main.mjs 실행법, 빌드 산출물 대조와 실패 후 복구 조건이 구체적입니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호업데이트 전 검사, 실행 작업 중지 조건, 잠금과 파괴적 복구 금지를 명시합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족macOS와 소스 조건은 자세하지만 tsx 및 관련 스킬의 설치 절차는 없습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 19일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(3)

  • SKILL.md15.3 KB
  • agents/openai.yaml345 B
  • scripts/update-main.mjs128.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

OpenClaw Live Updater

Keep one operator-selected canonical live checkout as a read-only-to-the-agent deployment mirror: clean, standalone, full, on main, and fast-forwarded only. Make every repair in the controlling Codex project worktree.

Boundaries

  • Report only in the controlling Codex thread. Never send Slack, Discord, email, or other external messages.
  • Never release, tag, bump versions, publish npm, create a GitHub Release, rotate credentials, or weaken a gate.
  • Escalate only irreversible or materially risky security, privacy, auth, destructive migration/data-loss, protocol-version, credential-rotation, dependency patch/override, or product choices.
  • Diagnose ordinary update, runtime, app, CI, test, and release-validation failures; fix them through a focused PR; prove exact head; land with scripts/pr.
  • Never edit, stash, reset, clean, or create a branch in the live mirror.
  • Never use launchctl submit or create an ad-hoc KeepAlive job to run updates or Gateway lifecycle commands. A submitted job can relaunch openclaw gateway restart after every exit and cause a persistent restart storm, even without a plist (#114967).

Fast Update And Maintenance

  1. Run the deterministic updater and retain its JSON:

    cd "<canonical-live-checkout>"
    node --import tsx .agents/skills/openclaw-live-updater/scripts/update-main.mjs
    

    The helper owns the current working directory by default; it does not search parent directories or infer a clone from the user's home directory. From a controlling worktree, pass the canonical mirror explicitly with --checkout "<canonical-live-checkout>". Stop on any failed invariant. Do not repair the mirror destructively. The helper holds one checkout-scoped lock across update, build, Gateway proof, and Mac work. A concurrent heartbeat returns reason: "overlap"; it must not start another build. A dead owner lock may be recovered, but unreadable or unsafe lock state fails closed. Linux systemd managed Gateways are outside this helper. It refuses before Git mutation with unsupported_gateway_control_platform and leaves operators on the standard update CLI from openclaw-update.

  2. The helper verifies one unrewritten expected origin, an owned non-symlinked standalone/full clone, single worktree, clean main, fetches origin/main, rechecks for concurrent changes, and merges --ff-only. It then uses the source runner's canonical local-build metadata contract and parser: both dist/.buildstamp and dist/.runtime-postbuildstamp heads, required runtime-postbuild outputs, dist/entry.js, Control UI index plus referenced local assets, and dist/build-info.json must all match exact afterSha.

    • Every successful update sets actions.gatewayBuild and rebuilds exact new main before any restart.
    • Missing, invalid, or stale build output also forces a build, even when Git did not move.
    • A dependency-input change, absent node_modules, or missing/invalid build provenance requires pnpm install --frozen-lockfile. When a build is required, do not install before acquiring the maintenance suspension and stopping the managed Gateway.
    • Before mutating any entrypoint currently executed by the Gateway, invoke an exact trusted source CLI to acquire gateway.suspend.prepare, binding both prepare and resume to this checkout's managed LaunchAgent loopback port and service auth even when normal CLI configuration points at a remote Gateway. The LaunchAgent may execute either this checkout's dist/index.js or a clean detached canonical snapshot under ~/.openclaw/runtime/gateway-<sha> whose commit is an ancestor of the checkout; reject every other entrypoint. Never execute snapshot code: capture an exact source control build before the Git fast-forward for its prepare and failure-resume calls, preserve any validated generated service-environment wrapper, and stop the managed LaunchAgent with native launchd bootout. If that control build is missing, first accept native proof that the snapshot job is already booted out with its port free; when the isolated snapshot is still running, build the verified clean source checkout to obtain an exact suspension client, then use only that source client for prepare and failure-resume. Never use this recovery build while launchd targets the source checkout. This atomically pauses cron scheduling, closes new work admission, and refuses while active work remains. A busy result uses the existing maintenance-drain owner with this installation's exact trusted built control client and native service binding: close admission, allow a bounded drain, refuse pending write custody, and commit recovery-preserving shutdown through the serving Gateway before native bootout. Revalidate the maintenance lock, checkout head, service definition/environment, and resident PID through the drain; preserve the serving process target in the committed handoff. If the serving build only supports the legacy idle-only suspension schema, defer busy work to the next heartbeat. Never replace this fence with cron list polling or session cancellation. Once ready, stop directly without a source launcher, install frozen dependencies when required, then build unless the exact recovery build already produced the deployment artifact; source launchers can auto-build stale output before dispatching the stop. Every external phase has a wall-clock budget: Git fetch 5 minutes, Git merge 2 minutes, dependency install 15 minutes, Gateway build 20 minutes, service control 60 seconds, probes 30 seconds, and Mac rebuild 30 minutes. Progress output never extends a budget. A timeout must drain the task-owned process tree before rollback, previous-service bootstrap, lock release, or the final command_timeout JSON result. If POSIX cleanup cannot prove the process group gone, skip service recovery, retain the maintenance lock against that process group, and emit command_cleanup_failed; after an operator terminates the group, the next heartbeat reclaims the stale lock. Resume the suspension if stop fails. If suspension RPC is unavailable on macOS, proceed only when native inspection proves this checkout's managed LaunchAgent is booted out and its configured port has no listener; never accept a loaded KeepAlive job's transient stopped state. On non-macOS hosts refuse before Git mutation with unsupported_gateway_control_platform and leave operators on the standard update CLI. Never treat a Linux systemd Gateway as this helper's stop-proof path. This preserves retry after a post-stop failure without weakening the live-work fence. Preserve dist/OpenClaw.app outside dist for the build and restore it even when the build fails, because the JS build cleans dist regardless of Mac impact classification. Never mutate the live dist tree while an old Gateway can dynamically import from it. pnpm build must leave both canonical stamp heads and dist/build-info.json.commit equal to post-update afterSha; any missing/mismatched stamp or required artifact blocks restart.
    • Snapshot ownership validation must never invoke Git inside the snapshot. Treat its worktree, local Git configuration, filters, hooks, attributes, and build artifacts as untrusted; prove only that the regular owned LaunchAgent entrypoint is under the canonical detached ancestor snapshot path. Snapshot validation authorizes native bootout and retargeting only. Every CLI path must reject snapshot execution and use the trusted source checkout build instead.
    • Only after exact-SHA build proof may it restart the managed Gateway and require gateway status --deep --require-rpc --json plus health --verbose --json. A validated ancestor snapshot is suspension-only: prove the old launchd job is booted out with its port free, allowing bounded retries while launchd and the listener finish teardown, then atomically retarget only the owned LaunchAgent entrypoint to this checkout's exact dist/index.js, including on a retry where the build is already current. Replace the verified ProgramArguments array as one value; never use array-index plist mutation that can insert a duplicate argument. Preserve all other service arguments and environment unchanged. After restart, prove the loaded launchd PID owns the configured listener.
    • After every managed restart, query Gateway logs through RPC, restrict the audit to entries emitted since that restart began, report warning summaries, and fail the pass on any error/fatal entry. If RPC verification or log retrieval fails, still inspect the local structured log for that restart window. Never accept supervisor or RPC health without this restart-window log audit.

    Treat supervisor state alone as insufficient. If build or proof fails, leave the new mirror head intact and retry the stale/missing build on the next heartbeat; never run the old dist against new source.

    Keep the deterministic helper as the only update/restart owner: acquire its maintenance suspension fence, complete the update and exact-SHA build, restart the managed LaunchAgent through that helper, and verify with status and health. Leave only the managed Gateway LaunchAgent responsible for its lifecycle. gateway status and doctor report foreign ai.openclaw.* jobs; report any such job instead of creating another update job or manually removing a job whose ownership is uncertain. doctor --fix can remove confirmed stray lifecycle jobs when separately authorized; it is not a substitute for the suspension fence.

    Re-run the canonical freshness check immediately before every pnpm openclaw restart or probe so the source runner cannot hide stale output with an implicit auto-build. Every pass, including a no-update/current-build pass, must run deep RPC status and verbose health. If that first probe fails while the build is already exact-current, perform one managed Gateway restart and repeat both probes once. Do not rebuild a current exact-SHA artifact merely to self-heal the managed process; fail and diagnose if the one restart does not recover it.

  3. If changed paths can affect macOS, the helper runs scripts/restart-mac.sh --sign --wait --target-only with OPENCLAW_MAC_REUSE_BUILD=1 and SKIP_PNPM_INSTALL=1 only after the exact-SHA JS/UI build completes. Packaging requires canonical source/runtime freshness and preserves the existing build timestamp and ID; it refuses stale or mismatched artifacts without rewriting dist or dependencies. Reusing those artifacts keeps the live app bundle out of any later JavaScript build cleanup. Target-only mode may stop the canonical /Applications/OpenClaw.app process and this checkout's exact dist process before launching the rebuilt dist app. It defers when another worktree, temporary bundle, test, or agent-owned OpenClaw process is active; it never kills that process. The script's immediate OK is not proof. The helper waits and requires the exact executable <canonical-live-checkout>/dist/OpenClaw.app/Contents/MacOS/OpenClaw, derived from the verified checkout, then repeats Gateway RPC and health proof.

    Never kill another worktree, temporary bundle, test, or agent-owned OpenClaw process. If a foreign app prevents the exact target from staying alive, record the pending Mac attempt, report it, and retry on the next heartbeat. Escalate only after the conflict persists across repeated heartbeats; never claim Mac proof from another bundle or the short launch check. If actions.macUiVerification is true, exercise the changed behavior with the existing macOS/UI automation workflow after delayed exact-bundle proof.

  4. Load $openclaw-testing. Resolve exact current origin/main, then inspect only relevant required checks and workflow jobs whose headSha equals it. Ignore skipped jobs and routine noise such as Auto response, Labeler, docs agents, performance advisory jobs, and stale/cancelled runs superseded by a newer run for the same SHA.

  5. For an attributable failure, leave the mirror untouched. Use the controlling Codex worktree, trace the failed surface, add focused proof, run $autoreview, open a focused PR, and land through $openclaw-pr-maintainer's exact scripts/pr sequence. Never weaken or bypass the failing gate. After landing, begin again at step 1 so the mirror, Gateway, app classification, and exact-head checks all converge on new main.

If no update, build repair, pending Mac retry, or exact-head failure exists, report a terse no-op with the SHA and proof checked.

Full Release Validation

Load $release-openclaw-ci and $openclaw-testing. This is validation only, never release preparation or publication.

  1. Treat 12 hours as wall-clock cadence, not per-SHA cadence. Inspect Full Release Validation runs from the last 12 hours and verify effective release_profile=full, rerun_group=all, and expected child-job shape. Any valid active or successful full/all umbrella in that window satisfies the cadence even if main advanced afterward. Never duplicate an active full/all run. The scheduled Full Release Validation Nightly (every 3 hours at :07 UTC, stable profile, main-qualification) is additional stable-profile evidence and never satisfies this full/all cadence; when both target the same SHA, the full sweep still runs and may adopt the nightly's per-child receipts.

  2. Only when the cadence is due, confirm no full/all run is active, then snapshot exact current origin/main after checking mirror invariants and dispatch the trusted workflow once:

    MAIN_SHA="<exact-main-sha>"
    pnpm ci:full-release \
      -f validation_purpose=main-qualification \
      --sha "$MAIN_SHA" \
      --workflow-sha "$MAIN_SHA" \
      --trusted-workflow-ref main \
      -f provider=openai \
      -f mode=both \
      -f release_profile=full \
      -f rerun_group=all
    
  3. Let the helper watch the parent to terminal and verify its release evidence. Retain its parent URL and require the recorded target SHA and children to match the dispatch snapshot. Fetch logs only for failed or blocking jobs. Do not cancel unrelated release checks.

  4. For a code or harness failure, repair and land from the Codex worktree as above. Then invoke the same helper with a new frozen exact-main tuple and the narrowest supported rerun_group that covers the failed child; use live_suite_filter for one live/E2E shard. A targeted recovery run does not create a second full/all cadence dispatch.

  5. Report exact SHA, parent and child run URLs/IDs, conclusions, repairs and landed PRs, targeted reruns, and any genuine proof gap. Do not write release evidence or publish artifacts unless separately authorized.

Failure Discipline

  • Recheck live mirror invariants before every mutation and after every fetch.
  • Attribute failures from exact SHA, job, logs, and current source. Provider or infrastructure flakes need independent proof before code edits.
  • Keep the task branch focused. No CHANGELOG.md change.
  • Finish with the mirror clean/on main, the Codex worktree clean on the expected branch, remote Testbox stopped, and every public GitHub write linked in the controlling thread.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

1password

무료요약 있음AI 평가 100점

1Password 명령줄 도구의 설치와 인증을 확인하고 저장된 비밀번호와 API 키를 명령이나 설정에 전달합니다. 데스크톱 앱 연동과 서비스 계정도 지원합니다.

  • 1Password 명령줄 도구 설치
  • API 키를 명령에 전달
  • CI에서 서비스 계정 인증 사용
openclaw/openclaw39.2만2026년 10월 19일 업데이트

acp-router

무료요약 있음AI 평가 80점

OpenClaw에 전달한 자연어 요청을 Claude Code 같은 외부 코딩 에이전트로 연결합니다. ACP나 acpx로 작업을 시작하거나 이어가며 대화 맥락을 유지합니다.

  • 스레드에서 Claude Code 시작
  • 외부 에이전트의 기존 작업 계속
  • acpx로 직접 지시 전달
openclaw/openclaw39.2만2026년 10월 19일 업데이트

add-model-provider

무료요약 있음AI 평가 100점

OpenClaw에 모델 제공업체를 추가하고 실제 응답을 확인합니다. 인증 정보는 환경 변수나 파일 참조로 다루며 설정 검증과 결과 보고도 진행합니다.

  • OpenClaw에 모델 제공업체 추가하기
  • 인증 정보를 참조 방식으로 설정하기
  • 모델의 실제 응답 확인하기
openclaw/openclaw39.2만2026년 10월 19일 업데이트

agent-transcript

무료요약 있음AI 평가 90점

AI 에이전트의 작업 로그를 GitHub PR이나 이슈에 첨부할 기록으로 정리합니다. 관련 내용을 추리고 민감한 정보를 제거해 미리 보며, 별도 승인을 받아 게시합니다.

  • PR에 첨부할 에이전트 작업 기록 작성
  • 로컬 로그에서 관련 요청과 결과 추출
  • 민감한 정보를 제거한 기록 미리 보기
openclaw/openclaw39.2만2026년 10월 19일 업데이트

apple-notes

무료요약 있음AI 평가 100점

에이전트에서 macOS의 Apple Notes 메모를 생성, 검색, 편집, 삭제합니다. 폴더 간 이동과 HTML 또는 Markdown 내보내기도 지원합니다.

  • 제목을 지정해 메모를 만듭니다
  • 폴더 지정이나 유사 검색으로 메모를 찾습니다
  • 메모를 편집하고 폴더별로 정리합니다
openclaw/openclaw39.2만2026년 10월 19일 업데이트

apple-reminders

무료요약 있음AI 평가 70점

Mac에서 Apple Reminders의 기한이 있는 할 일을 확인하고 추가·편집합니다. 목록 관리와 완료·삭제를 통해 iPhone이나 iPad에서 보는 작업을 정리합니다.

  • 오늘 할 일과 기한이 지난 작업 확인
  • 기한이 있는 개인 할 일 추가
  • iPhone과 iPad에서 보는 작업 정리
openclaw/openclaw39.2만2026년 10월 19일 업데이트

openclaw의 스킬 모두 보기

이 스킬의 문제 신고