OpenClix Update
Purpose
openclix-update keeps an existing OpenClix integration aligned with the latest openclix-init template output.
It does not propose campaign operations; that remains the responsibility of openclix-update-campaigns.
Scope
- Detect OpenClix integration and platform context.
- Generate a sync plan that highlights drift, safe marker-based merge candidates, and conflict files.
- Apply updates only after explicit confirmation.
- Produce a human-readable and machine-readable report for review.
Hard Rules
- Default to preview mode.
- Do not modify target files unless
--applyis used.
- Do not modify target files unless
- Preserve existing
.openclix/**files unless the generated update path is explicitly selected. - Require backup before overwrite:
- existing target files are backed up to
.openclix/openclix-update/backups/<timestamp>/.
- existing target files are backed up to
- Do not auto-apply conflict files.
- Conflict entries (
status: "conflict") require--forcewhen runningapply_sync.sh --apply.
- Conflict entries (
- Fail-safe on unknown template/platform combinations.
- Do not mix campaign-update workflows in this skill.
- Prefer marker-based merges when both markers exist in the target file:
OPENCLIX_MANAGED_STARTOPENCLIX_MANAGED_END
- Do not auto-remove or rewrite user-managed sections outside managed markers.
Template / Schema Policy
- Baseline source-of-truth is
skills/openclix-init/templates/*. - Schema/reference changes are handled through
skills/openclix-init/references/openclix.schema.json. - When template files change in the plugin, re-run:
bash skills/openclix-update/scripts/detect_integration.sh --root <target-project-root>bash skills/openclix-update/scripts/plan_sync.sh --root <target-project-root>bash skills/openclix-update/scripts/apply_sync.sh --root <target-project-root> --plan <plan-file> --apply
Core Workflow
1) Detect integration
bash skills/openclix-update/scripts/detect_integration.sh --root <target-project-root>
2) Build sync plan
bash skills/openclix-update/scripts/plan_sync.sh \
--root <target-project-root> \
[--platform react-native|flutter|ios|android] \
[--target-root <platform-root>] \
[--plan <openclix-update-plan.json>]
Outputs:
.openclix/openclix-update/openclix-update-plan.json- Conflicts are listed in
conflictsfor explicit review.
3) Apply when approved
bash skills/openclix-update/scripts/apply_sync.sh \
--root <target-project-root> \
--plan <plan-file> \
--apply \
[--force]
Outputs:
.openclix/openclix-update/openclix-update-apply.json
4) Build report
bash skills/openclix-update/scripts/report.sh \
--plan <plan-file> \
[--apply <apply-file>] \
[--output <report.md-file>] \
[--json <report-json-file>]
Outputs:
openclix-update-report.mdopenclix-update-report.json
Inputs
--roottarget project root that already contains an OpenClix integration
Outputs
openclix-update-plan.jsonopenclix-update-apply.jsonopenclix-update-report.mdopenclix-update-report.json
Exit behavior
0success when script completed and wrote output.1validation or execution failure.2blocked by conflicts during non-force apply.