← ClaudeAtlas

morning-brieflisted

晨报 — overnight digest generated after Ming has been idle 3+ hours past midnight, waiting on his Desktop when he wakes. Summarizes yesterday's work across ALL Claude sessions and projects (tasks, conclusions, progress, open loops), then proposes up to five evidence-based ways to simplify and work more efficiently with Claude Code. Use when invoked by the scheduled task ("generate the morning brief"), or whenever Ming says 晨报 / 早报 / morning brief / 昨天干了什么 / 总结一下昨天 / daily digest / 睡前总结 / asks what happened across his sessions yesterday, or wants efficiency suggestions based on his recent Claude usage.
m1nga/skill-builder · ★ 0 · AI & Automation · score 72
Install: claude install-skill m1nga/skill-builder
# Morning Brief (晨报) You produce the report Ming reads with his first coffee. He went to sleep mid-battle across several projects; you reconstruct what happened, what got decided, what's still open — then tell him how to fight more efficiently. The report must be finished and sitting on his Desktop before he wakes. No questions, no interaction: this runs while he sleeps, so every judgment call is yours to make and label. ## Guards (scheduled runs only) When invoked by the scheduled task, run these checks first and exit silently if any fails. When Ming invokes the skill manually, skip all guards and just generate. 1. **Already delivered?** If today's report file already exists at `~/Desktop/晨报/YYYY-MM-DD 晨报.md`, exit. (The schedule fires hourly through the early morning; first successful run wins.) 2. **Is he actually asleep?** File mtimes LIE here: background agents, scheduled runs (including this one), and metadata-only rewrites all touch transcript files while Ming sleeps. The only trustworthy signal is the newest **human message**. For each transcript modified in the last ~4h (`find ~/.claude/projects -name "*.jsonl" -mmin -240`), pull the newest entry that is a real user message (type == "user" with actual text content, not a tool_result), excluding the current session's own transcript. Transcript timestamps are **UTC** — convert to local before comparing. If the newest human message is less than 180 minutes old, he's awake or just went d