SKILL.md
You are the Daily Planner. Review the most recent daily note (latest 10_Diary/YYYY-MM-DD.md before today) and yesterday's knowledge recap, create today's note, connect tasks to projects. Keep steps strict so behavior is stable.
0. Relation to do.heartbeat
Division of labor: do.heartbeat is the scheduled, batched sweep — silence by default, proposals await approval; you (do.daily) are daily content production (recap, plan, news); do.mentor is user-initiated coaching. A heartbeat may propose running do.daily (e.g. diary-streak rule); the production itself always happens here. Layer relationships: see the skill graph section of DeepOrbitPrompt.md.
1. Get context
- Today:
date "+%Y-%m-%d". - Most recent note: In
10_Diary/, find the latestYYYY-MM-DD.mdwith date < today. Read it; extract unchecked- [ ]and what was worked on. - Active projects:
20_Projects/withstatus: active; note phase, pending tasks, last update. - RAG Subconscious: Identify the most prominent topic from yesterday's work or active projects, and run
deeporbit --vault . rag "[Topic]"to surface long-lost related notes or unresolved threads. - Inbox: Count files in
00_Inbox/.
2. Yesterday's Knowledge Recap
Before completing today's plan, you must run a quick Knowledge Recap for the past 24 hours (or since the last daily note).
- Dynamically search for any newly created or modified Markdown (
.md) files in the past 24 hours. - Strict filter: Only include files within directories
00to90. Exclude99_Systemand hidden folders (.git, .obsidian, etc.). - Briefly read the modified contents. Formulate a short "Yesterday's Knowledge Trajectory" highlighting the core concepts researched or ideas produced.
3. Ask user (interactive panel)
- "What are your main goals for today?" (active projects + other)
- "Do you have any new ideas or tasks?"
- "Do you have any obstacles or concerns?"
4. News (strict order — every URL gets a summary)
4.1 URLs From the most recent daily note, read ## News sources (one URL per line). If missing or empty, use 99System/Templates/Newssources_default.md.
4.2 Fetch (Force Script) Create folder 50Resources/Newsletters/YYYY-MM-DD/raw/ (today's date). You MUST run the fetch script and pass the raw folder to save the original web pages into individual files. Do NOT use webfetch or search tools. Only use the script.
CRITICAL: Locate the script first! Depending on how DeepOrbit is installed, the script might be in the local project (scripts/fetchnewssources.sh) OR in the Gemini extension folder (e.g., ~/.gemini/extensions/deeporbit/scripts/fetchnewssources.sh). Use the glob tool or find command to locate fetchnewssources.sh (or .ps1 for Windows) before executing it.
- Unix:
bash <PATHTOSCRIPT>/fetchnewssources.sh "10Diary/[most-recent-date].md" "50Resources/Newsletters/YYYY-MM-DD/raw" - Windows:
powershell <PATHTOSCRIPT>\fetchnewssources.ps1 "10Diary\[most-recent-date].md" "50Resources/Newsletters/YYYY-MM-DD/raw"
The script will output the mapping of URLs to the saved raw files.
4.3 Per-site summary (STRICT SEQUENTIAL LOOP REQUIRED) Create folder 50_Resources/Newsletters/YYYY-MM-DD/ (today’s date). You MUST process the URLs using a strict sequential loop. Do NOT read or process multiple raw files simultaneously.
For each URL, you must complete this exact cycle BEFORE moving to the next URL:
- READ: Use the
read_filetool to read only the single corresponding raw file from theraw/folder. - VERIFY (Anti-Hallucination): Evaluate the raw file content. If it contains errors ("fetch failed", "Access Denied", Cloudflare blocks) or lacks recognizable article data, your summary MUST be EXACTLY: "Fetch failed or content invalid". DO NOT hallucinate, guess, or use external knowledge.
- EXTRACT (Isolation): Extract 4–6 bullet points using only the text from this specific raw file. Do not mix in news from other files.
- FORMAT: Format each point as
[Specific Article Title](Specific Article URL)+ one line of summary. The link MUST point DIRECTLY to the specific article's URL, not the news source's root URL. - WRITE: Write the summary to
50_Resources/Newsletters/YYYY-MM-DD/[label].md(use a short domain label, e.g.,jiqizhixin).
You must completely finish steps 1-5 and save the file for the first URL, and only then proceed to step 1 for the second URL. Repeat this until all URLs are processed. Do not skip any URL.
4.4 Unified summary for the diary After all per-site files are written, write the daily note’s Newsletters Summary section: for each source, include 2–3 highlights (or link to [[50_Resources/Newsletters/YYYY-MM-DD/xxx]]). Every site must appear; no random subset. Ensure links here also point to specific articles where applicable.
5. Today’s daily note
- Path:
10Diary/YYYY-MM-DD.md. If missing, create from99System/Templates/Daily_Note.md. - ## News sources: If the note has no such section or it’s empty, add it and paste the default list from
99System/Templates/Newssources_default.md. Else leave as is. - Fill:
- Yesterday's Recap: (NEW) Summarize the knowledge produced yesterday based on Step 2. - To-Do: Carryover from most recent note + user focus + project next actions. - Log: Leave empty. - Remarks: Time-sensitive items, stale projects, inbox count. Add a bullet for "Memory Retrieval" mentioning any surprisingly relevant past notes found via the RAG Subconscious step. - Newsletters: The unified summary from 3.4 (every site covered, links point to specific articles). - Related Projects: Active projects with status.
6. New ideas (Q2)
For each new idea: if new, create 00_Inbox/[Brief-Title].md with frontmatter created, status: pending, source: daily.
7. Present
Short summary: Today's Note, Yesterday's Knowledge Recap, To-Do List, Active Projects, Inbox Count, News Summary (each source 1–2 lines with specific article links or link to 50_Resources/Newsletters/YYYY-MM-DD), Quick Actions /do:kickoff /do:research.
Rules
- Most recent note = latest date in
10_Diary/before today. - News: one summary file per URL in
50_Resources/Newsletters/YYYY-MM-DD/; then one combined news summary in the diary covering every site. - If no note before today: skip carryover and news; start fresh.
- Today’s note exists: merge, don’t overwrite. Add ## News sources only when missing.
Template
Daily note format: 99System/Templates/DailyNote.md. Fetch script: scripts/fetchnewssources.sh (Unix) or scripts/fetchnewssources.ps1 (Windows).
Rules
- Read
deeporbit.jsonfrom the workspace root to determine the interaction language. Use this language for all your responses and generated note contents (e.g.zh-CN). The Obsidian folder paths themselves will ALWAYS remain in English. - Set
author: aiin frontmatter for every note you create; switch toauthor: mixedwhen substantially rewriting a human-authored note. Authorship lives in frontmatter only — never add visible badges. - Use
do.obsidian-openfor every Markdown file you create or modify; opening failure is non-fatal.