vibe-mode — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited vibe-mode (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Sets and persists the execution mode for the entire vibe-* framework. One command. Affects every skill in the session.
vibe-mode: autonomous ← full auto-execution, subagents, auto-review
vibe-mode: manual ← default, waits for next and review: at each step
vibe-mode: status ← shows current mode and what it meanscat CLAUDE.md 2>/dev/null | grep "VIBE_MODE" || echo "NOT SET"If CLAUDE.md does not exist:
"No CLAUDE.md found — are you at the project root? Run this from inside a vibe-* project."
Stop.
Find the ## Execution mode section in CLAUDE.md. If it exists — update the VIBE_MODE line. If it doesn't exist — append the section.
## Execution mode
VIBE_MODE=autonomousThen confirm:
⚡ Autonomous mode activated.
What this means for this session:
Tasks — execute automatically, no "next" needed
Parallel — independent tasks spawn as subagents simultaneously
Sequential — dependent tasks run in order automatically
Review — runs automatically after each phase completes
P0 found — stops and waits for you to resolve
P1/P2 — logged to backlog, build continues
Deploy — always manual, no exceptions
To switch back: vibe-mode: manual## Execution mode
VIBE_MODE=manualConfirm:
✋ Manual mode activated.
What this means for this session:
Tasks — say "next" after each task
Parallel — asked once per session (y/n)
Review — run "review: phase N" manually after each phase
Deploy — manual
This is the default vibe-* behaviour.
To switch: vibe-mode: autonomousRead current VIBE_MODE from CLAUDE.md. Show:
Current mode: [autonomous | manual | not set (defaults to manual)]
[Show the relevant "what this means" block from above]
Switch with:
vibe-mode: autonomous
vibe-mode: manualEvery skill that executes tasks reads this at startup:
grep "VIBE_MODE" CLAUDE.md 2>/dev/null | cut -d= -f2 | tr -d ' 'Returns autonomous, manual, or empty (treated as manual).
The mode check happens once per skill invocation — at the very start, before any planning or execution. If the mode changes mid-session (user runs vibe-mode: again), the next skill invocation picks it up.
Deploy is always manual. VIBE_MODE=autonomous never removes the deploy gate. Shipping to production always requires a human to confirm.
P0s always stop autonomous mode. The autonomous loop pauses on any P0 finding from review. The build does not continue until P0s are resolved. This is non-negotiable — P0s exist precisely because they block progression.
The mode persists until explicitly changed. Setting autonomous at the start of a new: session means it stays autonomous for every subsequent add-feature:, fix-bug:, and review: in that project until you run vibe-mode: manual.
Manual mode is always safe to switch to. At any point during an autonomous run, vibe-mode: manual puts the brakes on. The current task completes (subagents already running finish), then the session waits for human input before proceeding.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.