Install
$ agentstack add skill-giang6283623-minimal-vibe-coding-kit-path-sensitive-shell-safety ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Path-Sensitive Shell Safety
Use this skill before editing or reviewing shell, deploy, installer, cleanup, or repair logic that builds filesystem paths from variables or touches remote repositories.
Common triggers:
- Path variables such as
remote_base,repo_dir,repo_folder,target_dir,backup_dir,worktree,site,app, or user-entered folder names. - Destructive or path-sensitive commands:
rm,mv,cp -a,rsync --delete,find -delete,docker volume rm,git clean,git reset, checkout repair, clone replacement, or symlink-sensitive copy. - Git sync that decides which branch or remote checkout will be deployed.
Safety objective
No empty, unset, broad, symlinked, or unintended path may reach a destructive command. Validate values before joining paths, validate the joined path before use, and validate containment immediately before the command.
Required workflow
- Identify the command with the highest blast radius.
- List every variable that contributes to its path or repository target.
- Classify each variable:
- trusted constant;
- config value;
- remote/server value;
- user/operator input;
- derived path.
- Validate raw inputs before joining:
- required and non-empty;
- expected shape: absolute base path or safe single folder segment;
- no traversal, newlines, glob metacharacters, leading option dash, or control characters;
- explicit allowlist for server roots when possible.
- Join paths with quoted expansions only. Do not use
eval. - Canonicalize existing paths with physical resolution (
pwd -Porrealpath) before destructive work. - Assert containment:
- target is inside the approved base;
- target is not
/,.,..,$HOME, the base root itself, or another broad system directory; - target is not a symlink unless the operation explicitly supports symlinks.
- Put the final guard directly next to the dangerous command.
- Use command terminators and quoting:
-- "$path"where supported. - For Git sync, verify expected origin, selected branch policy, fetch success, clean worktree, fast-forward state, and final
HEAD == origin/before build/deploy. - Run the repo validation command and AgentShield probe when this changes agent surfaces or automation rules.
Required outcomes
- Prefer a recoverable delete (
trash) over permanentrmfor user files; permanent deletion requires explicit confirmation of the exact paths. Iftrashis missing, recommend installing it (macOS 14+ built-in; older macOSbrew install trash; Linuxsudo apt install trash-cli; any OS with Nodenpm i -g trash-cli). - A blank branch may follow the documented default-branch fallback policy.
- An explicit branch must fail if missing; never silently deploy another branch.
- A blank folder/base value must fail before any
rm,mv,cp,rsync,find, Docker, or Git cleanup command runs. - A repair flow may move an unusable checkout to a timestamped backup only after a verified replacement exists.
- No automatic cleanup should delete backups, locks, runtime data, uploads, volumes, databases, or environment files without separate explicit confirmation.
Review priority
Use reviewing-4p-priorities if triage is needed:
- P0: unsafe path command already caused data loss or can expose/delete secrets in the active environment.
- P1: unchecked empty/broad variable can reach destructive commands in deploy/repair/install paths.
- P2: guard exists but misses edge cases such as symlinks, traversal, explicit branch fallback, or wrong origin.
- P3/P4: documentation clarity or minor naming improvements after the safety invariant is already enforced.
Reference
Use references/workflow.md for copy-ready guard patterns and review checklist.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: giang6283623
- Source: giang6283623/minimal-vibe-coding-kit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.