
Sandbox Lifecycle Fastlane
- 2 installs
- 29 repo stars
- Updated March 27, 2026
- different-ai/openwork-hub
Preflight for OpenWork sandbox lifecycle work: sync pins, create a timestamped worktree, then run the Docker plus Chrome MCP verification path.
About
Provides a one-command preflight and worktree setup for OpenWork sandbox lifecycle tasks, then defers to the Docker plus Chrome MCP end-to-end flow. A developer uses it when a sandbox is stuck or when starting sandbox-lifecycle work.
- One-command preflight and worktree scripts
- Avoids accidental recursive submodule operations
Sandbox Lifecycle Fastlane by the numbers
- 2 all-time installs (skills.sh)
- Ranked #1,139 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/different-ai/openwork-hub --skill sandbox-lifecycle-fastlaneAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 29 |
| Last updated | March 27, 2026 |
| Repository | different-ai/openwork-hub ↗ |
What it does
Preflight for OpenWork sandbox lifecycle work: sync pins, create a timestamped worktree, then run the Docker plus Chrome MCP verification path.
Files
Quick Usage (Already Configured)
1) Preflight (sync + sanity checks)
skills/sandbox-lifecycle-fastlane/scripts/preflight.sh2) Create a worktree for this task
Recommended (uses a timestamped branch name):
skills/sandbox-lifecycle-fastlane/scripts/worktree.shOverride branch name/base:
BRANCH="sandbox-lifecycle" BASE_REF="origin/main" \
skills/sandbox-lifecycle-fastlane/scripts/worktree.sh3) Verify the real flow
Use the existing end-to-end skill:
skills/openwork-docker-chrome-mcp/SKILL.md
That flow is the source of truth for:
- starting the stack via
_repos/openwork/packaging/docker/dev-up.sh - verifying user flows via Chrome MCP
What This Skill Optimizes For
- Snappy setup: one command preflight, one command worktree.
- Reliability: avoid accidental recursive submodule operations unless explicitly requested.
- Debuggability: print the minimum git context that matters when sandboxes behave oddly (pin drift, dirty state).
Common Gotchas
- If a submodule is dirty,
git submodule updatemay refuse to move it. Stash changes inside that submodule repo. - If you do need recursive submodule checks, set
RECURSIVE=1inpreflight.sh.
# No configuration required.
.env
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../.." && pwd)"
cd "$ROOT_DIR"
RECURSIVE="${RECURSIVE:-0}"
echo "== sandbox-lifecycle-fastlane: preflight =="
date "+%Y-%m-%dT%H:%M:%S%z"
echo
echo "-- git status (root)"
git status --porcelain || true
echo
echo "-- sync root (no submodules)"
git pull --recurse-submodules=no
echo
echo "-- sync/update top-level submodules"
git submodule sync
git submodule update --init
echo
echo "-- submodule status (top-level)"
git submodule status
echo
if [[ "$RECURSIVE" == "1" ]]; then
echo "-- dirty state (recursive submodules)"
# This is best-effort; nested submodules may not be configured in every pinned repo.
git submodule foreach --recursive 'echo "--- $name ($path)"; git status --porcelain' || true
echo
fi
echo "-- openwork nested gitlinks sanity (best-effort)"
if [[ -d "_repos/openwork/.git" ]]; then
# If openwork contains gitlink entries (mode 160000) but does not track .gitmodules,
# recursive traversal can fail. This is informational; we avoid recursive operations by default.
if git -C _repos/openwork ls-files --stage | rg -q '^160000 '; then
if ! git -C _repos/openwork ls-tree -r HEAD --name-only | rg -q '^\.gitmodules$'; then
echo "note: _repos/openwork contains gitlink entries but no tracked .gitmodules; avoid recursive submodule ops there"
fi
fi
fi
echo
echo "ok: preflight complete"
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../.." && pwd)"
cd "$ROOT_DIR"
BASE_REF="${BASE_REF:-origin/main}"
BRANCH="${BRANCH:-sandbox-lifecycle-$(date +%Y%m%d-%H%M%S)}"
WT_DIR="${WT_DIR:-_worktrees/$BRANCH}"
echo "== sandbox-lifecycle-fastlane: worktree =="
echo "branch: $BRANCH"
echo "base ref: $BASE_REF"
echo "dir: $WT_DIR"
echo
mkdir -p "$(dirname "$WT_DIR")"
git fetch origin --prune
git worktree add -b "$BRANCH" "$WT_DIR" "$BASE_REF"
echo
echo "ok: worktree created"
echo "next: cd '$WT_DIR'"