obsidian-diary
Obsidian Diary & Note Organizer
Description
This skill acts as an intelligent secretary for your Obsidian knowledge base. It takes raw content from Tools/chat/daily summary.md and put it into the right place, when compiling the content, it follows following steps:
- Formats it according to your
Tools/chat/daily summary.mdprompt. - Appends diary entries to
Logging/Daily/. - Identifies people, resolves their aliases, and updates their files in
People/. - Extracts knowledge points to relevant documents.
- Removes the raw content from the
Tools/chat/daily summary.md.
You should process the raw content one section at a time, usually by day. Do not compile all sections together in a single batch.
Workflow
1. Context Loading
- Read the file `Tools/chat/daily summary.md` in the vault. Follow the prompt and instructions at the top of that file to decide how to summarize and format the text.
- The raw content that needs to be compiled is found in the `User` section.
2. Entity Resolution (Crucial)
Before writing, you must identify who is mentioned in the text.
- Step 1: Run the
obsidian-peopleskill to get a master list of names and aliases.~/.gemini/skills/obsidian-people/run.sh <PATH_TO_VAULT_ROOT> - Step 2: Analyze the raw text. Match any names, nicknames, or references (e.g., "Jim", "Boss") to the canonical filenames returned by the script (e.g., "Jim" might match
People/James.mdvia an alias).
3. Execution (File Editing)
A. Update Daily Log
- Target:
Logging/Daily/YYYY-MM-DD.md(Use today's date). - Action:
- Read the file to understand its current structure.
- Move the raw content from the summary into the diary.
- Add the compiled content to the diary, following the instructions in
Tools/chat/daily summary.md. - Remove the raw content from
Tools/chat/daily summary.mdafter it has been moved. Keep the original information in theLogging/Daily/YYYY-MM-DD.mdas much as possible.- In the end, the diary should contain the raw content, the compiled content, and any derived information based on the instructions.
- Remove the raw content from the summary right after updating
Logging/Daily/YYYY-MM-DD.md. Do not wait until the end to delete it.
B. Update People Files
- Target: The matched
People/<CanonicalName>.mdfiles. - Action:
- For each person mentioned, extract the relevant context or information about them.
- Read their file.
- Update the person’s file only when necessary. Do not copy the diary entry into the person’s file. Instead, add or adjust information only when it helps clarify or improve what is already there.
- If the information is already included in the diary, you do not need to add it again to the people file. I can find it through tags.
- Add a tag like
#p/...pointing to the related people file. Use this tag in the daily log to link the summarized content to that person. Make sure the tag appears in the diary entry.
- When adding a tag, make sure there is a space before and after it so Obsidian can recognize it correctly.
C. Knowledge & Concepts
- Target: Relevant topic files (search for them if needed) or new files.
- Action: Append or insert the structured knowledge points.
D. Remove the compiled text from the raw text
- Target: The compiled raw text in
Tools/chat/daily summary.md.
Example Usage
User: "Today I met with Lao Wang, we discussed the new AI project structure. Also, I realized that RAG requires better chunking strategies."
Agent Actions:
- Read
Tools/chat/daily summary.md. - Run
obsidian-people/run.sh. Find that "Lao Wang" is an alias forPeople/Wang Xiaoming.md. - Update
Logging/Daily/202X-XX-XX.md: Move the meeting notes fromTools/chat/daily summary.mdinto the daily log, and further refine or expand the content based on what is required indaily summary.md. - Update
People/Wang Xiaoming.md: Append "- [[202X-XX-XX]]: Discussed AI project structure." - Update
RAG.md(or similar): Append the note about chunking strategies.
Tips
The text in Tools/chat/daily summary.md is generated by speech recognition, so it may not be perfect.
So try to align the people mentioned in the text with the canonical names in People/ directory. But don't change the content in People/