원클릭으로
automation-audit
Audit automation job runs, logs, PR processing metrics, and AI-authored remote commits.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Audit automation job runs, logs, PR processing metrics, and AI-authored remote commits.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Control cmux tabs, workspaces, and terminal panes via Unix socket. Use when reading terminal output, sending commands to another agent's pane, switching tabs, or monitoring coder progress.
Read and steer another cmux terminal tab through the Unix socket.
Spawn or respawn a persistent, crash-recoverable Sonnet sidekick for ANY long-running mission — PR/CI fleets, research sweeps, migrations, monitoring, ops runbooks, data pipelines, multi-day projects in any repo or no repo at all. The sidekick is ALWAYS a named in-session Claude Agent-Team teammate (model sonnet, SendMessage-addressable, visible in the user's panel) durable via STATE.md + a P1 resumption bead + commit-often. There is NO tmux mode and NO codex engine — external tmux sidekicks and -p print-mode sidekicks are banned. Use when the user says /sidekick, "respawn the sidekick", or wants long work to survive conversation crashes.
Orchestrate multi-agent swarms (ultracode Workflow fan-outs + Agent-team lanes) with adversarial verification, /innov, /advice, and a sidekick durability layer for crash-recoverable runs
Aside browser is the PRIMARY browser tool for all Hermes/Claude/Codex work. Use aside CLI (repl/mcp/exec modes) or aside-mcp before Playwright MCP / superpowers-chrome. Use when opening browsers, scraping, UI tests, localhost verification, cookie injection flows, or any browser-driven automation. Playwright MCP and superpowers-chrome are explicit fallbacks for cases Aside can't handle (e.g., headless CI runners, Playwright-specific test fixtures). Reversible — see ~/.hermes/scripts/rollback-aside-default.sh.
End-to-end auto-factory driver — picks up beads + GH issues tagged factory, dispatches coders to drive worldai PRs to /green + /advice + /er, runs verifier ticks, repeats until done. Designed to work even when GH API is rate-limited (falls back to beads-only).
| name | automation-audit |
| description | Audit automation job runs, logs, PR processing metrics, and AI-authored remote commits. |
Usage: /automation-audit [hours]
Purpose: Comprehensive audit of all automation job runs - analyze logs, check PR processing metrics, and verify remote commits with attribution.
discovering open PRs or Total recent PRs discovered)Skipping PR or already processed messages)Processing PR messages)Monitoring cycle complete: X actionable, Y skipped# Primary job logs (in /tmp or $HOME/Library/Logs/)
FIXPR_LOG="/tmp/fixpr.log"
FIXCOMMENT_LOG="/tmp/fix-comment.log"
COMMENT_VAL_LOG="/tmp/comment-validation.log"
# Or from home directory
HOME_LOGS="$HOME/Library/Logs/${PROJECT_NAME:-your-project}-automation/"
Extract key metrics from each log:
# Count PRs discovered
grep -c "Total recent PRs discovered" "$LOG" || echo "0"
# Count PRs skipped
grep -c "Skipping PR" "$LOG" || echo "0"
# Count PRs processed (actioned)
grep -c "Processing PR" "$LOG" || echo "0"
# Count actionable results
grep -oE "Monitoring cycle complete: [0-9]+ actionable" "$LOG"
Query GitHub API for automation-authored commits:
# Time range (default: last 6 hours)
SINCE="${1:-6}"
SINCE_DATE=$(date -v-${SINCE}H +%Y-%m-%dT%H:%M:%SZ)
# Search for automation-authored commits
gh api repos/$GITHUB_REPOSITORY/commits \
--since "$SINCE_DATE" \
--jq '.[] | select(.commit.author.name |
contains("claude") or
contains("Claude") or
contains("MiniMax") or
contains("codex") or
contains("Codex") or
contains("automation") or
contains("Copilot")
) | {sha: .sha[0:8], author: .commit.author.name, date: .commit.author.date}'
For each commit found:
# Check commit details
gh api repos/$GITHUB_REPOSITORY/commits/{sha} \
--jq '.commit.message, .commit.author.name, .authors'
=== Automation Audit Report (Last 6 hours) ===
| Job | PRs Discovered | PRs Skipped | PRs Actioned | Commits Made |
|--------------|---------------|-------------|--------------|--------------|
| fix-comment | 12 | 10 | 2 | 1 |
| fixpr | 12 | 12 | 0 | 0 |
| comment-val | 8 | 8 | 0 | 0 |
=== CLI Preflight Results ===
- MiniMax: ✅ PASSED
- Gemini: ❌ FAILED (quota)
- Cursor: ❌ FAILED (auth)
=== Skip Decision Verification ===
⚠️ CRITICAL: 7 PRs incorrectly skipped - NEW COMMITS found!
| PR | Processed Commit | Current HEAD | Status |
|-----|-----------------|---------------|--------|
| #5642 | c9270a4c | e815d36a | ❌ NEW COMMIT |
| #5641 | 88d4163d | 0609ae09 | ❌ NEW COMMIT |
=== Commits Made ===
- SHA abc1234: [copilot] fix: ... (PR #5584)
- Attribution: Claude Opus 4.6 <noreply@anthropic.com>
/tmp/fixpr.log - fixpr job runs/tmp/fix-comment.log - fix-comment job runs/tmp/comment-validation.log - comment-validation job runs$HOME/Library/Logs/${PROJECT_NAME:-your-project}-automation/ - persistent logs| Pattern | Meaning |
|---|---|
Skipping PR ... - already processed | PR already handled, no action needed |
Processing PR | Work was attempted on this PR |
Monitoring cycle complete: X actionable, Y skipped | Summary of cycle |
✅ Preflight: X passed | CLI validation passed |
❌ Preflight: X failed | CLI validation failed |
For each skipped PR, verify the "already processed" commit matches current HEAD:
# Extract PR numbers and processed commits from logs
grep "Skipping PR" "$LOG" | grep -oE "#[0-9]+" | tr -d '#' | head -10
# For each PR, compare processed commit to current HEAD
# Processed: look for "already processed commit XXXXXXX"
# Current: gh api repos/owner/repo/pulls/{number} --jq '.head.sha'
# If they differ, this is a BUG - PR should have been reprocessed!
Known Issues:
The automation filters by cutoff_hours (default 24):
gh api "search/issues?q=repo:owner/repo+is:pr+is:open+updated:>YYYY-MM-DD"