Help us improve
Share bugs, ideas, or general feedback.
From hyday
Write, read, and summarize Hyday journal entries with Life Log marks for time-stamped events, thoughts, and highlights. Use whenever the user writes, reads, summarizes, lists, or extracts data from journal `.md` files (filename matches `YYYY-MM-DD.md` or `YYYY.MM.DD.md`) — e.g. "今天做了什麼", "幫我寫今天的日誌", "撈出這週的待辦/想法", "我這個月寫了什麼", "yesterday's journal", "summarize this week" — or mentions journal, daily entry, life log, task start/end, or the special marks `>()`, `<()`, `-()`, `%()`, `!()`.
npx claudepluginhub mukiwu/hyday-skills --plugin hydayHow this skill is triggered — by the user, by Claude, or both
Slash command
/hyday:hyday-lifelogThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **First time in this conversation? Run Step 0 from `hyday-vault-layout` to find the vault root.** This skill assumes you already know where the user's Hyday folder lives on disk. Resolve it from `~/Library/Application Support/Hyday/settings.json` (macOS) or `%APPDATA%\Hyday\settings.json` (Windows) — `journalPath` field. Don't guess, and don't ask the user unless the config lookup fails.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Breaks plans, specs, or PRDs into thin vertical-slice issues on the project issue tracker using tracer bullets. Useful for converting high-level work into grabbable implementation tickets.
Share bugs, ideas, or general feedback.
First time in this conversation? Run Step 0 from
hyday-vault-layoutto find the vault root. This skill assumes you already know where the user's Hyday folder lives on disk. Resolve it from~/Library/Application Support/Hyday/settings.json(macOS) or%APPDATA%\Hyday\settings.json(Windows) —journalPathfield. Don't guess, and don't ask the user unless the config lookup fails.
Hyday's journal is a per-day Markdown file decorated with five Life Log marks — short inline annotations that turn a free-form daily log into something Hyday can parse for task ranges, thoughts, and highlights.
A journal entry is a .md file whose filename is a date:
2026-05-17.md ← preferred form2026.05.17.md ← also accepted (dot-separated)Files matching this pattern are auto-typed as journal. Do not set type: "journal" in frontmatter — the filename does it.
Journal files normally live under journal/<year>/<date>.md. See hyday-vault-layout for placement details.
YYYY-MM-DD.md, placed under journal/<year>/.tags is the most common field.Marks split into two categories by what goes inside the parentheses.
HH:mmThe mark itself only carries the time. Write the event description as plain text on the same line, next to the mark.
| Mark | Type | Meaning |
|---|---|---|
>(HH:mm) | taskStart | Started a task / event |
<(HH:mm) | taskEnd | Finished a task / event |
-(HH:mm) | current | Snapshot of "what's happening right now" |
>(09:00) Inbox triage and morning planning
<(09:45) Done with inbox — 12 emails left for tomorrow
-(10:30) Stuck on the migration script, taking a walk
The text inside the parentheses is the content; nothing else needs to be written.
| Mark | Type | Meaning |
|---|---|---|
%(text) | thought | A passing thought, a hunch, a "note to self" |
!(text) | important | Something to flag — decision, surprise, takeaway |
%(maybe the bug is in the migration, not the API)
!(decided to ship v2 without the dashboard rewrite)
>(09:00) Did X ✓ — - >(09:00) Did X puts the mark inside a list item, which still works but is less common.>(09:00) <(10:00) ... (two marks on one line) is technically valid but harder to read; usually you write <(10:00) on its own line later.%(>(09:00) thought) is treated as literal text.```) or inline code (`) are not parsed — useful when documenting the syntax itself.HH:mm for time marks. >(9:00) works (single-digit hour); seconds are not parsed.| Situation | Mark |
|---|---|
| About to start something — meeting, deep-work block, errand | >(HH:mm) <description> |
| Just finished something | <(HH:mm) <description> |
| Pausing mid-task to capture state | -(HH:mm) <description> |
| Random idea you don't want to lose | %(<idea>) |
| Worth remembering — decision, insight, surprise | !(<thing>) |
A common pattern: >(...) and <(...) bracket a focused block of work, the body in between describes what happened, with %(...) and !(...) scattered throughout for thoughts and highlights.
Inside a journal body you can also use everything from hyday-markdown:
#tag — inline tags@(Label) — entities (people, projects, places)[[note-id]] — links to other notes or other journal datesjournal/2026/2026-05-17.md:
---
tags:
- "monday"
---
# 2026-05-17
>(08:30) Morning routine — coffee, glanced at #news
<(09:00) Done — feeling alert
>(09:00) Inbox triage and replies to @(Aaron) about the launch
%(Aaron's last reply suggests we should rethink the onboarding copy)
<(09:45) Done — 12 emails left for tomorrow
-(10:30) Working on the migration script for [[Project Alpha]]
!(Realized the old script assumes UTC; new one needs to honour user timezone)
>(11:00) Standup
<(11:15) Done — decided to defer the dashboard work to next sprint
## Afternoon
>(13:00) Deep work on [[Atomic Habits — Chapter 3 notes]] writeup
%(I should batch this kind of synthesis work into one slot, not three)
<(15:00) Wrapped — draft is ready for review
!(Big takeaway today: the migration timezone bug would have shipped if I hadn't run the seed script manually)
After writing a journal entry, verify:
YYYY-MM-DD.md (or YYYY.MM.DD.md).type: "journal".HH:mm inside parentheses, with description as plain text next to the mark — not inside the parens.%(), !()) have the meaningful text inside the parens.hyday-markdown skillhyday-vault-layout skill