planning-with-files@3.28.2
VERIFIED· install onlyPublisher claims: "Persistent planning files for multi-step AI-agent work. Keeps task_plan.md, findings.md and progress.md on disk and restores selected project context through lifecycle hooks. Automatic recovery reads project files only; session-history access is explicit and optional." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-10 and scored it 86/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
| `npx skills add OthmanAdi/planning-with-files` (or ClawHub) | SKILL.md, scripts, templates only | No, follow the manual fallback below |Fix: Pin versions and sources; vendor anything fetched at install time.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.The mode is set by writing a `.mode` file next to the plan (`.planning/<id>/.mode`, or `./.mode` in legacy root mode). `init-session` writes it for you when you pass `--autonomous` or `--gated`.Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.4. Issue Claude Code's native `/loop <interval> <prompt>` (CC primitive, always available).Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.result = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.chmod =rw "${temp_file}" 2>/dev/null || trueFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.# permanently kill injection at this root over a plan that cannotFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# a copied project tree) would otherwise kill injection permanently with noFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# set -u is active: an unset IFS or PATH must not kill the hook.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# chmod intentionally changes st_mode. Freeze the directory object acrossFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.chmod 700 "$SNAP_ROOT" 2>/dev/null || :Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.# above already does it; a non-zero status would kill callers running underFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.# that operation, then use the post-chmod identity for every later check.Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.