ワンクリックで
ea-morning-review
Daily handoff — prep yesterday carryover, interactive morning review, finalize today's time block.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Daily handoff — prep yesterday carryover, interactive morning review, finalize today's time block.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Search Desktop files via gbrain; mail use joshu-mail.
Meeting-mail scheduling. Kanban ea-sched-*; Calendly fallback.
Find/search mail; local cache first, deep server Gmail.
jMail desktop UI workflows — compose drafts, thread navigation, voice fast paths.
Triage mail to Projects. Not drips—use ea-project-kanban.
Drips, pipelines, HITL: Kanban project boards, not todo.md.
| name | ea-morning-review |
| description | Daily handoff — prep yesterday carryover, interactive morning review, finalize today's time block. |
| metadata | {"hermes":{"category":"executive-assistant","version":"1.2.0"}} |
Bridges yesterday → today: read yesterday's time-block plan, draft Planning/daily-review-YYYY-MM-DD.md with checkboxes (source of truth for done/carryover), run an interactive jChat session when the owner is ready, then refresh today's linked Excalidraw via ea-time-block.
GTD / linking: docs/executive-assistant.md#gtd-workspace · Time block: skill_view('ea-time-block')
| Mode | Trigger |
|---|---|
| Prep (async) | EA morning cron — skill_view('ea-morning-review') then follow Morning prep below |
| Interactive | Owner: "morning review", "what's left from yesterday", "let's plan the day", opens @Planning/daily-review-*.md, or references yesterday's time block |
Pair with ea-shutdown the prior evening so yesterday's review is honest.
| File | Role |
|---|---|
Planning/daily-review-YYYY-MM-DD.md | Checkboxes, owner answers, carryover — mutable during review |
Planning/.time-block-plan-YYYY-MM-DD.json | Machine plan for that day |
Planning/time-block-YYYY-MM-DD.excalidraw | Visual record — do not edit yesterday's file in place |
Yesterday's diagram stays frozen; today gets a new file after review.
Run at start of owner workday before the pointer email.
Bootstrap Nylas profile — check .joshu/nylas/profile.json (under $JOSHU_FILES_ROOT). If missing or empty, call nylas_get_profile() then persist with nylas_update_profile() before any Nylas sends. See ea-playbook "Every run — read first" for the canonical startup sequence.
Dates — owner local today = YYYY-MM-DD; yesterday = prior calendar day.
Find the most recent workday's plan (not necessarily yesterday):
Planning/.time-block-plan-{date}.json — typically Friday for a Monday morning. Set a plan_date variable for use in retrospective and frontmatter.Read the identified plan (if files exist):
Planning/.time-block-plan-{plan_date}.json — blocks, taskGroups, notesPlanning/daily-review-{plan_date}.md — shutdown_complete, end-of-day sectionProjects/*/journal_{plan_date}.md — what actually happenedProjects/*/journal_{yesterday}.md for weekend gap — catch any weekend processingCreate or refresh Planning/daily-review-{today}.md:
templates/ea/Planning/daily-review-template.md if missingdate, yesterday_plan → Planning/time-block-{plan_date}.excalidraw (the most recent plan, which may not be literally yesterday), morning_review_complete: false, shutdown_complete: false- [ ] line per block from the plan (start–end — label); link block targets when plan JSON has link. Note the date gap if plan_date ≠ yesterday (e.g. "Weekend gap — last plan was Friday").todo.md rows touched on the plan_date, unfiled capture from the gap daysowner_decisions_pending: true or todo rows Waiting on: owner review (from ea-playbook scheduling HITL defer); list in Decisions needed with journal link — do not auto-schedule from cronOptional draft plan — first check if Planning/.time-block-plan-{today}.json already exists (pre-rendered by a late-evening session). If it does:
yesterdayPlan if stale.If it does not exist and the calendar is stable, write Planning/.time-block-plan-{today}.json + render Excalidraw as proposal (owner may change in interactive step). If owner prefers review-first, skip render and note "Run time block after morning review."
Pointer email — short Nylas message to primaryWorkEmail (see Email (morning pointer)). Do not send the old 500-word standalone brief unless daily-review prep failed.
When the owner engages:
Planning/daily-review-{today}.md and yesterday_plan file if linked.[x] done, [~] partial, leave [ ] for carryoverProjects/*/todo.md row or journal line with link — do not paste mail bodiesjoshu:// linkPlanning/capture-{today}.md; ask what to add/drop/defer.skill_view('ea-time-block') and run its workflow:
carryover[] (see ea-time-block)Planning/time-block-{today}.excalidraw## Owner answers.morning_review_complete: true when the owner confirms the plan.Planning/time-block-{today}.excalidraw in jWhiteboard.Keep the session short (5–10 min). One question batch at a time if async.
Write body to Projects/_system/summary-email.md, send via Nylas. ~150–250 words.
🌅 MORNING REVIEW READY
Yesterday: [link to yesterday time block] — {N} items to confirm
Today: [link to daily-review] · [link to time block if rendered]
Open jChat and say "morning review" (or open the daily review file) to confirm what got done and lock today's plan.
📅 CALENDAR (remaining today)
<2–3 lines — next meetings + free pockets>
📬 NEW MAIL (if any)
<only stubs from last ~12h — who, project, next step>
🔁 SCHEDULING
<blocked meeting tasks only if any>
Skip sections with nothing new. Full data-source table lives in ea-playbook Summary email — use the same tools but condense for the pointer.
→ [label](joshu://Projects/.../todo.md) when a canonical target existsconnectors/mail/….excalidraw to cross out blocks (history per day)ea-playbook triage or mail ingressreferences/daily-review-schema.md — frontmatter + section contract