{"id":"3a4b1596-78c9-48ad-8b9c-51611c021c6b","shortId":"UNBat9","kind":"skill","title":"diary","tagline":"Unified Diary System: A context-preserving automated logger for multi-project development.","description":"# 📔 Unified Diary System\n\n## When to Use This Skill\nUse 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.\n\n> 🚨 **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.\n> - **ABSOLUTELY FORBIDDEN** to output conversational text and wait for the user after completing Step 1, 2, or 3.\n> - 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.\n\n> ⚠️ **Ironclad Rule 1**: The local project diary in Step 1 **must NEVER be polluted with global data**. It only records the current project.\n> ⚠️ **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.\n> ⚠️ **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.\n\n---\n\n## Step 1: Local Project Archiving (AI Generation)\n- **Action 0 (Identify)**: Call the terminal `pwd` (Linux/Mac) or `(Get-Item .).Name` (Windows) to confirm the current folder name.\n- **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`.\n- **Isolation and Naming Rules (Ironclad Rules)**:\n  - 📄 **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.\n  - ✅ **Pure Content**: Only record content exclusive to the current project. Do not mix in other projects.\n  - 📝 **Append Mode**: If the project diary already exists, update it using \"append\", never overwrite the original content.\n  - 📁 **Auto-Creation**: Create subfolders `diary/YYYY/MM/` based on the year and month.\n  - ⚡ **Force Continue**: Once writing is complete, **do not interrupt the conversation; immediately call the terminal tool and proceed to Step 2.**\n\n## Step 1.5: Refresh Project Context (Automation Script)\n- **Prerequisite**: You have confirmed the current project directory path (from Action 0's `pwd` result).\n- **Action**: Call the terminal to execute the following command to automatically scan the project state and generate/update `AGENT_CONTEXT.md`:\n  ```powershell\n  python {diary_system_path}/scripts/prepare_context.py \"<Project_Root_Path>\"\n  ```\n- **SafeToAutoRun**: true (Safe operation; purely reading and writing local files).\n- **Result**: `AGENT_CONTEXT.md` in the project directory is refreshed to the latest state.\n- **After Completion**: Force continue to Step 2; do not wait for user confirmation.\n\n## Step 2: Extract Global & Project Material (Script Execution)\n- **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\".\n- **Execution Command**:\n  ```powershell\n  python {diary_system_path}/scripts/fetch_diaries.py \"<Absolute_Path_to_Step1_Project_Diary>\"\n  ```\n- **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.\n\n## Step 3: AI Smart Fusion & Global Archiving (AI Execution) 🧠\n- **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`.\n- **Context Firewall (Core Mechanism)**:\n  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.**\n  2. **Priority Definition**: The content marked as `📁 [Current Project Latest Progress]` in Step 2 is the protagonist of today's diary.\n- **Rewrite Rules**:\n  1. **Safety First**: If the global diary \"already exists,\" preserve the original content and append/fuse the new project progress. **Do not overwrite.**\n  2. **Precise Zoning**: Ensure there is a dedicated `### 📁 ProjectName` zone for this project. Do not mix content into other project zones.\n  3. **Lessons Learned**: Merge and deduplicate; attach action items to every entry.\n  4. **Cleanup**: After writing or fusing globally, you **must** force-delete any temporary files created to avoid encoding issues (e.g., `temp_diary.txt`, `fetched_diary.txt`) to keep the workspace clean.\n\n## Step 4: Cloud Sync & Experience Extraction (Script + Human) 🛑\n- **Action 1 (Sync)**: Call the master script to push the global diary to Notion and Obsidian.\n- **Execution Command**:\n  ```powershell\n  python {diary_system_path}/scripts/master_diary_sync.py --sync-only\n  ```\n- **Action 2 (Extraction & Forced Pause)**:\n  1. The AI extracts \"Improvements & Learning\" from the global diary.\n  2. Confirm if it contains entirely new key points lacking in the past (📌 New Rules), or better approaches (🔄 Evolved Rules).\n  3. List the results and **WAIT FOR USER CONFIRMATION** (user says \"execute\" or \"agree\").\n  4. After user confirmation, update the `.md` file in `{Knowledge_Base_Path}/` and execute `qmd embed` (if applicable).\n\n---\n**🎯 Task Acceptance Criteria**:\n1. ✅ Project local diary generated (no pollution).\n2. ✅ `fetch_diaries.py` called with absolute path and successfully printed materials.\n3. ✅ AI executed high-quality rewrite and precisely wrote to global diary (appended successfully if file existed).\n4. ✅ `--sync-only` successfully pushed to Notion + Obsidian.\n5. ✅ Experience extraction presented to the user and authorized.\n\n---\n\n## 📝 Templates and Writing Guidelines\n\nStrictly apply the following Markdown templates to ensure clarity during Step 1 (Local) and Step 3 (Global Fusion).\n\n### 💡 Writing Guidelines (For AI)\n1. **Dynamic Replacement**: The `{Project Name}` in the template MUST strictly use the folder name grabbed by `pwd` in Step 1.\n2. **Concise Deduplication**: When writing the global diary in Step 3, the AI must condense the \"🛠️ Execution Details\" from the local diary. The global diary focuses only on \"General Direction and Output Results.\"\n3. **Mandatory Checkboxes**: All \"Next Steps\" and \"Action Items\" must use the Markdown `* [ ]` format so they can be checked off in Obsidian/Notion later.\n\n### 📝 Template 1: Project Local Diary (Step 1 Exclusive)\n\n```markdown\n# Project DevLog: {Project Name}\n* **📅 Date**: YYYY-MM-DD\n* **🏷️ Tags**: `#Project` `#DevLog`\n\n---\n\n> 🎯 **Progress Summary**\n> (Briefly state the core task completed, e.g., \"Finished Google Colab environment testing for auto-video-editor\")\n\n### 🛠️ Execution Details & Changes\n* **Git Commits**: (List if any)\n* **Core File Modifications**:\n  * 📄 `path/filename`: Explanation of changes.\n* **Technical Implementation**:\n  * (Record key logic or architecture structural changes)\n\n### 🚨 Troubleshooting\n> 🐛 **Problem Encountered**: (e.g., API error, package conflict)\n> 💡 **Solution**: (Final fix, leave key commands)\n\n### ⏭️ Next Steps\n- [ ] (Specific task 1)\n- [ ] (Specific task 2)\n```\n\n---\n\n### 🌍 Template 2: Global Diary (Step 3 Exclusive)\n\n```markdown\n# 📔 YYYY-MM-DD Global Progress Overview\n\n> 🌟 **Daily Highlight**\n> (1-2 sentences summarizing all project progress for the day, synthesized by AI)\n\n---\n\n## 📁 Project Tracking\n(⚠️ AI Rule: If file exists, find the corresponding project title and append; NEVER overwrite, keep it clean.)\n\n### 🔵 {Project A, e.g., auto-video-editor}\n* **Today's Progress**: (Condense Step 2 local materials into key points)\n* **Action Items**: (Extract next steps)\n\n### 🟢 {Project B, e.g., GSS}\n* **Today's Progress**: (Condense key points)\n* **Action Items**: (Extract next steps)\n\n---\n\n## 🧠 Improvements & Learnings\n(⚠️ Dedicated to Experience Extraction)\n\n📌 **New Rules / Discoveries**\n(e.g., Found hidden API limit, or a more efficient python syntax)\n\n🔄 **Optimizations & Reflections**\n(Improvements from past methods)\n\n---\n\n## ✅ Global Action Items\n- [ ] (Tasks unrelated to specific projects)\n- [ ] (System environment maintenance, etc.)\n```\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["diary","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity-skills"],"capabilities":["skill","source-sickn33","skill-diary","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/diary","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34831 github stars · SKILL.md body (9,009 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T06:51:04.127Z","embedding":null,"createdAt":"2026-04-18T21:36:06.039Z","updatedAt":"2026-04-24T06:51:04.127Z","lastSeenAt":"2026-04-24T06:51:04.127Z","tsv":"'-2':1094 '-4':62 '/diary/yyyy/mm/yyyy-mm-dd.md':584 '/scripts/fetch_diaries.py':520 '/scripts/master_diary_sync.py':760 '/scripts/prepare_context.py':437 '0':247,410 '1':61,96,108,154,161,238,240,267,499,589,646,738,769,834,902,913,933,991,996,1072,1093 '1.5':393 '2':97,124,177,190,391,466,474,568,623,636,668,765,779,841,934,1075,1077,1137 '2026-02-23.md':324 '3':99,210,548,689,799,851,906,944,967,1081 '4':192,701,730,813,869 '5':878 'absolut':82,314,489,845 'accept':832 'achiev':271,614 'action':78,235,246,266,409,414,481,556,696,737,764,974,1143,1158,1190 'agent':52 'agent_context.md':431,449 'agre':812 'ai':69,217,244,535,549,554,771,852,912,946,1105,1108 'alreadi':348,653 'api':1058,1175 'append':342,353,864,1119 'append/fuse':660 'appli':892 'applic':830 'approach':796 'architectur':1051 'archiv':243,553 'ask':129,1234 'atom':66 'attach':695 'author':207,886 'auto':360,1027,1129 'auto-cr':359 'auto-video-editor':1026,1128 'autom':9,397 'automat':111,424 'avoid':201,718 'b':1149 'base':365,557,823 'belong':619 'better':795 'boundari':1242 'breath':81 'briefli':1013 'call':74,114,249,383,415,482,740,843 'categor':610 'chang':279,1032,1044,1053 'chat':127 'check':985 'checkbox':969 'clarif':1236 'clariti':899 'clean':728,1124 'cleanup':702 'clear':1209 'cloud':731 'colab':1022 'command':183,231,422,514,754,1067 'commit':277,1034 'complet':76,94,376,461,569,1018 'concis':935 'condens':948,1135,1155 'confirm':219,261,402,472,780,807,816 'conflict':1061 'consid':134 'constraint':57 'contain':783 'content':327,330,358,627,658,684 'context':7,46,396,585 'context-preserv':6 'continu':72,132,372,463 'convers':86,275,381,613 'core':587,1016,1038 'correspond':1115 'creat':362,716 'creation':361 'criteria':833,1245 'critic':136 'current':173,221,263,274,287,334,404,510,630 'daili':35,41,1091 'data':168 'date':1003 'day':1102 'dd':1007,1087 'dedic':675,1165 'dedupl':694,936 'definit':625 'delet':712 'describ':1213 'detail':951,1031 'detect':309 'dev':36 'develop':15 'devlog':1000,1010 'diari':1,3,17,158,303,347,434,494,517,580,581,643,652,748,757,778,837,863,941,955,958,994,1079 'diary/yyyy/mm':364 'diary/yyyy/mm/yyyy-mm-dd-projectname.md':291 'direct':541,963 'directori':222,406,453 'discoveri':1171 'drift':592 'due':147 'dynam':914 'e.g':721,1019,1057,1127,1150,1172 'editor':1029,1131 'effici':1180 'emb':828 'encod':719 'encount':1056 'ensur':671,898 'entir':784 'entri':700 'environ':1023,1198,1225 'environment-specif':1224 'error':137,151,1059 'etc':1200 'everi':699 'evolv':797 'exampl':100 'exclus':331,997,1082 'execut':119,185,419,480,513,555,753,810,826,853,950,1030 'exist':349,616,654,868,1112 'experi':733,879,1167 'expert':1230 'explan':1042 'explicit':142 'extract':475,484,734,766,772,880,1145,1160,1168 'fetch_diaries.py':842 'fetched_diary.txt':723 'file':105,278,447,715,820,867,1039,1111 'filenam':299,322 'final':1063 'find':1113 'finish':1020 'firewal':586 'first':648 'fix':1064 'focus':959 'folder':264,289,926 'follow':421,894 'forbidden':83,315,608 'forc':371,462,711,767 'force-delet':710 'format':980 'found':1173 'fuse':706 'fusion':546,551,572,908 'general':962 'generat':245,838 'generate/update':430 'get':202,256 'get-item':255 'git':276,1033 'global':167,320,476,507,552,579,595,651,707,747,777,862,907,940,957,1078,1088,1189 'global-level':319 'googl':1021 'grab':928 'gss':1151 'guess':212 'guidelin':890,910 'head':618 'hidden':1174 'high':855 'high-qual':854 'highest':58 'highlight':1092 'human':736 'identifi':227,248 'immedi':101,382 'implement':1046 'improv':773,1163,1185 'includ':305 'indivis':65 'inform':139 'input':1239 'instant':113 'integr':56 'interrupt':379 'ironclad':152,175,208,296 'isol':47,292 'issu':720 'item':257,697,975,1144,1159,1191 'keep':44,725,1122 'key':786,1048,1066,1141,1156 'knowledg':822 'lack':788 'later':989 'latest':458,632 'learn':691,774,1164 'leav':1065 'lesson':690 'level':321 'like':181,323 'limit':1176,1201 'linux/mac':253 'list':800,1035 'local':156,241,302,325,446,836,903,954,993,1138 'log':37 'logger':10 'logic':1049 'mainten':1199 'mandatori':298,968 'mark':628 'markdown':895,979,998,1083 'master':742 'match':1210 'materi':478,529,561,597,850,1139 'may':599 'md':819 'mechan':588 'mental':545,573 'merg':692 'method':1188 'miss':1247 'mix':338,683 'mm':1006,1086 'mode':343 'modif':1040 'month':370 'multi':13 'multi-project':12 'must':70,110,162,194,218,304,536,709,922,947,976 'name':215,223,258,265,294,308,918,927,1002 'never':163,211,354,1120 'new':662,785,792,1169 'next':971,1068,1146,1161 'notion':750,876 'notion/obsidian':51 'obsidian':752,877 'obsidian/notion':988 'one':54,80 'one-shot':53 'oper':441 'optim':1183 'origin':357,657 'output':85,540,965,1219 'overview':1090 'overwrit':355,667,1121 'packag':1060 'pass':486 'past':791,1187 'path':407,436,490,519,583,759,824,846 'path/filename':1041 'paus':768 'perform':39 'permiss':1240 'point':787,1142,1157 'pollut':165,840 'powershel':432,515,755 'precis':503,669,859 'predefin':186 'prepar':543 'prerequisit':399 'present':881 'preserv':8,655 'print':504,525,562,849 'prioriti':59,624 'problem':1055 'proceed':388 'progress':32,281,508,512,596,601,633,664,1011,1089,1099,1134,1154 'project':14,45,157,174,214,226,242,288,307,335,341,346,395,405,427,452,477,493,511,604,617,622,631,663,680,687,835,917,992,999,1001,1009,1098,1106,1116,1125,1148,1196 'projectnam':676 'protagonist':639 'pure':326,442 'push':745,874 'pwd':252,412,930 'python':187,433,516,756,1181 'qmd':827 'qualiti':856 'read':443,537,594 'record':171,329,1047 'reflect':1184 'refresh':394,455 'replac':915 'requir':1238 'result':413,448,521,802,966 'review':42,1231 'rewrit':644,857 'rule':153,176,209,295,297,645,793,798,1109,1170 'run':182 'safe':440 'safeti':647,1241 'safetoautorun':198,438 'save':103 'say':809 'scan':425 'scope':1212 'script':121,188,398,479,485,501,735,743 'seamless':571 'sentenc':1095 'set':195,527 'shot':55 'side':531,533 'side-by-sid':530 'skill':23,26,1204 'skill-diary' 'smart':550 'solut':1062 'source-sickn33' 'specif':1070,1073,1195,1226 'state':428,459,1014 'step':60,95,107,123,160,189,191,237,239,390,392,465,473,498,547,567,635,729,901,905,932,943,972,995,1069,1080,1136,1147,1162 'stop':125,1232 'strict':607,891,923 'structur':1052 'stuck':146,203 'subfold':363 'substitut':1222 'success':848,865,873,1244 'suffix':300 'summar':31,269,1096 'summari':1012 'sync':49,732,739,762,871 'sync-on':761,870 'syntax':1182 'synthes':1103 'system':4,18,435,518,582,758,1197 'tag':591,1008 'take':233 'task':280,831,1017,1071,1074,1192,1208 'technic':150,1045 'temp_diary.txt':722 'templat':887,896,921,990,1076 'temporari':714 'termin':116,230,251,385,417,523,539,565 'test':1024,1228 'text':87 'titl':1117 'today':505,611,641,1132,1152 'tool':73,117,180,386 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'track':1107 'treat':1217 'troubleshoot':1054 'true':199,439 'two':526,560 'unifi':2,16 'unrel':1193 'updat':350,817 'use':21,24,71,179,228,317,352,924,977,1202 'user':92,141,206,471,806,808,815,884 'valid':1227 'video':1028,1130 'wait':89,204,469,804 'want':29 'window':259 'workflow':67 'workspac':727 'write':33,268,283,374,445,575,704,889,909,938 'written':496 'wrote':860 'year':368 'yyyi':1005,1085 'yyyy-mm-dd':1004,1084 'zone':670,677,688","prices":[{"id":"60dd2d3c-1b78-4b72-9120-89ff253ed4af","listingId":"3a4b1596-78c9-48ad-8b9c-51611c021c6b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:36:06.039Z"}],"sources":[{"listingId":"3a4b1596-78c9-48ad-8b9c-51611c021c6b","source":"github","sourceId":"sickn33/antigravity-awesome-skills/diary","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/diary","isPrimary":false,"firstSeenAt":"2026-04-18T21:36:06.039Z","lastSeenAt":"2026-04-24T06:51:04.127Z"}],"details":{"listingId":"3a4b1596-78c9-48ad-8b9c-51611c021c6b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"diary","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34831,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"c6147ccdcf6b8756ab6e05e1062c132e81d8045d","skill_md_path":"skills/diary/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/diary"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"diary","description":"Unified Diary System: A context-preserving automated logger for multi-project development."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/diary"},"updatedAt":"2026-04-24T06:51:04.127Z"}}