Add a /morning composition skill (PyAutoBrain) — a human-driven start-of-day routine that brings the workspace to a clean, current, known-good state and surfaces the day's actionable items. Composes existing doors (/health, later /hygiene) plus two workspace-ops scripts; owns no new state (a skill, like /route).
Full spec: PyAutoMind/feature/pyautobrain/morning_routine.md. This issue is Phase 1 (core); Phase 2 (overnight-cron sweep, version-pin drift, resume-context, /hygiene, richer digest) follows as a separate PR.
High-level plan
- Move the two untracked workspace-root scripts (
pull_all_main.sh, clean_slate.sh) into PyAutoBrain/bin/ (tracked; resolve the workspace root, not admin_jammy).
- Add
skills/morning/morning.md + SKILL.md orchestrating: sync → clean-slate → consult /health → prioritized digest.
- Guardrail: auto-run only the non-destructive steps; surface deletes/edits/bumps for approval.
- Wire into
bin/install.sh + the command veneer (skills/COMMANDS.md, AGENTS.md verb table).
- Verify end-to-end on the live workspace.
Detailed plan
- Scripts →
PyAutoBrain/bin/ (pull_all_main.sh, clean_slate.sh): change ROOT from "script dir" to the workspace root (two levels up from bin/); keep DRY_RUN + per-repo reporting; chmod +x.
skills/morning/morning.md: orchestration body (~30–50 lines, /route shape): (1) bin/pull_all_main.sh — report off-main/dirty/behind/diverged; (2) bin/clean_slate.sh; (3) consult /health (readiness verdict, release status, red CI, worktrees); (4) emit digest (🚨 blocking · ⚠️ drifted · 🧹 cleanable · ✅ clear-to-work). Note the auto/approve guardrail + "compose, don't recompute." SKILL.md: thin wrapper.
- Wiring: ensure
/morning installs via bin/install.sh (skills/ scan); add /morning to skills/COMMANDS.md veneer + AGENTS.md command-surface verb table.
- Verify:
bash bin/install.sh; invoke /morning; confirm sync+clean+health+digest render; bin/check_skill_line_counts.sh passes.
Testing
DRY_RUN=1 bin/clean_slate.sh + bin/pull_all_main.sh from the new location — confirm workspace-root resolution.
bash bin/install.sh → /morning appears; invoke end-to-end.
Branch: feature/morning-routine · Phase 2 tracked in the Mind spec.
Add a
/morningcomposition skill (PyAutoBrain) — a human-driven start-of-day routine that brings the workspace to a clean, current, known-good state and surfaces the day's actionable items. Composes existing doors (/health, later/hygiene) plus two workspace-ops scripts; owns no new state (a skill, like/route).Full spec:
PyAutoMind/feature/pyautobrain/morning_routine.md. This issue is Phase 1 (core); Phase 2 (overnight-cron sweep, version-pin drift, resume-context,/hygiene, richer digest) follows as a separate PR.High-level plan
pull_all_main.sh,clean_slate.sh) intoPyAutoBrain/bin/(tracked; resolve the workspace root, not admin_jammy).skills/morning/morning.md+SKILL.mdorchestrating: sync → clean-slate → consult/health→ prioritized digest.bin/install.sh+ the command veneer (skills/COMMANDS.md, AGENTS.md verb table).Detailed plan
PyAutoBrain/bin/(pull_all_main.sh,clean_slate.sh): changeROOTfrom "script dir" to the workspace root (two levels up frombin/); keepDRY_RUN+ per-repo reporting;chmod +x.skills/morning/morning.md: orchestration body (~30–50 lines,/routeshape): (1)bin/pull_all_main.sh— report off-main/dirty/behind/diverged; (2)bin/clean_slate.sh; (3) consult/health(readiness verdict, release status, red CI, worktrees); (4) emit digest (🚨 blocking ·SKILL.md: thin wrapper./morninginstalls viabin/install.sh(skills/ scan); add/morningtoskills/COMMANDS.mdveneer + AGENTS.md command-surface verb table.bash bin/install.sh; invoke/morning; confirm sync+clean+health+digest render;bin/check_skill_line_counts.shpasses.Testing
DRY_RUN=1 bin/clean_slate.sh+bin/pull_all_main.shfrom the new location — confirm workspace-root resolution.bash bin/install.sh→/morningappears; invoke end-to-end.Branch:
feature/morning-routine· Phase 2 tracked in the Mind spec.