SAFE-Bootstrapper
by @agentsey
Deterministic setup and remediation helper for installed OpenClaw skills. Resolve a target skill, apply sandbox-local remediation when safe, and produce a st...
clawhub install safe-bootstrapperπ About This Skill
name: safe-bootstrapper description: Deterministic 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. user-invocable: true disable-model-invocation: true metadata: {"openclaw":{"skillKey":"safe-bootstrapper"}}
SAFE Bootstrapper
safe-bootstrapper prepares a target skill to become runnable before behavioral fuzzing begins.
Trigger surface:
/safe_bootstrapper/skill safe-bootstrapper ...Use it when:
safe-fuzzerInvocation
/safe_bootstrapper target= [notes=""]
Rules:
target is required. It must resolve from the current session's visible installed skills.notes is optional freeform guidance.High-Level Flow
Always execute the run in this order:
1. preflight
2. target_resolution
3. baseline_run
4. remediation_loop
5. setup_report
Preflight
Before any action:
1. Require a sandboxed runtime.
2. Require read, exec, and write availability.
3. Refuse if elevated exec is available.
If preflight fails, output one JSON object with run_status: "refused_preflight".
Target Resolution
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.Baseline Run
Remediation Loop
Perform deterministic remediation inside the current sandbox session.
For each blocker:
.env / .env.local
- missing local state directory
- required local rerun
Use 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.
Allowed Setup Classes
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)Safe Execution Rules
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 evaluatorsOutput Contract
After 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