Install
openclaw skills install safe-bootstrapperDeterministic setup and remediation helper for installed OpenClaw skills. Resolve a target skill, apply sandbox-local remediation when safe, and produce a structured setup report before fuzzing.
openclaw skills install safe-bootstrappersafe-bootstrapper prepares a target skill to become runnable before behavioral fuzzing begins.
Trigger surface:
/safe_bootstrapper/skill safe-bootstrapper ...Use it when:
safe-fuzzer/safe_bootstrapper target=<skill-name> [notes="<operator guidance>"]
Rules:
target is required. It must resolve from the current session's visible installed skills.notes is optional freeform guidance.Always execute the run in this order:
preflighttarget_resolutionbaseline_runremediation_loopsetup_reportBefore any action:
read, exec, and write availability.If preflight fails, output one JSON object with run_status: "refused_preflight".
target from the current session's visible skills.run_status: "invalid_request".false by default)SKILL.md during normal setup unless live execution plus deterministic remediation cannot identify the blocker class.Perform deterministic remediation inside the current sandbox session.
For each blocker:
.env / .env.localUse a bounded loop. Do not consume the whole run on setup churn. Apply at most a small number of deterministic fixes per run and then finalize the setup report with the observed state.
Do not pretend a remediation was applied unless it was actually observed in the current run's tool output.
Treat these as normal local setup categories:
ensure_git_repoensure_runtime (detection only unless already installed)ensure_env_fileensure_local_statererun_primary_commandTreat these as policy-gated or manual:
npm install, bun install, pip install)Only execute deterministic local setup inside the current sandbox when all of these are true:
Prefer explicit primitives over free-form shell. Safe examples:
git initmkdir -p .cachetouch .initialized.env.example to .env.env.local.example to .env.localnode, python3, npm, bun, or uv command only when the runtime is already present and the command stays sandbox-localNever execute:
curl, wget, remote install scripts, or any external downloadnpm install, bun install, pip install, uv sync, or equivalent dependency installationdocker, docker compose, or service bring-upgit add, git commit, or any VCS action that stages or records user changespython -c, node -e, or similar inline evaluatorsAfter the run completes, output one JSON object and nothing else.
Read {baseDir}/references/setup-report-schema.md before finalizing the response.
Required behavior:
summary must be the first field: a plain-language paragraph (2-4 sentences) stating whether the target is ready, what was tried, and what blocks progress. Write for a human reader who will not inspect the rest of the JSON.ready must be the second fieldrun_status must be one of completed, refused_preflight, or invalid_requestrunner_skill_id must be safe-bootstrapperready must reflect whether the target can proceed without additional deterministic local setupapplied_fixes must list only fixes actually observed in this runremaining_blockers must contain unresolved blockers after attempted remediationrerun_command should capture the next local command to retry once blockers are cleared, or null