Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:19:46 +08:00
commit c22e0a7809
18 changed files with 2257 additions and 0 deletions

View File

@@ -0,0 +1,111 @@
---
name: pkm:daily-review
description: Complete the Daily Review section for end-of-day reflection in Obsidian
---
# Daily Review Skill
This skill helps you close out your day by completing the **🌙 Daily Review** section with tasks completed, time usage, insights, and tomorrow's priorities.
## Purpose
Automatically complete the **🌙 Daily Review** section with:
- Tasks completed today
- Time usage from Google Calendar and pomodoro tracking
- Key insights and learnings
- Suggestions for tomorrow's work
## Context
- **Daily notes location**: `20_Notes/Journal/YYYY/Mnn/YYYY-MM-DD.md`
- **Obsidian vault**: `~/Obsidian/Altellus`
- **Date logic**: If current time is before 04:00 AM, use previous day's date for the review
- Example: 2025-11-19 02:30 AM → review 2025-11-18
- Example: 2025-11-19 05:00 AM → review 2025-11-19
- **TaskNotes data**: Pomodoro tracking may be in YAML frontmatter (`pomodoros` field)
## Workflow
### 1. Determine target date
- Check current time
- If before 04:00 AM, use previous day's date
- Otherwise, use today's date
### 2. Check Google Calendar
- Use the `/pkm:gcal-today` command to fetch events
- TaskNotes already has Google Calendar ICS subscriptions configured
- Extract scheduled meetings, appointments, and time blocks
### 3. Read target date's daily note (TaskNotes format)
- Extract completed tasks in TaskNotes format: `- [x] [[Task Name]] ✅ YYYY-MM-DD`
- Check YAML frontmatter `pomodoros` array for time tracking data
- Review content added during the day
### 4. Fill "오늘 완료" (Tasks Completed) section - TaskNotes format
- List all completed tasks: `- [x] [[Task Name]] ✅ YYYY-MM-DD`
- Search in "오늘 이어서 할 일" section and Notes section
- If no tasks completed, note what was worked on instead
### 5. Fill "시간 사용" (Time Usage) section - TaskNotes Pomodoro format
- Count total pomodoros from YAML `pomodoros` array length
- Group by taskPath and display as: `Task Name - 🍅🍅🍅: 3`
- Show total with tomato emoji count: `총 🍅🍅🍅🍅🍅🍅: 6 pomodoros`
- List calendar events from Google Calendar:
- `- HH:MM-HH:MM: Event Title`
### 6. Fill "인사이트" (Insights) section
- Extract key learnings, discoveries, or patterns from today's notes
- What worked well? What didn't?
- Any blockers or important realizations?
- Consider how calendar events aligned with planned work
### 7. Fill "내일 제안" (Tomorrow's Suggestions) section - TaskNotes format
- Based on incomplete tasks and insights, suggest priorities for tomorrow
- Format as `- [ ] [[Task Name]]` (TaskNotes wikilink format)
- Connect to blockers or unfinished work
- Prioritize incomplete tasks from today
## Output Format
Provide only the "🌙 Daily Review" section content to update in today's note.
**Important**:
- DO NOT modify the "## Retro" section (user fills this manually)
- DO NOT modify other sections
- Preserve all frontmatter and existing content
## Usage
This skill is called via the `/pkm:daily-review` command, typically at the end of the workday or before bed.
## Integration
- Uses the **gcal-review** skill for Google Calendar integration
- Reads YAML frontmatter for pomodoro tracking
- Works with **Periodic Notes** plugin in Obsidian
- Respects the early-morning edge case (reviews previous day if before 4 AM)
## Example
**Input**: User runs `/pkm:daily-review` on 2025-11-19 at 10:00 PM
**Process**:
1. Determine target date: 2025-11-19 (after 4 AM)
2. Fetch calendar events for 2025-11-19 using `gcal-review`
3. Read `~/Obsidian/Altellus/20_Notes/Journal/2025/M11/2025-11-19.md`
4. Extract completed tasks marked with `[x]`
5. Calculate time usage from calendar + pomodoros in YAML
6. Generate insights from note content
7. Suggest tomorrow's priorities based on incomplete work
**Output**: Updated "🌙 Daily Review" section with all subsections filled.

View File

@@ -0,0 +1,100 @@
---
name: pkm:daily-setup
description: Generate or update the Daily Notes section for morning daily note setup in Obsidian
---
# Daily Setup Skill
This skill helps you start your day by creating or updating today's daily note in your Obsidian vault.
## Purpose
Automatically create or update the **🌅 Daily Notes** section of your daily note with:
- Summary of yesterday's work
- Incomplete tasks carried forward
- Proper date navigation
## Context
- **Daily notes location**: `20_Notes/Journal/YYYY/Mnn/YYYY-MM-DD.md`
- **Template**: `90_Templates/Temporal/Daily.md`
- **Obsidian vault**: `~/Obsidian/Altellus`
- **Today's date**: Use current date to determine the file path
## Workflow
### 1. Check if today's daily note exists
- Path format: `20_Notes/Journal/2025/M11/2025-11-18.md` (example)
- If it doesn't exist, create it from the template at `90_Templates/Temporal/Daily.md`
### 2. Fill "어제 요약" (Yesterday Summary) section
- Read yesterday's daily note from `20_Notes/Journal/YYYY/Mnn/YYYY-MM-DD.md`
- Summarize:
- Completed tasks (marked with `[x]`)
- Main activities from the note content
- Key insights from the Daily Review section
- List any incomplete tasks from yesterday
- Update the wikilink to yesterday's date: `[[YYYY-MM-DD]]`
### 3. Handle "오늘 이어서 할 일" (Tasks to Continue Today) section - TaskNotes format
- Extract incomplete tasks from yesterday in TaskNotes format: `- [ ] [[Task Name]]`
- Exclude completed tasks: `- [x] [[Task Name]] ✅ YYYY-MM-DD`
- **Update scheduled date for overdue tasks:**
- For each incomplete task from yesterday, read the task file from `00_Inbox/Tasks/`
- If the task's `scheduled` date in frontmatter is before today, update it to today's date (YYYY-MM-DD)
- This ensures overdue tasks are rescheduled to today
- If user provides new tasks, add them as `- [ ] [[Task Name]]` wikilinks
- TaskNotes: Tasks are individual markdown files in `00_Inbox/Tasks/` folder
### 4. Fill "관련 노트" (Related Notes) section automatically
- Extract wikilinks from yesterday's Notes section
- Extract task paths from yesterday's YAML `pomodoros` array (taskPath field)
- Remove duplicates and list as `- [[Note Name]]`
- This provides automatic tracking of what notes/tasks you worked on yesterday
### 5. Leave empty sections as-is
These sections are filled by the user during the day:
- **감사노트** (gratitude) - user fills this
- **오늘의 포커스** (today's focus) - user defines
## Output Format
Provide the complete content to write/update in today's daily note, preserving all frontmatter and structure.
**Important**:
- Only modify the "🌅 Daily Notes" section
- Leave "## Notes", "## Retro", and "🌙 Daily Review" sections untouched
- Preserve all YAML frontmatter (especially pomodoro tracking)
## Usage
This skill is called via the `/pkm:daily-setup` command, typically first thing in the morning to prepare your daily note.
## Integration
- Works with **Periodic Notes** plugin in Obsidian
- Reads from the daily note template
- Maintains wikilink navigation between dates
- Respects YAML frontmatter structure
## Example
**Input**: User runs `/pkm:daily-setup` on 2025-11-19
**Process**:
1. Check if `20_Notes/Journal/2025/M11/2025-11-19.md` exists
2. Read yesterday's note: `20_Notes/Journal/2025/M11/2025-11-18.md`
3. Extract completed tasks and insights from 2025-11-18
4. Create/update today's note with yesterday's summary
5. Link to yesterday: `[[2025-11-18]]`
**Output**: Updated daily note with filled "어제 요약" section and wikilink navigation ready for the day.

View File

@@ -0,0 +1,137 @@
---
name: pkm:monthly-review
description: Generate or update the Monthly Summary section by aggregating weekly notes in Obsidian
---
# Monthly Review Skill
This skill helps you reflect on your month by aggregating data from your weekly notes and generating comprehensive monthly insights.
## Purpose
Automatically generate the **📅 Monthly Summary** with:
- Monthly highlights and major achievements
- Monthly KPIs aggregated from weekly data
- Goal progress tracking
- Long-term patterns and trends
- Monthly themes
- Next month's objectives
## Context
- **Monthly notes location**: `20_Notes/Journal/YYYY/Mnn/YYYY-Mmm.md`
- **Weekly notes location**: `20_Notes/Journal/YYYY/Mnn/YYYY-Www.md`
- **Obsidian vault**: `~/Obsidian/Altellus`
- **Current month**: Calculate from today's date
- **Review period**: All weekly notes from the current month (typically 4-5 weeks)
## Workflow
### 1. Identify the monthly note
- Calculate current month (e.g., `2025-M11` for November)
- Path format: `~/Obsidian/Altellus/20_Notes/Journal/2025/M11/2025-M11.md`
- Create from template if doesn't exist
### 2. Aggregate weekly notes (TaskNotes format)
- Identify all weekly notes in the current month (e.g., 2025-W44 through 2025-W47)
- Read each weekly note from `20_Notes/Journal/YYYY/Mnn/YYYY-Www.md`
- Extract highlights, KPIs, insights, blockers, and project statuses
- Extract completed tasks: `- [x] [[Task Name]]`
### 3. Fill "월간 하이라이트" (Monthly Highlights) - TaskNotes format
- List 5-7 major achievements across the month
- Use TaskNotes format: `- [x] [[Task Name]]` for highlights
- Significant milestones reached
- Major projects completed or advanced
- Key wins and breakthroughs
### 4. Fill "월간 KPI" (Monthly KPIs) - TaskNotes format
- **평균 완료율** (Average completion rate): Average of weekly completion rates
- **총 Pomodoros**: Sum of all weekly pomodoros
- **주간 평균**: Total pomodoros / number of weeks
- Display with emoji: `총 🍅 x 140 (4주간)`
- Example format:
- `- 평균 완료율: 76% (across 4 weeks)`
- `- 총 Pomodoros: 🍅 x 140`
- `- 주간 평균: 35 pomodoros/week`
### 5. Fill "목표 진행도" (Goal Progress)
- Review monthly or quarterly goals
- Track progress on each goal
- Format: `- [[Goal Name]] — X% complete / status`
- Note which goals are on track vs behind
### 6. Fill "🧠 Monthly Themes & Patterns"
- Identify recurring themes across multiple weeks
- What patterns emerged this month?
- What working styles or approaches were most effective?
- Any systemic issues that need addressing?
### 7. Fill "📊 Project Portfolio"
- List all projects worked on during the month
- Current status of each project
- Time investment per project (if tracked)
- Format: `- [[Project Name]] — status, time invested`
### 8. Fill "🚧 Persistent Blockers" - TaskNotes format
- Blockers appearing in 2+ weekly reviews: `- [ ] [[Task Name]]`
- Format: `- [ ] [[Task Name]] — X주 연속 미완료`
- Long-term obstacles still unresolved
- Dependencies causing repeated delays
- Systemic issues requiring strategic solutions
### 9. Fill "🎯 다음 달 목표" (Next Month Objectives) - TaskNotes format
- Based on monthly insights and persistent blockers
- 3-5 key objectives for next month
- Format as TaskNotes checklist: `- [ ] [[Objective]]`
- Connect to unfinished important work
- Include blocker resolution strategies
- Prioritize persistent blocker resolution
## Output Format
Provide the complete monthly note content with all sections filled.
**Important**:
- Aggregate data from actual weekly notes, not assumptions
- Calculate real numbers for KPIs from weekly data
- Preserve frontmatter and template structure
- Look for long-term trends, not just week-to-week variations
## Usage
This skill is called via the `/pkm:monthly-review` command, typically at the end of the month (last day or first day of new month).
## Integration
- Works with **Periodic Notes** plugin in Obsidian
- Reads weekly notes from the current month
- Aggregates weekly KPI data
- Links to weekly notes using wikilinks
## Example
**Input**: User runs `/pkm:monthly-review` on 2025-11-30 (end of November)
**Process**:
1. Calculate month: `2025-M11` (November)
2. Identify monthly note: `~/Obsidian/Altellus/20_Notes/Journal/2025/M11/2025-M11.md`
3. Find weekly notes in November: W44, W45, W46, W47, W48 (5 weeks)
4. Read each weekly note
5. Extract from each week:
- Weekly highlights
- Completion rate
- Total focus time
- Projects mentioned
- Insights
- Blockers
6. Aggregate and analyze:
- Average completion rate: (75% + 80% + 72% + 78% + 81%) / 5 = 77.2%
- Total focus time: 32 + 28 + 35 + 30 + 33 = 158 hours
- Weekly average: 31.6 hours
- Identify projects: Project A (4 weeks), Project B (3 weeks), Project C (2 weeks)
- Find persistent blockers: Items mentioned in 3+ weeks
7. Identify monthly themes and long-term patterns
8. Set next month's objectives
**Output**: Complete monthly note with all sections filled based on aggregated monthly data.

View File

@@ -0,0 +1,129 @@
---
name: pkm:weekly-review
description: Generate or update the Weekly Summary section by aggregating daily notes in Obsidian
---
# Weekly Review Skill
This skill helps you reflect on your week by aggregating data from your daily notes and generating comprehensive weekly insights.
## Purpose
Automatically generate the **📆 Weekly Summary** with:
- Weekly highlights and accomplishments
- KPIs (completion rate, total focus time)
- Project status tracking
- Insights and patterns
- Blockers and delayed tasks
- Next week's priorities
## Context
- **Weekly notes location**: `20_Notes/Journal/YYYY/Mnn/YYYY-Www.md`
- **Daily notes location**: `20_Notes/Journal/YYYY/Mnn/YYYY-MM-DD.md`
- **Obsidian vault**: `~/Obsidian/Altellus`
- **Current week**: Calculate from today's date
- **Review period**: Past 7 days of daily notes
## Workflow
### 1. Identify the weekly note
- Calculate current week number (e.g., `2025-W46`)
- Path format: `~/Obsidian/Altellus/20_Notes/Journal/2025/M11/2025-W46.md`
- Create from template if doesn't exist
### 2. Aggregate daily notes (TaskNotes format)
- Read the past 7 daily notes from `20_Notes/Journal/`
- Extract completed tasks in TaskNotes format: `- [x] [[Task Name]] ✅ YYYY-MM-DD`
- Extract incomplete tasks: `- [ ] [[Task Name]]`
- Count pomodoros from YAML `pomodoros` array in each daily note
- Collect data from both "🌅 Daily Notes" and "🌙 Daily Review" sections
### 3. Fill "주간 하이라이트" (Weekly Highlights)
- List 3-5 major accomplishments this week
- Use TaskNotes format for highlights: `- [x] [[Task Name]]`
- What moved forward? What was completed?
- Focus on significant wins and progress
### 4. Fill "KPI & 지표" (KPIs & Metrics) - TaskNotes format
- **완료율** (Completion rate): Count completed vs total TaskNotes tasks
- **총 Pomodoros**: Sum `pomodoros` array length from all 7 daily notes
- Display with emoji: `총 🍅 x 35 (7일간)`
- Show daily average: `일평균: 5 pomodoros/day`
- Example format:
- `- 완료율: 23/30 tasks (77%)`
- `- 총 Pomodoros: 🍅 x 35`
### 5. Fill "주요 프로젝트 상태" (Project Status)
- Identify projects mentioned across the week
- Track progress and current status
- Format: `- [[Project Name]] — status description`
### 6. Fill "🧠 Insights"
- Patterns discovered across the week
- What worked well consistently?
- What recurring issues appeared?
- Any systemic improvements needed?
### 7. Fill "⏱ Time & Energy"
- Project-wise time breakdown
- Energy flow observations (when was most productive?)
- Time allocation vs. planned focus areas
### 8. Fill "🧱 Blockers" - TaskNotes format
- Find TaskNotes tasks appearing 3+ days without completion: `- [ ] [[Task Name]]`
- Format: `- [ ] [[Task Name]] — X일 연속 미완료`
- Recurring obstacles that appeared multiple times
- External dependencies blocking progress
- Identify root causes if visible
### 9. Fill "🎯 다음 주 우선순위" (Next Week Priorities) - TaskNotes format
- Based on blockers and incomplete work
- Format as TaskNotes checklist: `- [ ] [[Priority Task]]`
- Connect to blocker resolutions
- Include carried-forward important tasks
- Prioritize delayed tasks from blockers section
## Output Format
Provide the complete weekly note content with all sections filled.
**Important**:
- Pull data from actual daily notes, not assumptions
- Calculate real numbers for KPIs from TaskNotes YAML frontmatter
- Preserve frontmatter and template structure
- Base all insights on actual data from the 7 daily notes
## Usage
This skill is called via the `/pkm:weekly-review` command, typically on Friday evening or Sunday evening to reflect on the week.
## Integration
- Works with **Periodic Notes** plugin in Obsidian
- Reads daily notes from the past 7 days
- Aggregates YAML frontmatter data (pomodoros)
- Links to daily notes using wikilinks
## Example
**Input**: User runs `/pkm:weekly-review` on 2025-11-22 (Friday of week 47)
**Process**:
1. Calculate week number: `2025-W47`
2. Identify weekly note: `~/Obsidian/Altellus/20_Notes/Journal/2025/M11/2025-W47.md`
3. Read 7 daily notes: 2025-11-16 through 2025-11-22
4. Extract from each daily note:
- Completed tasks from "오늘 완료"
- Pomodoros from YAML frontmatter
- Insights from "인사이트"
- Projects mentioned
- Incomplete tasks
5. Aggregate and analyze:
- Count total tasks: 23 completed / 30 total = 77%
- Sum pomodoros: 58 total = 29 hours
- Identify projects: Project A, Project B, Project C
- Find blockers: Tasks mentioned 3+ days
6. Generate insights and priorities
**Output**: Complete weekly note with all 9 sections filled based on actual weekly data.