一键导入
morning
Daily 06:30 BKK compile — ingest yesterday's raw, research flagged links, write daily summary, conditionally weekly/monthly, push Telegram digest, open PR.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Daily 06:30 BKK compile — ingest yesterday's raw, research flagged links, write daily summary, conditionally weekly/monthly, push Telegram digest, open PR.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | morning |
| description | Daily 06:30 BKK compile — ingest yesterday's raw, research flagged links, write daily summary, conditionally weekly/monthly, push Telegram digest, open PR. |
Single skill that does the entire morning compile. Invoked by the Cowork
Routine morning-routine. Runs once per day at 06:30 Asia/Bangkok.
Hard rules:
CLAUDE.md first — it is the schema for how the wiki must be maintained.raw/, wiki/log.md past entries, or files in followups/done/.Compute now:
TODAY = today's date YYYY-MM-DDYESTERDAY = TODAY - 1 dayIS_SUNDAY = today's weekday is SundayIS_MONTH_END = (today + 1 day) is in a different month — i.e. today is
the last day of its monthCite these values in the PR body so the human reviewer sees what you assumed.
Read everything created or modified yesterday:
raw/sessions/{YESTERDAY}/ — Telegram bot dumps (text, voice, link)raw/voice/{YESTERDAY}.md — LINE voice log (if exists)Special file: raw/sessions/{YESTERDAY}/daily-log-{YESTERDAY}.md — if the
operator typed /eod to close out the day, this marker file exists. Treat
its ## Note section (if present) as the operator's own bottom-line for the
day, and incorporate it as the seed for the daily summary in Step 4.
Session grouping: every dump file has frontmatter fields session
(e.g. s-12345) and seq (1, 2, 3, …). Files sharing the same session
were sent within 5 minutes of each other and almost always reference each
other linguistically (e.g. one starts with "อ่อแล้วก็…" or just continues
the previous thought). When extracting entities or quoting, read the
entire session in seq order before deciding what's a coherent thought
vs. a separate one. Treat a session as one continuous brain-dump split
across multiple Telegram messages.
For each entity mentioned (person, company, product, concept, event):
wiki/ page exists → propose update (add facts, citations, [[wikilinks]])[[wikilinks]] to existing pagesAppend one block to wiki/log.md (append-only, never edit prior entries):
## {TODAY} 06:30 — Morning routine
- Read: raw/sessions/{YESTERDAY}/*, raw/voice/{YESTERDAY}.md
- Created: wiki/...
- Updated: wiki/...
- Followups extracted: N
For lines tagged "อยากดูต่อ" / "น่าสนใจ" / "ต้อง research" / forwarded
articles / URLs → create one file per item under followups/pending/{slug}.md
with the question + source citation.
For every entry in:
raw/sessions/{YESTERDAY}/*-link.md (URLs)followups/pending/*.md (open questions)do this:
wiki/{type}/{slug}.md (concepts, people,
companies, events)followups/pending/{slug}.md →
followups/done/{slug}.md and add researched: {TODAY} to its frontmatterWrite a reflective first-person Thai recap to outputs/daily/{YESTERDAY}.md.
Address the operator directly ("เมื่อวาน คุณ..."). Tone: warm, honest,
unhurried — like a journal entry written by someone who actually knows them.
Length: 4–8 paragraphs. Use these exact subheadings:
todos/open/*.md. Report:
due_at past today): list with original datedue_attodos/done/*.md with completed_at matching
YESTERDAY): count by tagcreated more than 7 days ago →
surface with note "consider /done or /cancel_todo"If IS_SUNDAY, generate outputs/weekly/{YYYY-WW}.md covering the past 7
days (Mon–Sun ending yesterday). Sections per CLAUDE.md "Weekly report
format":
If IS_MONTH_END, generate outputs/monthly/{YYYY-MM}.md for the current
month. Reflective + analytical:
Commit all changes onto a new branch morning/{TODAY} and open a PR titled:
morning: {TODAY} — N pages, M research[, weekly][, monthly]
PR body:
Do not auto-merge. Operator reviews on mobile and merges manually.
Send a SHORT message to the operator's Telegram (≤ 4000 chars). Format:
📅 *Morning brief — {TODAY}*
📝 เมื่อวาน:
{2–3 sentence paraphrase of yesterday's bottom-line — what stood out}
📚 Wiki: {N} new, {M} updated
🔍 Research: {K} items delivered
{if IS_SUNDAY: 📊 Weekly summary ready}
{if IS_MONTH_END: 🗓️ Monthly summary ready}
PR: {pr_url}
อ่านเต็ม: outputs/daily/{YESTERDAY}.md
Send via Telegram Bot API. Use whichever HTTP/code-execution tool you have. Equivalent of:
curl -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
--data-urlencode "chat_id=${TELEGRAM_OWNER_CHAT_ID}" \
--data-urlencode "parse_mode=Markdown" \
--data-urlencode "text=$MESSAGE"
Verify the response is {"ok": true, ...}. If false, log to PR body but
don't fail the run.
End the routine.