| name | factory-sync |
| description | Update the local Factory submodule pointer to latest factory/main through a small PR before running Factory-backed skills. |
| disable-model-invocation | true |
Factory Sync
Update this repository's factory submodule to the latest factory/main commit
through an auditable PR.
Use this skill before a Factory-backed wrapper skill when the user wants the
latest shared skill behavior.
Workflow
- Verify the current repo has a clean worktree.
- Sync the default branch:
git fetch origin main
git checkout main
git pull --ff-only origin main
- Reset the dedicated sync branch from current
main:
git checkout -B codex/update-factory-submodule main
- do not reuse prior
codex/update-factory-submodule history
- Update Factory:
git submodule update --init factory
git submodule update --remote factory
- If
git status --short factory .gitmodules is empty:
- report
factory already at latest main
- return the current
git -C factory rev-parse HEAD
- do not create a PR
- If the submodule pointer changed:
- ensure only
factory and optionally .gitmodules changed
git add factory .gitmodules
git commit -m "chore: update factory submodule"
git push --force-with-lease -u origin codex/update-factory-submodule
- create a PR against
main
- merge the PR immediately without polling, waiting for, or inspecting PR CI
- do not bypass branch protection or unresolved-review requirements
- if branch protection blocks only because required checks are pending, enable
auto-merge when available or wait for the protected merge gate to clear
without inspecting CI logs
- if GitHub blocks merge for failed checks, unresolved review, permissions, or
policy, report the blocker and stop before post-merge steps
- do not delete the branch
- Sync local
main after merge and monitor post-merge CI.
- If post-merge CI fails and the failure is repo-fixable, run a bounded hotfix
loop from updated
main; stop for external, policy, safety, timeout, or
no-progress blockers.
- Return the merged Factory commit.
Safety Rules
- Do not edit files inside
factory.
- Do not run product implementation work in this skill.
- Do not hide unrelated dirty files; stop and report them.
- Use
--force-with-lease only for the dedicated sync branch after resetting it
from current main; stop if the lease fails.
- Do not inspect PR CI for the submodule-pointer-only PR; only wait when
branch protection requires pending checks to clear before GitHub allows merge.
- Use machine-readable command output when useful, for example
wrkr scan --json,
axym collect --dry-run --json, or gait doctor --json depending on the active repo.
Output
- synced Factory commit SHA
- PR URL or
already up to date
- merge SHA when a PR was merged
- post-merge CI status and hotfix PRs when used
- next suggested command, such as
Use $adhoc-plan ...