daily-journal

GitHub

交互式技能,通过对话引导用户记录开发日志。支持按时间段自动切换规划或反思模式,利用数据辅助记忆,最终生成符合规范的日记条目。

skills/daily-journal/SKILL.md ravila4/claude-adhd-skills

Trigger Scenarios

用户请求生成每日工作日志 询问今天或本周的工作内容 准备站会发言材料

Install

npx skills add ravila4/claude-adhd-skills --skill daily-journal -g -y
More Options

Use without installing

npx skills use ravila4/claude-adhd-skills@daily-journal

指定 Agent (Claude Code)

npx skills add ravila4/claude-adhd-skills --skill daily-journal -a claude-code -g -y

安装 repo 全部 skill

npx skills add ravila4/claude-adhd-skills --all -g -y

预览 repo 内 skill

npx skills add ravila4/claude-adhd-skills --list

SKILL.md

Frontmatter
{
    "name": "daily-journal",
    "description": "Draft, organize, or update development journal entries. Use when user requests daily journal generation, work review, standup preparation, or asks \"what did I work on today\/this week?\"",
    "argumentHint": "[--date YYYY-MM-DD] [--quick]",
    "userInvocable": true
}

Daily Journal

An interactive, conversational skill for creating meaningful daily journal entries. Conversation first, data second.

Table of Contents

  1. Philosophy
  2. Flow Diagram
  3. Time-Aware Interaction
  4. The Conversation
  5. Using Data as Memory Aid
  6. Markdown Conventions
  7. Template Structure
  8. CLI Reference

Philosophy

Commits are not what matters. They're often mechanical, LLM-generated, or busywork. A journal should capture:

  • What you actually focused on
  • How you felt about the work
  • What's still open in your mind
  • The human experience of the day

Conversation first, data second. Ask the user about their day. Use collected data (git, sessions) only as a memory jogger for days when they can't remember what they did.

Context matters. Weekends are different from workdays. Mornings are different from evenings. Hobby projects are valid. Tooling optimization is valid.

Flow Diagram

flowchart TD
    Start([/daily-journal]) --> CheckTime{What time is it?}

    CheckTime -->|Morning| MorningFlow
    CheckTime -->|Afternoon/Evening| EveningFlow

    subgraph MorningFlow[Morning: Planning Mode]
        M1[Read yesterday's entry] --> M2[Show yesterday's open questions]
        M2 --> M3{Ask: What's your focus today?}
        M3 --> M4{Ask: Any carryover from yesterday?}
        M4 --> M5[Create/update today's entry with intentions]
    end

    subgraph EveningFlow[Afternoon/Evening: Reflection Mode]
        E1{Ask: What did you work on?} --> E2{Ask: How did it go?}
        E2 --> E3{Ask: What's still open?}
        E3 --> E4[Offer data as memory aid]
        E4 --> E5{Anything else to add?}
        E5 --> E6[Synthesize journal from conversation]
    end

    subgraph DataAid[Data as Memory Aid]
        D1[Run collect_day_data.py] --> D2[Show: I see activity in X...]
        D2 --> D3{Worth mentioning?}
        D3 -->|Yes| D4[User describes in their words]
        D3 -->|No| D5[Skip]
    end

    E4 --> DataAid
    DataAid --> E5

    MorningFlow --> Save
    EveningFlow --> Save

    Save[Save to Obsidian] --> End([Done])

    style MorningFlow fill:#e8f4e8
    style EveningFlow fill:#e8e8f4
    style DataAid fill:#f4f4e8

Time-Aware Interaction

Check the current time before starting. Different times trigger different modes:

Time Mode Primary Questions
Before noon Planning What's your focus? Carryover from yesterday?
Afternoon (12-5pm) Mid-day check How's the day going? Stuck on anything?
Evening (after 5pm) Reflection What did you work on? How did it go?
Weekend Lighter touch What did you tinker with? Any hobby wins?

How to check:

# Get current time
date "+%H:%M %A"  # e.g., "14:32 Saturday"

Use this to:

  1. Determine mode (morning/afternoon/evening)
  2. Check if weekend (Saturday/Sunday) - add weekend tag, lighter expectations
  3. Frame questions appropriately

The Conversation

Morning Mode (Planning)

  1. Read yesterday's entry if it exists
  2. Show yesterday's "Tomorrow's focus", "Open questions"
  3. Ask:
    • "What's your main focus for today?"
    • "Any carryover from yesterday you want to tackle?"
    • "Anything blocking you?"
  4. Create entry with intentions (can be updated in evening)

Evening Mode (Reflection)

  1. Start with open questions - don't assume anything from data:

    • "What did you work on today?"
    • "How did it go? What felt good or frustrating?"
    • "Any wins? Any blockers?"
    • "What's still on your mind?"
  2. Offer data as memory aid (only after user has shared):

    • "I see you also had activity in [project] - worth mentioning?"
    • "Looks like you touched [files] - anything notable there?"
    • User can say "no, that was just mechanical" and it gets skipped
  3. Ask about tomorrow:

    • "What's your focus for tomorrow?"
    • "Any open questions to sleep on?"

Weekend Mode

  • Lighter expectations, different framing
  • "What did you tinker with today?"
  • "Any hobby wins?"
  • "Did you rest?" (rest is valid!)
  • Add weekend tag automatically

Using Data as Memory Aid

The collect_day_data.py script is a secondary tool, not the primary input.

When to use it:

  • User says "I can't remember what I did"
  • After user has shared, to jog memory for forgotten items
  • Never as the source of truth for what mattered

How to present it:

I see some activity that might jog your memory:
- 3 commits in my-project
- 45 sessions in data-pipeline
- Files touched in config skill

Any of these worth mentioning in your own words?

Running the script:

uv run ~/.claude/skills/daily-journal/scripts/collect_day_data.py [--date YYYY-MM-DD] [--skip-sessions]

Markdown Conventions

Clearly differentiate personal voice from LLM context using Obsidian-compatible markdown:

Personal Reflections (User's Voice)

Use blockquotes for the user's own words and feelings:

> Spent most of the morning yak-shaving on my dev tools again.
> It felt productive in the moment but I'm not sure it was the best use of time.
> The API debugging is getting frustrating - every fix reveals another issue.

Context/Background (LLM-Provided)

Use regular text or callouts for factual context:

> [!info] Context
> Continued from [[2026-01-23]] - API authentication debugging.
> Related to the data pipeline project.

Technical Notes (If Needed)

Use collapsible sections for technical details that shouldn't dominate:

<details>
<summary>Technical: Auth token fix</summary>

The issue was that refresh tokens were expiring before the batch job completed.
Fixed with: token rotation middleware.

</details>

Callout Types (Obsidian)

Callout Role Example titles
[!info] Context, continuity, collapsible references "Context", "Reference URLs"
[!success] Wins, milestones, progress "Win", "Big day", "Progress"
[!warning] Concerns, friction, blockers "Blocker", "Growing Pain"
[!question] Open loops, things still thinking about "Still thinking about..."
[!bug] Bugs discovered "Script Bug Found"
[!note] Observations, non-actionable insights "Observation: ..."

Use the collapsible variant ([!info]-) for bulky reference material (URLs, log snippets).

See callout-conventions.md for detailed examples and placement guidance.

Template Structure

The final journal should feel personal, not mechanical:

---
date: {date}
tags:
  - daily-log
  - {weekend if applicable}
  - {project tags from conversation}
---

## {date} - {day of week}

> {User's summary of the day in their own words - from conversation}

### What I Worked On

> {User's description of their focus, in their voice}

> [!info] Context
> {Any relevant background - continued from yesterday, etc.}

### How It Went

> {User's reflection on the experience - what felt good, what was frustrating}

### Open Loops

> [!question] Still thinking about...
> - {Open questions from conversation}
> - {Blockers mentioned}

### Tomorrow

> {User's stated intentions for tomorrow}

---

*{Day character} - {One-line takeaway}*

## Related

- [[{relevant links}]]

CLI Reference

Flag Description
--date YYYY-MM-DD Target date (default: today)
--quick Skip interactive questions, just use data (not recommended)

Editing Past Entries

Never delete historical context. Journal entries are a record of thinking over time - even wrong thinking has value.

  • Cross out outdated items with strikethrough: ~~Outdated info~~
  • Add a brief explanation when crossing out: ~~Thought X caused the bug~~ Turned out to be a race condition
  • Only delete if something is factually incorrect (e.g., wrong date, wrong project name)
  • Completed items, debunked theories, abandoned plans, tasks no longer relevant -> strike through, don't delete

Examples:

### Open Loops

> [!question] Still thinking about...
> - ~~Should I re-run step 1 after the config change?~~ No, step 2 handles it
> - ~~Investigate flaky test in pipeline~~ Was a CI caching issue, fixed 2026-01-25
> - New question that replaced the old one

Day Footer

Every entry ends with a footer: a horizontal rule followed by an italicized one-liner that captures the overall character of the day. This goes after the last content section and before the Related links.

Format: *{Day character} - {One-line takeaway}*

The "day character" is a brief descriptor of the day's shape -- how long, what kind of energy. The takeaway summarizes the arc.

---

*Full day - Auth system working, merged feature branches, but blocked on deploy permissions for live testing*

Guidelines:

  • Always include when closing off an entry at end of day
  • Day character can mention: duration (short/full/long), time of day (morning/evening/overnight), energy (productive/scattered/chill)
  • Takeaway should be conversational, not a formal summary
  • Keep it to one line

Anti-Patterns

Don't:

  • Lead with commits or session counts
  • Generate a "report" from data
  • Assume commits = what mattered
  • Write in third person about the user
  • Fill in feelings or reflections without asking
  • Delete outdated entries, completed items, or debunked theories (strike them out instead)

Do:

  • Ask open questions first
  • Let user describe in their own words
  • Use data only as memory jogger
  • Preserve the user's voice in the final output
  • Respect that rest and hobby time are valid

Version History

  • f99e0a3 Current 2026-07-25 05:30

Same Skill Collection

skills/nudge/SKILL.md
skills/obsidian-vault/SKILL.md
skills/test-driven-development/SKILL.md

Metadata

Files
0
Version
f99e0a3
Hash
f01603ef
Indexed
2026-07-25 05:30

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 07:42
浙ICP备14020137号-1 $Гость$