Use this skill when you want to summarize progress, write a daily dev log, or perform a daily review while keeping project contexts isolated and synced to Notion/Obsidian.
🚨 Agent One-Shot Integrity Constraint (Highest Priority): Steps 1-4 are an indivisible atomic workflow. The AI MUST use Continuous Tool Calling to complete all actions in one breath.
ABSOLUTELY FORBIDDEN to output conversational text and wait for the user after completing Step 1, 2, or 3.
Example: Immediately after saving the file in Step 1, you must automatically and instantly call the terminal tool to execute the script in Step 2. Stopping to chat or asking "Should I continue?" is considered a critical error. Only inform the user explicitly if you are stuck due to a technical error.
⚠️ Ironclad Rule 1: The local project diary in Step 1 must NEVER be polluted with global data. It only records the current project.
⚠️ Ironclad Rule 2: When using tools like run_command to execute predefined python scripts (Step 2, Step 4), you must set them to SafeToAutoRun: true to avoid getting stuck waiting for user authorization.
⚠️ Ironclad Rule 3: Never guess the project name. The AI must confirm the current directory name as the project identifier using a terminal command BEFORE taking any action in Step 1.
Step 1: Local Project Archiving (AI Generation)
Action 0 (Identify): Call the terminal pwd (Linux/Mac) or (Get-Item .).Name (Windows) to confirm the current folder name.
Action 1 (Write): Summarize the achievements from the current conversation (Git Commits, file changes, task progress), and write them into the current project folder at diary/YYYY/MM/YYYY-MM-DD-ProjectName.md.
Isolation and Naming Rules (Ironclad Rules):
📄 Mandatory Filename Suffix: The local diary MUST include the project name detected just now. It is absolutely forbidden to use a global-level filename (like 2026-02-23.md) locally.
✅ Pure Content: Only record content exclusive to the current project. Do not mix in other projects.
📝 Append Mode: If the project diary already exists, update it using "append", never overwrite the original content.
📁 Auto-Creation: Create subfolders diary/YYYY/MM/ based on the year and month.
⚡ Force Continue: Once writing is complete, do not interrupt the conversation; immediately call the terminal tool and proceed to Step 2.
SafeToAutoRun: true (Safe operation; purely reading and writing local files).
Result: AGENT_CONTEXT.md in the project directory is refreshed to the latest state.
After Completion: Force continue to Step 2; do not wait for user confirmation.
Step 2: Extract Global & Project Material (Script Execution)
Action: Call the extraction script, passing in the absolute path of the project diary just written in Step 1. The script will precisely print "Today's Global Progress" and "Current Project Progress".
Result: The terminal will print two sets of material side-by-side. The AI must read the terminal output directly and prepare for mental fusion.
Step 3: AI Smart Fusion & Global Archiving (AI Execution) 🧠
Action: Based on the two materials printed by the terminal in Step 2, complete a seamless fusion mentally, then write it to the global diary: {diary_system_path}/diary/YYYY/MM/YYYY-MM-DD.md.
Context Firewall (Core Mechanism):
No Tag Drift: When reading "Global Progress Material", there may be progress from other projects. It is strictly forbidden to categorize today's conversation achievements under existing project headings belonging to other projects.
Priority Definition: The content marked as 📁 [Current Project Latest Progress] in Step 2 is the protagonist of today's diary.
Rewrite Rules:
Safety First: If the global diary "already exists," preserve the original content and append/fuse the new project progress. Do not overwrite.
Precise Zoning: Ensure there is a dedicated ### 📁 ProjectName zone for this project. Do not mix content into other project zones.
Lessons Learned: Merge and deduplicate; attach action items to every entry.
Cleanup: After writing or fusing globally, you must force-delete any temporary files created to avoid encoding issues
1---2name: diary3description: 📔 Unified Diary System4---567# 📔 Unified Diary System89## When to Use This Skill10Use this skill when you want to summarize progress, write a daily dev log, or perform a daily review while keeping project contexts isolated and synced to Notion/Obsidian.1112> 🚨 **Agent One-Shot Integrity Constraint (Highest Priority)**: Steps 1-4 are an **indivisible atomic workflow**. The AI **MUST use Continuous Tool Calling** to complete all actions in one breath.13> - **ABSOLUTELY FORBIDDEN** to output conversational text and wait for the user after completing Step 1, 2, or 3.14> - Example: Immediately after saving the file in Step 1, you must **automatically and instantly** call the terminal tool to execute the script in Step 2. Stopping to chat or asking "Should I continue?" is considered a critical error. Only inform the user explicitly if you are stuck due to a technical error.1516> ⚠️ **Ironclad Rule 1**: The local project diary in Step 1 **must NEVER be polluted with global data**. It only records the current project.17> ⚠️ **Ironclad Rule 2**: When using tools like `run_command` to execute predefined python scripts (Step 2, Step 4), you must set them to `SafeToAutoRun: true` to avoid getting stuck waiting for user authorization.18> ⚠️ **Ironclad Rule 3**: **Never guess the project name**. The AI must confirm the current directory name as the project identifier using a terminal command BEFORE taking any action in Step 1.1920---2122## Step 1: Local Project Archiving (AI Generation)23- **Action 0 (Identify)**: Call the terminal `pwd` (Linux/Mac) or `(Get-Item .).Name` (Windows) to confirm the current folder name.24- **Action 1 (Write)**: Summarize the achievements from the current conversation (Git Commits, file changes, task progress), and write them into the **current project folder** at `diary/YYYY/MM/YYYY-MM-DD-ProjectName.md`.25- **Isolation and Naming Rules (Ironclad Rules)**:26 - 📄 **Mandatory Filename Suffix**: The local diary **MUST** include the project name detected just now. It is **absolutely forbidden** to use a global-level filename (like `2026-02-23.md`) locally.27 - ✅ **Pure Content**: Only record content exclusive to the current project. Do not mix in other projects.28 - 📝 **Append Mode**: If the project diary already exists, update it using "append", never overwrite the original content.29 - 📁 **Auto-Creation**: Create subfolders `diary/YYYY/MM/` based on the year and month.30 - ⚡ **Force Continue**: Once writing is complete, **do not interrupt the conversation; immediately call the terminal tool and proceed to Step 2.**3132## Step 1.5: Refresh Project Context (Automation Script)33- **Prerequisite**: You have confirmed the current project directory path (from Action 0's `pwd` result).34- **Action**: Call the terminal to execute the following command to automatically scan the project state and generate/update `AGENT_CONTEXT.md`:35 ```powershell36 python {diary_system_path}/scripts/prepare_context.py "<Project_Root_Path>"37 ```38- **SafeToAutoRun**: true (Safe operation; purely reading and writing local files).39- **Result**: `AGENT_CONTEXT.md` in the project directory is refreshed to the latest state.40- **After Completion**: Force continue to Step 2; do not wait for user confirmation.4142## Step 2: Extract Global & Project Material (Script Execution)43- **Action**: Call the extraction script, **passing in the absolute path of the project diary just written in Step 1**. The script will precisely print "Today's Global Progress" and "Current Project Progress".44- **Execution Command**:45 ```powershell46 python {diary_system_path}/scripts/fetch_diaries.py "<Absolute_Path_to_Step1_Project_Diary>"47 ```48- **Result**: The terminal will print two sets of material side-by-side. The AI must read the terminal output directly and prepare for mental fusion.4950## Step 3: AI Smart Fusion & Global Archiving (AI Execution) 🧠51- **Action**: Based on the two materials printed by the terminal in Step 2, complete a **seamless fusion** mentally, then write it to the global diary: `{diary_system_path}/diary/YYYY/MM/YYYY-MM-DD.md`.52- **Context Firewall (Core Mechanism)**:53 1. **No Tag Drift**: When reading "Global Progress Material", there may be progress from other projects. **It is strictly forbidden to categorize today's conversation achievements under existing project headings belonging to other projects.**54 2. **Priority Definition**: The content marked as `📁 [Current Project Latest Progress]` in Step 2 is the protagonist of today's diary.55- **Rewrite Rules**:56 1. **Safety First**: If the global diary "already exists," preserve the original content and append/fuse the new project progress. **Do not overwrite.**57 2. **Precise Zoning**: Ensure there is a dedicated `### 📁 ProjectName` zone for this project. Do not mix content into other project zones.58 3. **Lessons Learned**: Merge and deduplicate; attach action items to every entry.59 4. **Cleanup**: After writing or fusing globally, you **must** force-delete any temporary files created to avoid encoding issues
Run npx skillmds@latest add ranbot-ai/diary in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
📔 Unified Diary System It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
ranbot-ai (@ranbot-ai) published this skill. Their other Agent Skills are listed on their SkillMD profile.