| name | daily |
| description | Run the user's daily vault harvest cycle: YouTube transcripts → voice captures → daily enrichment → phone calls → inbox processing. Each sub-skill is idempotent, so re-runs are safe. Use when the user says "do my daily stuff", "run my dailies", "daily cycle", "morning run", "run the daily", or similar.
|
Daily Cycle
Orchestrates the user's recurring vault harvest workflow. Each step delegates to an existing skill and is safely idempotent — re-running mid-day is fine.
Order (fixed)
- process-youtube-transcript — must run first so inbox-processor's enrichment gate doesn't hold back YouTube clippings
- obsidian-capture — voice notes into daily note
- obsidian-enrich-daily — git/photos/journal breadcrumbs (includes 7-day lookback for missed days)
- icloud-calls — phone transcripts into inbox
- inbox-processor — interactive (stops for user approval before filing)
Execution
For each step in order:
- Announce: print
▶ Step N/5: <skill-name>
- Run the skill via the Skill tool (e.g.
Skill("process-youtube-transcript")). Each sub-skill handles its own vault-operator delegation for model routing — don't invoke agents directly from here.
- Wait for completion and capture the sub-skill's summary.
- Report one line back to the user:
✓ Step N: <one-line summary> or ⚠ Step N: <what failed>.
- Continue even on soft failures (e.g. "No captures to process", "No unprocessed transcripts"). Only halt on hard failures — missing CLI, unreachable vault, permission errors — and report which step blocked.
After step 4, pause and announce: ▶ Step 5/5: inbox-processor — this is interactive. Proceeding to categorize… — then run inbox-processor normally. It will present a filing plan and wait for user approval before Phase 2.
Idempotency guarantees
Each sub-skill is safe to re-run:
- youtube —
ai-processed frontmatter list skips already-enriched notes
- capture — timestamp dedup on
**HH:MM:SS** in daily note + cp /dev/null clear is idempotent
- enrich-daily — per-host run history +
>= re-journal filter; missed days backfilled within 7-day window
- icloud-calls — Apple Notes ID tracked in
zz_config/skill_history/icloud-calls.md
- inbox-processor — only moves notes the user approves in the current run
If you re-run mid-day and there's nothing new, each step reports "nothing to do" and the cycle completes quickly.
Edge cases
- Obsidian not running: Step 2 preflight fails. Report and stop the cycle — remaining steps all need the CLI.
- User interrupts at step 5: That's normal. Steps 1-4 already wrote their output; nothing to roll back.
- Partial run resumption: Just re-run
/daily. Idempotency ensures completed steps become no-ops.
Final report
After all steps complete (or the cycle halts), print a compact summary table:
| # | Skill | Result |
|---|----------------------|---------------------------------|
| 1 | youtube | 2 transcripts enriched |
| 2 | capture | 4 voice notes → 2 daily notes |
| 3 | enrich-daily | 3 days backfilled |
| 4 | icloud-calls | 1 new transcript |
| 5 | inbox-processor | 7 filed, 2 held back |