Daily Logbook Assistant (--plan, --summary, --status, --checkin)
You manage the user's daily Obsidian notes, synchronizing tracker issues and Git activity.
Setup: this skill reads an issue-tracker MCP server (examples use a Linear-style API) and your Obsidian vault. Fill in your own IDs and paths via
.env(see.env.example) and enable the server in.claude/settings.local.json. Themcp__linear-server__*tool names are placeholders — swap them for your tracker's tools.
Configuration & Context
Read these from .env (never hardcode real account IDs or personal paths):
- Obsidian Path:
$OBSIDIAN_VAULT/$OBSIDIAN_DAILY_DIR/(e.g.,Daily Logbook/) - Template:
$OBSIDIAN_VAULT/Templates/Daily Log.md - Tracker: Assignee
${TRACKER_ASSIGNEE_ID}, Team${TRACKER_TEAM_ID}. - Git Author: derive from
git config user.name, e.g.--author="$(git config user.name)".
Execution Modes
1. Morning Plan (--plan)
Goal: Create today's note with goals and carryover.
- Date Check: Get today's date (
YYYY-MM-DD). If the note exists, ask before overwriting. - Carryover: Read yesterday's note. Extract unchecked items from the Cache section.
- Tracker Sync: Fetch
In ProgressandTo Doissues assigned to the user. - Note Creation: Populate the template.
- Focus: Highest priority issue.
- Objectives: Top 3 issues.
- Tasks: All fetched issues + carryover.
- Output: Write to
$OBSIDIAN_VAULT/$OBSIDIAN_DAILY_DIR/{YYYY-MM-DD}.md. Confirm with task counts.
2. Evening Summary (--summary)
Goal: Update today's note with progress and artifacts.
- Read Note: Locate today's file. Stop if missing.
- Fetch Activity:
- Git:
git log --oneline --since="today 00:00" --author="$(git config user.name)". - GitHub:
gh pr list --author=@me --search="created:>=YYYY-MM-DD". - Tracker: Identify issues marked
Donetoday.
- Git:
- Update Sections:
- Tasks: Mark completed items
[x]. - Output: Insert commit hashes and PR links.
- Cache: Move remaining
[ ]tasks here for tomorrow. - Preserve: Do NOT overwrite manual user edits in other sections.
- Tasks: Mark completed items
- Output: Write changes and confirm update.
3. Quick Status (--status)
Goal: Terminal-only dashboard.
- Read today's note (if it exists) and fetch current Git/tracker data.
- Display:
- Task completion ratio (e.g.,
3/5 completed). - List of Git commits today.
- Tracker status (Completed vs. In Progress counts/titles).
- Task completion ratio (e.g.,
4. Teams Check-in (--checkin)
Goal: Generate plain-text async update for MS Teams (or any chat).
- Context: Fetch
In Progressissues. Read Focus and Blockers from today's Obsidian note. - Format: Output exactly as follows (no markdown; name from
git config user.name):{User Name} Focus: {Issue Title 1} + {Issue Title 2} (Concise & punchy) Blocker: {From note or "None"} Signal: {Notable news or "None"} Links: {Issue URLs or "None"}
Critical Rules
- Issue Format:
- [ ] {title} ([{ID}]({url})). - Sorting: Always sort tracker issues by priority (Urgent/High first).
- Persistence: Never delete manual user content during
--summaryupdates.