Full morning startup — health checks, pipeline, compass review, and planning prep. One command to boot the day.
name Morning Boot description Full morning startup — health checks, pipeline, compass review, and planning prep. One command to boot the day. requiredSources ["kai-brain"] alwaysAllow ["Bash","Read","Write","Edit","Grep","Glob"] ruleDomains ["ops"] Morning Boot — The Super Skill Trigger Phrases "morning", "boot", "start the day", "let's go", "wake up", "good morning" Core Rule Improve first, fix second. Green things compound. Red things get noted and queued — but the top 3 slots belong to growth, not maintenance. Objective Alignment (Mandatory) Before surfacing top recommendations: Read /Users/nicholaspetros/scceo-1/objectives/OBJECTIVES.md Tie each top recommendation to at least one objective ID If any major recommendation is unmapped, ask: "What's the objective here?" If a repeated unmapped need appears, log a candidate in /Users/nicholaspetros/scceo-1/objectives/OBJECTIVES_LOG.md Include objective risk in red/yellow notes Efficiency-first filter: top recommendations must improve execution efficiency/capacity (time, cost, cycle count, or quality throughput). Avoid activity-heavy ideas that add coordination drag without leverage. Full verbose details must be written to the Obsidian morning briefing file: Kai Morning Briefing.md (including objective audit details and counts). You may also keep the dated Operations file for convenience, but Obsidian is required source-of-truth for verbose output . The session report is a 10-second glance: red/green + summary + a link to today's verbose file in Obsidian. Phase 0: 1Password Dev Session (automatic) The morning pipeline ( kai_morning.py ) now auto-checks for an active OP session as its very first step. If ~/.op-session/meta is missing or expired, it runs op_dev_session.sh — Nick gets ONE biometric prompt, then all secrets are cached for 8 hours. If you're in an interactive session and need credentials (SOS sync, Stripe, Sentry, etc.), check first: bash ~/scceo-1/grok-personal/op_dev_session.sh status If not active, run: bash ~/scceo-1/grok-personal/op_dev_session.sh Do NOT make multiple sequential op read calls. The dev session cache is the only path. Phase 0.5: Memory Bootstrap (5 seconds, silent) Run silently, do not block or surface output to Nick: python3 /Users/nicholaspetros/scceo-1/openviking/scripts/memory_health.py 2>/dev/null Exit 0 (healthy): memory layer active — use [skill:startup-memory] to pull the startup brief before Phase 1 context load Exit 1 (stopped/degraded): note silently, fall back to direct file reads — do NOT block startup Capture the status for Phase 5 (GREEN / YELLOW / stopped) This step never delays the boot. If the script takes >3s, skip and mark as stopped. Phase 1: Warm Start (30 seconds) Run in parallel: kai_warm_start() — ledger digest, priorities, team chat, warnings check_team_chat(unread_only=True) — anything from Nick/Ember overnight kai_overnight_summary() — buses, queue, what moved while we slept Output: Internal context only. Don't surface yet. Phase 2: Health Checks (10-20 seconds) curl -s Pulse now includes Objectives Alignment health (via objective-mapping audit). Also run (explicit objective loop, every day): python3 /Users/nicholaspetros/scceo-1/grok-personal/scripts/objectives_audit.py --json And: run_revenue_gate_checks() read_obsidian_file("Kai Morning Briefing.md") Revenue gate is check #1. If any gate is OPEN, it goes in 🔴 immediately. Objective loop rule (daily): If built_unmapped > 0 or high_pri_unmapped > 0 → 🔴 If only unmapped_total > 0 → 🟡 If all objective checks are clean → 🟢 Phase 3: Morning Pipeline (2-5 minutes) Only run if ~/Desktop/Rocket/Morning Digest - YYYY-MM-DD.md doesn't exist yet: run_morning_pipeline(skip_content=False) Output goes to ~/Desktop/Rocket/Kai Morning Briefing.md — do NOT repeat it in the session. Phase 4: Compass Review (internal) Read briefing, extract: Revenue pace vs $1K/day target Signup trend Build ratio vs 70% goal Overnight agent completions Do NOT surface raw numbers in the session report. Use them to inform the traffic lights and top 3. Phase 5: Surface Report ← THE ONLY THING NICK SEES Format: traffic lights + top 3. Nothing else.
🟢 [System]: [one phrase] 🟡 [System]: [one phrase — what's attention-worthy] 🔴 [System]: [one phrase — what needs action] 🎯 Objectives: [GREEN|YELLOW|RED] — unmapped=[N], built_unmapped=[N], high_pri_unmapped=[N]
{ranked list from engineering_plan["plan_md"]}
📊 Jules budget: {used}/{300} used today ({remaining} remaining) 30-min pulse active — status posts to team chat as items complete.
Skills to run this morning:
→ morning-content-jam — punch up today's reply queue
→ codedoc-scan-check — dead code + doc hygiene
→ cto-heartbeat — dispatch queue + completions
All skills: Content morning-content-jam Dispatch conveyor-dispatch · cto-heartbeat · plan-advance Planning daily-plan · repo-planning · grok-plan-loop Health sos-pulse · codedoc-scan-check · run-testing-suite · status-snapshot · status-reconcile CI/Deploy rocket-ci-gates · app-ci-gates · scceo-ci-gates The reference card stays the same every day. Only the "Skills to run this morning" picks change. Rules Obsidian Kai Morning Briefing.md gets everything. The session gets the summary. Never repeat the full briefing in chat. Top 3 are growth moves, not the 3 worst problems. Green things compound; broken things get queued. Revenue gates are check #1. If a gate is open it goes in 🔴 and leads the report. Run objective audit daily from Morning Boot. Do not rely on Kai Morning usage. If built/high-priority items are objective-unmapped, surface as 🔴. Don't wait for the pipeline to finish. Show health lights first (fast), pipeline output second (slow). $30K plan trajectory belongs in the compass line. Every morning: are we on pace? "Needs Nick's attention" ≠ "broken." 🟡 is for things worth knowing, not just things that failed. Zero emails in 24h = 🔴. Always. Even if expected — surface it so Nick decides. Keep it to one screen. If it doesn't fit without scrolling, it's too long. Python Automation Audit After boot: were any morning check steps deterministic (gate query, health ping, file parse, metric pull)? Quick check: python3 ~/.agents/skills/prefer-python-over-llm/scripts/classify_task.py "step description" If scriptable → log rule_ledger.skill_usage with python_candidate=true and flag for cron replacement Rule: ops-prefer-python-over-llm Variants / Absorbed Modes --check Daily status check only — gates, nag items, pulse. Skip content generation. (absorbed: daily-check) --plan Generate today's day plan from priorities and work ledger. (absorbed: daily-plan) --status Quick current status across all systems. (absorbed: get-status) --next Show what to work on next based on unblocked priority items. (absorbed: whats-next) --dashboard Check dashboard health indicators only. (absorbed: check-dashboard-status)