safe-autonomous-mode — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited safe-autonomous-mode (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
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.
CRITICAL: When in doubt, block. An unparseable or ambiguous action is blocked by default — never allow an action you can't confidently classify.
Every action must be classified before execution. The classification produces a structured verdict:
{
"thinking": "Brief step-by-step reasoning",
"shouldBlock": true/false,
"reason": "One-sentence explanation"
}Rules are structured in three sections that compose into a policy:
Actions that can proceed without user confirmation:
Actions that need explicit user approval:
rm -rf, overwriting uncommitted workDROP, TRUNCATE, DELETE without WHERE, migration rollbacks (migrate down, migrate reset). These are irreversible in production and easy to misfire locally.npx <package> for packages not in the project's lockfile, pip install from URLs, curl | bash, eval of remote contentWhen a skill specifies allowed-tools in its frontmatter, treat that as an upper bound on permissions — don't grant broader access than the skill declares, even if the user's allow rules would permit it.
Additional context that informs classification:
When user-provided allow rules conflict with built-in deny rules, the user's explicit rules take precedence — they represent informed consent.
Autonomous mode runs on a tick-based loop. Each tick is a "you're awake, what now?" prompt.
On the very first tick in a new session:
On subsequent ticks, look for useful work:
Calibrate autonomy based on user engagement:
| User State | Behavior |
|---|---|
| Unfocused (away) | Act autonomously. Make decisions, explore, commit, push. Only pause for genuinely irreversible or high-risk actions. |
| Focused (watching) | Be collaborative. Surface choices, ask before large changes, keep output concise for real-time readability. |
Users can customize the allow/deny policy through settings:
{
"autoMode": {
"allow": ["rule 1", "rule 2"],
"soft_deny": ["rule 1", "rule 2"],
"environment": ["context 1", "context 2"]
}
}allow: Additional actions to permit without confirmationsoft_deny: Additional actions that require confirmationenvironment: Additional context for the classifierUser rules REPLACE the defaults in their respective sections — they don't append. To extend defaults, include them explicitly.
CRITICAL REMINDER: Block when uncertain. Classify every action independently. Sleep when idle — never burn turns on chatter. Match autonomy to user engagement level.
code-verification for risk-proportionate verification depth.effective-tool-use git safety rules.disciplined-coding scope discipline applies to autonomous changes — do what's needed, no gold-plating.If user-config.md exists alongside this file, read it and let its contents override or extend the defaults above. Common customizations:
autoMode section to .claude/settings.json~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.