Press1 check
Use when Claude Code sessions had many manual approval ("press 1") prompts or when auditing hook permissions; identifies which Bash commands required approval.From its SKILL.md
npx -y skills add arndvs/ctrlshft --skill press1-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.4 KB, 787 tokens by cl100k_base, as published. Nobody here has run it
/press1-check — Permission Audit
If running interactively (human present), output "Read Press1 Check skill." to acknowledge. If running with --dangerously-skip-permissions (AFK/unattended), skip acknowledgement and proceed directly.
Audit which Bash commands triggered manual approval prompts in Claude Code sessions.
When to invoke
- After sessions with many "press 1 to approve" prompts
- Periodically (every 5-10 sessions) to keep the allow-list current
- When the user says "permission audit" or "press1-check"
- Before proposing new hooks that add Bash commands
How it runs
Two paths:
- Manual: type
/press1-checkto force a re-audit. Default mode is since the last run (state-tracked at~/.claude/state/press1-check.json), so the typical run only surfaces new ground. - Auto (optional): the script supports
--auto-stop-hookmode designed to be wired as a Claude CodeStophook. 6-hour cooldown. When LOW-risk additions are found, a one-shot summary surfaces in the next session-start priority snapshot.
Usage
# Since the last run (default, state-tracked)
python3 skills/press1-check/audit-permissions.py
# Last N days across all project dirs
python3 skills/press1-check/audit-permissions.py --days 7
# Only the single most recent session
python3 skills/press1-check/audit-permissions.py --latest-session
# All sessions from the last 24h
python3 skills/press1-check/audit-permissions.py --all-recent
# All sessions since a date
python3 skills/press1-check/audit-permissions.py --since 2026-04-10
# Specific session (prefix match OK)
python3 skills/press1-check/audit-permissions.py <session-id>
Steps (when invoking via /press1-check)
- Run
python3 <skill-path>/audit-permissions.pywith any arguments the user provided. Default audits since~/.claude/state/press1-check.json#last_run_ts(bootstraps to last 3 days when state is missing). - Display the output to the user exactly as printed (includes color-coded risk levels).
- If LOW-risk suggestions appear, add them to
~/.claude/settings.json(read-only commands are safe). Skip env-var-prefix suggestions likeBash(WT=*)— they don't generalize. - Do NOT auto-add MEDIUM or HIGH risk commands without explicit approval.
- After editing
~/.claude/settings.json, re-run the audit and report before/after counts so the user sees the coverage delta. - Each successful interactive run updates the state file — the next run is automatically scoped to "since now."
Risk Classification
| Risk | Color | Policy | Example |
|---|---|---|---|
| HIGH | Red | Keep gated — destructive or hard to reverse | rm, sudo, git reset --hard, DROP TABLE |
| MEDIUM | Yellow | Review case-by-case — side effects outside local repo | gh pr create, curl, docker, pip install |
| LOW | Green | Safe to allow-list — read-only or local-only | cat, ls, grep, wc |
Constraints
- Never auto-add MEDIUM or HIGH risk commands
- The script never auto-applies changes — it surfaces and proposes
- State-tracked incremental runs prevent audit fatigue
- Subagent awareness: detects
*/subagents/*.jsonland tags findings
What ships with it: 1 file
18.4 KB alongside SKILL.md, 1 of them executable
- audit-permissions.pyruns18.4 KB