Install
openclaw skills install @hongquanxu1993/obsidian-daily-noteWrite structured entries into an Obsidian daily note vault. Use when the user sends text, links, or content to be recorded, including research notes, task summaries, ideas, URLs, or meeting takeaways. Triggered by phrases like 记一下, 写入笔记, 记录, 帮我记, 写进obsidian, or when the user pastes URLs. On first use, guides setup of the Obsidian vault path.
openclaw skills install @hongquanxu1993/obsidian-daily-noteWrite user-supplied content into an Obsidian daily note file with consistent formatting. The skill handles vault path configuration (saved once per user), file auto-creation, timestamp generation, content prepending (newest first), and smart URL title extraction.
On the very first invocation, the vault path is not yet configured. Resolve it in this order:
Check config file: Read ~/.workbuddy/obsidian-daily-note.json.
If it contains a vault_path, use it. If daily_notes_subdir is also
present, append it to form the full daily notes directory.
Check environment variable: If no config file exists, check
OBSIDIAN_DAILY_VAULT env var. If set, use it as the vault root
(daily notes go directly in that directory).
Ask the user: If neither exists, ask the user once for their Obsidian vault path and daily notes subdirectory. Example prompts:
Save config: After resolving the path, save it to
~/.workbuddy/obsidian-daily-note.json:
{
"vault_path": "D:\\obsidian_华为",
"daily_notes_subdir": "5-每日笔记"
}
This prevents asking again on future invocations.
Proceed: After setup is complete, continue with the normal workflow below.
此技能仅在用户明确指定时触发。 用户必须明确说出类似于以下
的短语,或通过 @skill:obsidian-daily-note 显式调用:
注意:模糊的表述(如"记一下""记录")不应自动触发此技能。 助手不得在未收到明确指令的情况下主动写入 Obsidian。
Do NOT activate for conversational remarks, questions, greetings, or instructions directed at the assistant itself.
~/.workbuddy/obsidian-daily-note.json{vault_path}/{daily_notes_subdir}/ (or just
{vault_path}/ if subdir is empty)YYYY-MM-DD.md (based on current date)Every entry must follow these rules exactly:
Newest first (prepend): New content is always inserted at the top of the file, before any existing content.
Timestamp: Each entry starts with ### HH:MM (24-hour format, current
time). Use a ### heading (Obsidian H3) for the timestamp line, followed
by a space and the user's content on the same line.
Content — verbatim only: Write the user's content exactly as given.
Never rewrite, summarize, rephrase, elaborate, or add your own
interpretation. If the user says "下午预估2年保有量 预估三版本2年规模数据",
write exactly that. Do not change wording, add context, or restructure.
The only additions allowed are the ### HH:MM timestamp and the ---
separator.
Bold over headings: If the user's content contains headings, use
**bold** instead of #, ##, ###. The timestamp is the only heading.
Entry separator: If the file already contains previous entries,
insert a --- (horizontal rule) on its own line between the new entry
and the existing content below it.
Trailing newline: Ensure the file ends with exactly one blank line.
Images: If the user attaches an image, copy it to
{daily_notes_dir}/attachments/ and reference it in the note using
Obsidian wiki-link syntax: ![[attachments/filename.png]].
### 14:30 下午预估2年保有量 预估三版本2年规模数据
![[attachments/screenshot.png]]
---
### 12:05 上午做了某件事
When the user provides URLs in their note content:
<title> tag.[页面标题](URL)When triggered:
Resolve path: Read ~/.workbuddy/obsidian-daily-note.json to get
the daily notes directory. If not configured, follow the Initial Setup
steps first.
Determine date: Get the current date in YYYY-MM-DD format.
Check file: Read {daily_notes_dir}/{date}.md. If it doesn't exist,
create it (can be empty).
Get current time: Format as HH:MM (24-hour).
Build entry block: Compose ### HH:MM <content>\n following all
format rules above.
Handle URLs: For any URLs in the content, try WebFetch to extract the page title. If it fails silently, keep the link + description.
Prepend: Insert the new entry at the top of the file. If the file
already has content, add ---\n\n after the new entry and before the
existing content.
Present: Briefly confirm to the user that the note was written, showing the entry that was added.