AgentSkillsCN

log-triage

将每日笔记日志条目转化为结构化的收件箱笔记。无论是语音备忘录(🎤)、URL 链接(YouTube、Twitter/X、GitHub、文章),还是纯文本条目,本功能都能轻松应对。当您需要对每日日志进行分类整理、将语音备忘录转录为文字,或处理已保存的 URL 时,本功能将助您事半功倍。

SKILL.md
--- frontmatter
name: log-triage
description: Process daily note log entries into structured inbox notes. Handles voice memos (🎤), URLs (YouTube, Twitter/X, GitHub, articles), and text entries. Use when triaging daily logs, converting voice memos, or processing saved URLs.
user-invocable: true
allowed-tools: Read, Edit, mcp__plugin_para-obsidian_para-obsidian__para_read, mcp__plugin_para-obsidian_para-obsidian__para_list, mcp__plugin_para-obsidian_para-obsidian__para_create, mcp__plugin_para-obsidian_para-obsidian__para_insert, mcp__plugin_para-obsidian_para-obsidian__para_fm_set, mcp__plugin_para-obsidian_para-obsidian__para_config, mcp__plugin_para-obsidian_para-obsidian__para_template_fields, mcp__firecrawl__firecrawl_scrape, mcp__youtube-transcript__get_video_info, mcp__youtube-transcript__get_transcript, mcp__plugin_x-api_x-api__x_get_tweet, mcp__plugin_x-api_x-api__x_get_thread, mcp__plugin_x-api_x-api__x_get_user, WebFetch

Log Triage

Process daily note log entries into structured inbox notes.

Critical Rules

  1. Always confirm before creating notes
  2. Preserve raw transcriptions in voice memos (never truncate)
  3. Mark processed entries with ✅ <time> - Processed → [[Note Title]]
  4. Create notes in 00 Inbox/

Entry Detection & Handler Routing

When you encounter a log entry, detect type and load the appropriate handler:

PatternTypeHandler
- [time] - 🎤 [long text]Voice memo (>200 words)meeting-memo.md
- [time] - 🎤 [short text]Short voice memotext-entry.md
youtube.com or youtu.beYouTube videoyoutube.md
x.com or twitter.comTwitter/X posttwitter.md
Other URLsGeneric URLurl-generic.md
Plain textText entrytext-entry.md

Load the handler ONLY when you encounter that entry type. This keeps context minimal.

Session Flow

code
1. Read daily note → Find ## Log section
2. Parse entries → Detect types
3. Show triage plan → Get user confirmation
4. For each entry:
   → Load appropriate handler
   → Extract/fetch content
   → Create note
   → Mark entry as processed
5. Summary → What was created

Step 1: Find Daily Note

code
para_read({ file: "000 Timestamps/Daily Notes/YYYY-MM-DD.md" })

If no date specified, find most recent note with log entries.

Step 2: Parse Log Section

Find ## Log heading. Parse entries matching:

code
- [time] - [content]

Skip entries already marked with ✅.

Step 3: Show Triage Plan

Before processing, show what each entry will become:

code
Found 3 log entries:

1. 🎤 9:26am (~2000 words) → Meeting note
2. 🎤 12:04pm (45 words) → Capture note
3. URL 1:33pm (x.com) → Tweet clipping

Proceed? [y/n]

Step 4: Process Each Entry

Load the appropriate handler and follow its instructions for:

  • Content extraction
  • Note creation
  • Frontmatter population

Step 5: Mark as Processed

After creating the note, replace the log entry:

code
Before: - 6:21 pm - https://youtube.com/watch?v=abc123
After:  - 6:21 pm - ✅ Processed → [[✂️🎬 Channel - Video Title]]

Use the Edit tool on the daily note directly.

Templates Reference

Use para_config to get vault and templates path. Use para_template_fields to inspect required fields.

Primary: meeting, clipping Clippings: In Templates/Clippings/ - matched by URL domain