بنقرة واحدة
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