← ClaudeAtlas

aitk-sandbox-checklisted

Audits the current branch for skill or script edits that lack a matching sandbox scenario update. Reports per-item pairings, re-provisions changed scenarios, and prints the re-test command. Auto-trigger at ship time after editing `claude/skills/**/SKILL.md`, `scripts/**`, or `src/**` when the user signals end-of-feature ("ready to ship", "open PR", "before push", "wrap up", "ship it"). Do NOT auto-trigger on individual file edits mid-feature or on docs-only changes.
erclx/toolkit · ★ 1 · AI & Automation · score 74
Install: claude install-skill erclx/toolkit
# Sandbox check Manual guard after editing a plugin skill or a domain script. Reports whether each changed item has a paired scenario edit, re-provisions changed scenarios, and prints the re-test command for the user to launch. ## Guards - If the current branch is `main` or `master`, stop: `❌ On main. Checkout a feature branch first.` - If both `git diff "$(git merge-base main HEAD)" --name-only -- 'claude/skills/**/SKILL.md' '.claude/skills/**/SKILL.md'` and `git diff "$(git merge-base main HEAD)" --name-only -- 'scripts/**' 'src/**'` are empty, stop: `✅ No skill or script changes since main.` ## Step 1: collect changed files Run in parallel from the worktree root: ```bash git diff "$(git merge-base main HEAD)" --name-only -- 'claude/skills/**/SKILL.md' '.claude/skills/**/SKILL.md' ``` ```bash git diff "$(git merge-base main HEAD)" --name-only -- 'scripts/**' 'src/**' ``` ```bash git diff "$(git merge-base main HEAD)" --name-only -- 'scripts/sandbox/**/*.sh' ``` ```bash pwd ``` The first list is the changed skills, both plugin (`claude/skills/`) and internal (`.claude/skills/`). The second list is the changed scripts (`scripts/`, `src/`). The third is the changed sandbox scenarios. The fourth is the current root, whether that is main or a linked worktree. `.sandbox/` lives under whichever root ran `manage-sandbox.sh`, because the script resolves `PROJECT_ROOT` from its own path. Drop any path in the script list that already appears in the scenario list. Scenario e