ops-yolo — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ops-yolo (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.
Before YOLO analysis, load:
cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — read owner, timezone, yolo_enabled, all channel configscat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json — all services must be healthy for comprehensive analysis${CLAUDE_PLUGIN_DATA_DIR}/memories/ — contact profiles, preferences, topics, donts. YOLO agents need maximum context.| Command | Usage | Output |
|---|---|---|
aws ce get-cost-and-usage --time-period Start=<YYYY-MM-DD>,End=<YYYY-MM-DD> --granularity MONTHLY --metrics "UnblendedCost" --output json | Current month spend | Cost JSON |
| Command | Usage | Output |
|---|---|---|
gh pr list --repo <owner/repo> --json number,title,statusCheckRollup,reviewDecision,mergeable,isDraft | Open PRs with status | JSON array |
gh pr merge <n> --repo <repo> --squash --admin | Squash merge PR | Merge result |
gh run list --limit 20 --json status,conclusion,name,headBranch,createdAt | Recent CI runs | JSON array |
If CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set, use Agent Teams instead of fire-and-forget subagents for the C-suite analysis (Phase 2). This enables:
Team setup (only when flag is enabled):
TeamCreate("yolo-csuite")
Agent(team_name="yolo-csuite", name="ceo", subagent_type="ops:yolo-ceo", ...)
Agent(team_name="yolo-csuite", name="cto", subagent_type="ops:yolo-cto", ...)
Agent(team_name="yolo-csuite", name="cfo", subagent_type="ops:yolo-cfo", ...)
Agent(team_name="yolo-csuite", name="coo", subagent_type="ops:yolo-coo", ...)After initial analysis, use SendMessage(to="cto", content="CFO flagged $400/mo in waste — does this change your tech-debt ranking?") or similar to cross-pollinate findings between peer agents. The main `/ops:yolo` orchestrator (this skill) then reads all four analysis files (ceo-analysis.md, cto-analysis.md, cfo-analysis.md, coo-analysis.md) and synthesizes them into the Hard Truths report. yolo-ceo is a parallel peer, not the synthesizer.
If the flag is NOT set, fall back to standard parallel subagents (fire-and-forget, no mid-task steering).
NEVER reuse a prior YOLO session's reports. Stale C-suite analyses misinform decisions. Before pre-gathering anything, run:
# Archive any prior YOLO sessions (don't delete — keep history) then start fresh.
mkdir -p ~/.claude/yolo-archive
for d in /tmp/yolo-*/; do
[ -d "$d" ] || continue
ts=$(basename "$d")
mv "$d" "$HOME/.claude/yolo-archive/${ts}-$(date +%s)" 2>/dev/null || true
done
# Allocate this run's session dir.
SESSION_ID="$(date +%Y%m%d-%H%M%S)-$$"
SESSION_DIR="/tmp/yolo-${SESSION_ID}"
mkdir -p "$SESSION_DIR"
echo "$SESSION_DIR" > /tmp/yolo-current-session
echo "YOLO session: $SESSION_DIR (prior reports archived to ~/.claude/yolo-archive/)"
# Drop any cached pre-gather artifacts so Phase 1 hits live sources.
rm -f /tmp/ops-marketing-dash.cache /tmp/ops-external.cache /tmp/ops-infra.cache 2>/dev/null || trueEach C-suite agent prompt MUST include this line verbatim:
"Use ONLY the pre-gathered data block in this prompt. Do NOT read prior /tmp/yolo-\*/ files, do NOT reference cached reports, do NOT cite earlier session findings. This is a fresh-state run; report what is true RIGHT NOW."
Run all of these simultaneously:
${CLAUDE_PLUGIN_ROOT}/bin/ops-infra 2>/dev/null || echo '{}'${CLAUDE_PLUGIN_ROOT}/bin/ops-git 2>/dev/null || echo '[]'${CLAUDE_PLUGIN_ROOT}/bin/ops-prs 2>/dev/null || echo '[]'${CLAUDE_PLUGIN_ROOT}/bin/ops-ci 2>/dev/null || echo '[]'${CLAUDE_PLUGIN_ROOT}/bin/ops-unread 2>/dev/null || echo '{}'aws ce get-cost-and-usage --time-period "Start=$(date +%Y-%m-01),End=$(date +%Y-%m-%d)" --granularity MONTHLY --metrics "UnblendedCost" --output json 2>/dev/null || echo '{}'cat "${CLAUDE_PLUGIN_ROOT}/scripts/registry.json" 2>/dev/null || echo '{}'${CLAUDE_PLUGIN_ROOT}/bin/ops-external 2>/dev/null || echo '[]'${CLAUDE_PLUGIN_ROOT}/bin/ops-marketing-dash 2>/dev/null || echo '{}'${CLAUDE_PLUGIN_ROOT}/bin/ops-gsd-states 2>/dev/null || trueCompetitor state: Each C-suite agent sourcesscripts/lib/competitor/context.shand callscompetitor_vertical_slice <role>internally. The orchestrator does NOT need to pre-fetch competitor data — it is loaded on-demand per agent with role-specific filtering.
Spawn these 4 agents simultaneously using all pre-gathered data as context. Each writes their analysis to a file in /tmp/yolo-[session]/:
Uses agents/yolo-ceo.md. Writes /tmp/yolo-[session]/ceo-analysis.md.
Uses agents/yolo-cto.md. Writes /tmp/yolo-[session]/cto-analysis.md.
Uses agents/yolo-cfo.md. Writes /tmp/yolo-[session]/cfo-analysis.md.
home_automation is configured in $PREFS_PATH, check energy spend trend via /ops:ops-home status — is the kWh/day curve trending up materially? Flag anomalous draw.Uses agents/yolo-coo.md. Writes /tmp/yolo-[session]/coo-analysis.md.
home_automation is configured in $PREFS_PATH, include home-automation health in operations checks via /ops:ops-home status: are smoke/water alarms armed? Energy anomalies? Devices offline? Flow failures?This skill (the main orchestrator) is the synthesizer — NOT yolo-ceo. After all 4 parallel agents complete and have written their analysis files to /tmp/yolo-[session]/{ceo,cto,cfo,coo}-analysis.md, read all four files here in the main context and synthesize them into a unified report:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
YOLO ► HARD TRUTHS REPORT — [date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CEO: [1-2 brutal strategic truths]
CTO: [1-2 brutal technical truths]
CFO: [1-2 brutal financial truths]
COO: [1-2 brutal operational truths]
──────────────────────────────────────────────────────
CONSENSUS: The #1 thing that matters today is:
[single most important action, no sugar-coating]
──────────────────────────────────────────────────────
Full analysis files saved to:
/tmp/yolo-[session]/ceo-analysis.md
/tmp/yolo-[session]/cto-analysis.md
/tmp/yolo-[session]/cfo-analysis.md
/tmp/yolo-[session]/coo-analysis.md
──────────────────────────────────────────────────────
Type YOLO to hand over the controls.
I'll run your business autonomously for the next day.
This means: closing inbox, merging ready PRs,
fixing fires, advancing GSD phases, triaging issues.
Or pick an analysis to read:
──────────────────────────────────────────────────────Use batched AskUserQuestion calls (max 4 options each):
AskUserQuestion call 1:
[Read CEO analysis]
[Read CTO analysis]
[Read CFO analysis]
[More...]AskUserQuestion call 2 (only if "More..."):
[Read COO analysis]
[Execute top recommendation now]
[Type YOLO to go autonomous]If user types YOLO (all caps), enter autonomous mode via /loop.
Before starting, use AskUserQuestion to confirm scope:
YOLO mode will autonomously execute these steps:
1. Inbox — reply to humans, archive automated
2. Fires — fix CRITICAL/HIGH production issues
3. PRs — merge ready PRs (CI green, approved)
4. Triage — auto-resolve confirmed-fixed issues
5. GSD — advance highest-priority phase
6. Linear — sync sprint board
7. Deploy — trigger pending deploys
8. Report — summary
[Run all 8 steps] [Pick which steps to run] [Cancel]If user picks "Pick which steps", show steps as multiSelect via batched AskUserQuestion calls (max 4 options each):
Call 1: [Inbox], [Fires], [PRs], [More steps...] Call 2 (if "More steps..."): [Triage], [GSD], [Linear], [More steps...] Call 3 (if "More steps..."): [Deploy], [Report], [Done selecting]
Run the selected steps in sequence, reporting after each step.
Per-step confirmations (use AskUserQuestion before EACH destructive action):
[Send all N replies] / [Review each one] / [Skip inbox] before sending any messages[Dispatch fix agent] / [Skip] before each agent dispatch[Merge all N ready PRs] / [Pick which ones] / [Skip] before merging[Auto-resolve all N confirmed-fixed] / [Review each] / [Skip] before closing[Deploy all] / [Pick which] / [Skip] before triggering[Execute] / [Skip] individually. NEVER batch destructive infra actions.Report-driven execution: When the user approves executing recommendations from the Hard Truths report:
/tmp/yolo-[session]/*.md)⚠️ REQUIRES CONFIRMATIONAskUserQuestion with the exact command that will run, the expected outcome, and the source report (CTO/CFO/COO)After each step, check if new fires have appeared before proceeding. Report final summary when done.
If $ARGUMENTS is analyze or empty, go straight to Phase 1. If $ARGUMENTS is YOLO, skip to Phase 4. If $ARGUMENTS is report, skip to Phase 3 (reads existing analysis files if present).
Use TaskCreate at the start of Phase 4 to create a task for each YOLO step. Update with TaskUpdate as each completes. This gives the user a live progress view across the autonomous run.
Before Phase 4 execution, use EnterPlanMode to present the full execution plan. The user reviews what YOLO will do, approves or modifies, then ExitPlanMode to begin execution.
After Phase 4 completes, offer to schedule recurring YOLO via AskUserQuestion:
[Schedule daily YOLO at 9am] [Schedule weekly Monday briefing] [No schedule]Use CronCreate if selected. Use CronList/CronDelete to manage existing schedules.
When YOLO dispatches fix agents or triggers deploys, use Monitor to stream CI output in real-time instead of polling with sleep loops.
Use WebFetch to pull Grafana dashboards, Sentry event details, or AWS status pages when MCPs are unavailable. Use WebSearch to find context on production errors (e.g., known AWS outages).
CLAIM_KEY: yolo:session — one active YOLO session at a time (stable key for concurrency).
Individual actions within the session (merges, fixes, deploys) each write their own typed claim via the relevant skill's ledger pattern (see ops-merge, ops-fires, ops-deploy). The session-level key tracks the overall autonomous run.
SESSION_TS=$(date +%Y-%m-%dT%H-%M)
CLAIM_KEY="yolo:session"
ledger query --claim-key "$CLAIM_KEY" --since=-PT4HIf another YOLO session is in_progress, surface it before starting a new one — two autonomous sessions running concurrently will conflict on shared resources.
# Claim at YOLO session start
ledger write \
--claim-key "$CLAIM_KEY" \
--kind "file" \
--status "in_progress" \
--title "YOLO session ${SESSION_TS}" \
--ttl-sec 14400
# Resolve at session end with summary
ledger write \
--claim-key "$CLAIM_KEY" \
--kind "file" \
--status "done" \
--title "YOLO session ${SESSION_TS}" \
--context "N fires fixed, N PRs merged, N deploys triggered"~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.