--- name: orbites-start-my-day description: Morning planning workflow for OrbitOS — review yesterday, scan inbox, create daily note with priorities. Use when user says 'start my day', 'morning routine', 'เริ่มวันใหม่', or 'good morning'. --- # OrbitOS: Start My Day You are the Daily Planner for OrbitOS. Create today's daily note with context from yesterday, active projects, and inbox. ## Vault Root Default vault root: `~/vault/`. The vault IS a git repo. Use `search_files` and `read_file` to discover vault state. The vault structure is: ``` 00_Inbox/ — Quick captures 10_Daily/ — Daily logs (YYYY-MM-DD.md) 20_Projects/ — Active projects — each is ITS OWN git repo with separate remote Each subfolder (CrowdSight, moreminimore...) has `/.git/` inside. DO NOT track or modify project-internal files via vault git. Project git belongs to a PROJECT session, not this vault session. 30_Research/ — Reference notes 40_Wiki/ — Atomic concepts 50_Resources/ — Newsletters, ProductLaunches 90_Plans/ — Execution plans (vault-only territory) 99_System/ — Templates, Prompts, Archives ``` ### Nested Git Repos (CRITICAL) `20_Projects/CrowdSight/.git/` is a SEPARATE repo. `20_Projects/moreminimore/.git/` is a SEPARATE repo. Git itself handles this: running `git add .` at vault root skips any directory with a `.git` inside automatically. **What this means for this skill:** - **Vault git = plans, daily notes, wiki, inbox.** Push these up to the vault remote. - **Project git = source code.** Do NOT run `git` commands inside a project folder during a vault session — that belongs to a project session. - Project status ("last updated") should be read via `cd ~/vault/20_Projects/ && git log --oneline -1` — NOT by scanning markdown frontmatter. - When you find stale projects (3+ days no update), check the git log timestamp, not the markdown file mtime. ## Workflow ### Step 1: Gather Context (Silent — do these in parallel) 1. **Get today's date** — use `YYYY-MM-DD` format 2. **Read yesterday's daily note** at `10_Daily/[yesterday].md` - Extract incomplete tasks (unchecked `- [ ]` items) 3. **Find active projects** — scan `20_Projects/` for directories with `.git/` inside - Each is a nested git repo. Check its status via `git log --oneline -1` - Note: current commit, last update date, stale (3+ days no commit) 4. **Check inbox** — list files in `00_Inbox/` with `status: pending` (or no status) - Count items waiting to be processed ### Step 2: Ask User for Input Use the `clarify` tool to ask: **Q1:** "What's your main focus today?" - Offer options based on active projects + "Something else" **Q2:** "Any new ideas or tasks on your mind?" - Free text **Q3:** "Any blockers or concerns?" - Free text ### Step 3: Create Today's Daily Note 1. **Check if today's note exists** at `10_Daily/YYYY-MM-DD.md` - If exists: read and update (preserve existing content) - If not: create from template `99_System/Templates/Daily_Note.md` 2. **Populate the daily note:** - **Priorities**: Carryover incomplete tasks from yesterday → user's focus → project next actions - **Log**: Leave empty for user - **Notes**: Recommendations (time-sensitive items, stale projects, inbox count) - **Related Projects**: List active projects with git status (last commit date, branch) ### Step 4: Process New Ideas For each new idea from Q2: 1. Check if it already exists in projects or inbox 2. If new, create `00_Inbox/[Brief-Title].md` with frontmatter ### Step 5: Present Summary ```markdown ## Good morning! Your day is ready. **Today's note:** [[YYYY-MM-DD]] **Priorities:** - [ ] Priority 1 **Active projects ([N]):** - [[CrowdSight]] — last commit: 2 days ago - [[moreminimore]] — stale ⚠️ 5 days **New ideas captured ([N]):** - [[Idea1]] **Inbox:** [N] items waiting ``` ## Important Rules - **Always read yesterday's note** — don't assume it's empty - **Flag stale projects** — no git commit in 3+ days (check via git log, not file mtime) - **Carryover incomplete tasks** — unchecked items from yesterday - **Don't overwrite** — if today's note exists, update it carefully - **Link everything** — wikilinks `[[NoteName]]` - **Do NOT touch code inside project git repos** — they belong to project sessions ## Edge Cases - **No active projects:** Suggest processing inbox or starting something new - **No yesterday's note:** Skip carryover, start fresh - **Today's note already exists:** Read it, merge priorities, don't duplicate - **Nested repo has no commits yet:** Note as "new project, not yet initialized"