agentleFS
badmoonrbadmoonr/loopilot/skills/loopilot-deployer/SKILL.md

loopilot-deployer

Skill1 starsChanged 27 days agoApache-2.0View on GitHub

Safely package, preflight, install, configure, upgrade, roll back, and uninstall the macOS LooPilot merchant skill bundle. Use for verified releases, BYOK or managed-session provider profiles, account configuration validation, runtime/launchd initialization, or authorized remote lifecycle changes. Never use it to authorize publishing, Feishu apply, cart additions, or ad spend.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 4 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use deterministic scripts for every lifecycle action.

    line 13
  2. Very specific:

    Run scripts/deployer.py preflight before any change.

    line 18
  3. Very specific:

    Use install, upgrade, rollback, or uninstall.

    line 20
  4. Very specific:

    Use configure-account to validate an account and write a redacted snapshot after authorization.

    line 22
  5. Very specific:

    Use initialize-runtime to create config/run/state/log roots, an owner-only workbench token, and a launchd plist.

    line 23
  6. Very specific:

    Run $loopilot-doctor after each applied change.

    line 24
  7. Distinctive:

    Keep the target host identifier anonymous and audit only hashes, counts, actions, results, and rollback points.

    line 30
  8. Very specific:

    Keep provider connectivity smoke separate from configuration because it performs a network request.

    line 34
  9. Very specific:

    Keep Ark credential requirements explicit: data_plane_api_key for model Provider calls and control_plane_sso_or_sts for Endpoint, Key, or …

    line 35
  10. Distinctive:

    Keep workbench and CDP endpoints on loopback.

    line 36
  11. Distinctive:

    Do not create remote access, long-lived credentials, or background services outside the declared launchd plan.

    line 37

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

LooPilot Deployer

正式独立运行时遵循任务方案、工作台登记与主动定位:主 Agent 登记真实任务并打开当前聊天对应详情;子阶段沿原任务,后台仅更新数据。此约定不扩大本 Skill 的业务权限。

视频创作与混剪默认发布闭包不包含中央适配器。必要记账/状态能力随 creative-runner 发布;只有需要旧 V1/V2 事务恢复或轻量救援说明时才通过现有 --skill 显式选入 loopilot-contract-adapter。本地包验证不等于安装完成,安装与生产操作仍需相应授权。

Use deterministic scripts for every lifecycle action. Read deployment-contract.md before changing an installed environment. Give the customer customer-operations-guide.md for day-two operation and remote-access revocation.

Workflow

  1. Run scripts/release_package.py verify for an existing package, or build from a clean skills source root. The default women’s-wear bundle must include viral-video-miner, video-content-understanding, video-script-learner and video-script-generator; a package that leaves any dependency to a pre-existing machine installation is incomplete. LP-082 sidecar 使用 --sidecar-source 加入锁定 commit、MIT LICENSE、hash lock 和双架构离线 wheelhouse;禁止复制第三方工作树。客户混剪专属包使用 release_package.py build --profile loopilot-remix-customer-v1,manifest 必须精确包含其 11 个直接/传递依赖 Skill;缺一项或夹带未声明 Skill 均拒绝。
  2. Run scripts/deployer.py preflight before any change. Treat a blocked required check as terminal.
  3. Prepare a time-limited loopilot-deployment-authorization-v1 file scoped to the target roots and exact action.
  4. Use install, upgrade, rollback, or uninstall. Never bypass manifest hash, backup, config-schema, Skill validate, parity, or audit gates.
  5. Ark 数据面使用 provider-profile-v3 + secret_ref:生产默认使用 owner_only_file + json_pointer,显式旧 Keychain 引用仍兼容,模型与参数来自独立授权后冻结的 Snapshot;预检只读校验 v3、Key 可用性、账号 scope、hash 和 lane,不读取 ArkCLI Profile/SSO,不调用控制面。managed auth 仅保留给 Codex harness 或显式控制面合同。
  6. Use configure-account to validate an account and write a redacted snapshot after authorization.
  7. Use initialize-runtime to create config/run/state/log roots, an owner-only workbench token, and a launchd plist. Use launchd separately; dry-run is the default.
  8. Run $loopilot-doctor after each applied change.
  9. For a real new Mac or first customer, run scripts/target_acceptance.py init on that target host, write only the required redacted JSON reports into its evidence/ directory, then run verify. Never treat lifecycle fixtures or evidence copied from another host as formal acceptance.

Safety boundaries

  • Require an unexpired authorization file for every mutation.
  • Keep the target host identifier anonymous and audit only hashes, counts, actions, results, and rollback points.
  • Preserve config, run, media, state, audits, and backups on uninstall.
  • 抖音 sidecar 的 cookies.json 位于版本目录外;install/upgrade/rollback/backup/uninstall 只能切换 active commit,禁止复制、覆盖或删除 cookies。
  • Permit deletion of user data only under a separate, explicit contract; this skill has no such command.
  • Keep provider connectivity smoke separate from configuration because it performs a network request; it is available only for BYOK secret_ref, never for managed login state.
  • Keep Ark credential requirements explicit: data_plane_api_key for model Provider calls and control_plane_sso_or_sts for Endpoint, Key, or Profile management. Never weaken a control-plane gate because the data-plane API Key is active.
  • Keep workbench and CDP endpoints on loopback.
  • Do not create remote access, long-lived credentials, or background services outside the declared launchd plan.

Commands

python3 scripts/release_package.py verify --release-root <release-root>
python3 scripts/deployer.py preflight --skills-root <skills-root> --config-root <config-root> --run-root <merchant-run-root> --state-root <merchant-state-root>
python3 scripts/deployer.py install --release-root <release-root> --install-root <codex-skills-root> --deployment-state-root <deployment-state-root> --config-root <config-root> --authorization-file <authorization.json>
python3 scripts/deployer.py upgrade --release-root <release-root> --install-root <codex-skills-root> --deployment-state-root <deployment-state-root> --config-root <config-root> --authorization-file <authorization.json>
python3 scripts/deployer.py validate-backup --backup-root <verified-backup> --output <acceptance-root>/evidence/backup-validation.json
python3 scripts/deployer.py rollback --backup-root <verified-backup> --install-root <codex-skills-root> --deployment-state-root <deployment-state-root> --config-root <config-root> --authorization-file <authorization.json>
python3 scripts/deployer.py enroll-ark-api-key --secret-ref '{"type":"owner_only_file","path":"/absolute/user-home/.config/loopilot/credentials.json","json_pointer":"/volcengine/ark/api_key"}' --credential-revision <revision>
python3 scripts/deployer.py freeze-ark-provider-snapshot --control-profile <control-profile> --base-url <data-plane-url> --region <region> --project-name <project> --model vision=<model-id> --snapshot-file <snapshot.json>
python3 scripts/deployer.py migrate-ark-provider --legacy-profile <legacy.json> --snapshot <snapshot.json> --profile-output <provider-v3.json> --volc-account-ref <opaque-account-ref> --environment production --allowed-account-key <account-key> --credential-revision <revision> --secret-ref '{"type":"owner_only_file","path":"/absolute/user-home/.config/loopilot/credentials.json","json_pointer":"/volcengine/ark/api_key"}'
python3 scripts/deployer.py uninstall --install-root <codex-skills-root> --deployment-state-root <deployment-state-root> --config-root <config-root> --authorization-file <authorization.json>
python3 scripts/target_acceptance.py init --acceptance-root <state-root>/acceptance --target-type new_macos --target-host-id <anonymous-host-id> --declared-by-role operator
python3 scripts/target_acceptance.py collect-womenswear --acceptance-root <state-root>/acceptance --workflow-run-dir <workflow-run-dir>
python3 scripts/target_acceptance.py collect-publish-dry-run --acceptance-root <state-root>/acceptance --summary <account-a-summary> --summary <account-b-summary>
python3 scripts/target_acceptance.py verify --acceptance-root <state-root>/acceptance

Return only the redacted JSON result and actionable blocked code. Do not print environment variables, provider response bodies, Cookie values, Keychain values, or secret-file content.

Copy deployment-authorization.json when preparing an authorization record; replace every placeholder and narrow allowed_actions to the current operation.

上述三个 Ark 配置命令默认 dry-run;enroll/freeze/migrate --apply 分别需要独立授权。install/upgrade 会在替换前停止 Ark lane,只有完整 release parity/readback 后才绑定 active manifest 并启用;失败或 rollback 后 lane 保持停止,等待前向修复。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.