一個讓 Claude「記得住」的 skill——把 Notion 當成跨對話的長期記憶庫,下一個對話也能無縫接續。
A Claude skill that gives Claude a long-term memory: it uses Notion as a cross-conversation knowledge base, so a brand-new chat can pick up exactly where the last one left off.
每開一個新對話,Claude 就失憶一次——你得重講一遍背景、踩過的雷、上次做到哪。ProjectMemory 解決的就是這件事。 Every new chat, Claude forgets everything — you re-explain the background, the pitfalls, where you left off. ProjectMemory fixes exactly that.
它用幾個簡單指令,把專案進度寫進 Notion、需要時再讀回來。Notion 負責詳實記錄(流水帳、完整存證),Claude 負責讀寫與接續,於是「記憶」不再綁在單一對話裡,而是跨對話、跨環境都帶得走。 With a few simple commands it writes project progress into Notion and reloads it on demand. Notion holds the durable record; Claude reads and resumes from it — so memory is no longer trapped in one chat, but travels across conversations and devices.
- 🔄 跨對話接續 / Resume across chats —
/load一次拉回專案全貌:主頁現況、最近進度、以及歷史踩坑記錄,新對話立刻進入狀況。/loadpulls back the whole project at once — current state, recent progress, and past blockers — so a fresh chat is instantly up to speed. - 💾 一鍵存檔 / One-command save —
/save自動更新 Notion 主頁、新增一筆對話記錄,必要時連同程式碼/提示詞完整存檔。/saveupdates the Notion page, appends a session log, and archives full code/prompts when needed. - 💡 構想醞釀 / Idea inbox —
/idea把靈光一閃丟進 Ideas 池,成熟後用/upgrade idea升級成正式專案。/ideadrops a spark into an ideas pool;/upgrade ideapromotes a mature one into a real project. - 📊 全局總覽 / Bird's-eye view —
/status用一張表列出所有專案的狀態、優先級與下一步。/statuslists every project's status, priority, and next step in one table. - 🧷 防撞機制 / Conflict guard — 多個對話同時改同一專案時,存檔前會比對時間戳示警,避免覆蓋掉別人的更新。 When several chats touch one project, a timestamp check warns before saving so you don't overwrite newer edits.
- 🌐 跨環境可用 / Works everywhere — claude.ai、Cowork、Claude Code 都能用(呼叫方式略有不同,見下方使用說明)。 Usable in claude.ai, Cowork, and Claude Code (invocation differs slightly — see Usage).
前置需求 / Prerequisites
- 一個已連接 Notion MCP 的 Claude 環境(Claude Code、Cowork 或 claude.ai)。 A Claude environment with the Notion MCP connected (Claude Code, Cowork, or claude.ai).
- 你的 Notion workspace 已備妥 ProjectMemory、Session Log、Ideas 三個 database,以及一個 Artifacts 頁面。 Your Notion workspace has the ProjectMemory, Session Log, and Ideas databases plus an Artifacts page.
步驟 / Steps
- 下載本 skill,放進 Claude 的 skills 資料夾。
Download this skill into your Claude skills folder.
git clone https://github.com/kau10082/Project_Memory.git projectmemory
- 依下方「設定方法」建立
config.local.json。 Createconfig.local.jsonas shown in Configuration below. - 重新載入 skill,即可開始下指令。 Reload the skill and start issuing commands.
機敏資訊(你個人 workspace 的 Notion ID)不隨程式碼發佈,需自行建立一個本機設定檔。 The sensitive IDs (your personal Notion IDs) ship outside the repo — you create a local config file.
- 複製範本 / Copy the template:
cp config.example.json config.local.json
- 填入你自己的四個 Notion ID / Fill in your four Notion IDs:
{ "projectMemoryDB": "collection://你的_ProjectMemory_DB_ID", "sessionLogDB": "collection://你的_SessionLog_DB_ID", "ideasDB": "collection://你的_Ideas_DB_ID", "artifactsFolder": "page://你的_Artifacts_頁面_ID" } - 怎麼拿 ID / How to get an ID:在 Notion 開啟對應的 database 或頁面,從網址或 Notion MCP
fetch結果複製collection://(資料庫)或page://(頁面)開頭的 ID。 Open the target database/page in Notion and copy thecollection://(database) orpage://(page) ID from its URL or a Notion MCPfetchresult. config.local.json已被.gitignore排除,永遠不會被提交或上傳。config.local.jsonis gitignored — it's never committed or uploaded.
⚠️ config.local.json是整套記憶系統的命脈,且不在 Git 裡——換機器時請記得手動帶著它。config.local.jsonis the lifeblood of the system and not in Git — carry it over manually when you switch machines.
啟動方式分環境 / Invocation depends on the environment
| 環境 / Environment | 怎麼呼叫 / How to call | 範例 / Example |
|---|---|---|
| claude.ai / Cowork(雲端) | 直接打斜線指令 / Slash commands directly | /load EBM |
| Claude Code(終端機) | 用「projectmemory + 動作」,避開純斜線 / "projectmemory + action" | 用 projectmemory skill load EBM |
為什麼?在 Claude Code,純斜線會撞上 CLI 內建指令(
/usage、/context等),所以改用 skill 呼叫法把指令當參數傳入。 Why? In Claude Code bare slashes collide with built-in CLI commands (/usage,/context, …), so wrap the command as a skill call instead.
典型流程 / Typical loop:開新對話 → /load [專案] 拉回記憶 → 討論與工作 → 結束前 /save 寫回 Notion。
New chat → /load [project] → work → /save before you leave.
| 指令 / Command | 作用 / What it does |
|---|---|
/load [專案] |
載入該專案記憶:主頁全文+最近 3 筆記錄+歷史踩坑。 Load memory: full page + latest 3 logs + past blockers. |
/save [專案] |
更新主頁、新增一筆記錄,必要時存 Artifact。 Update page, add a log, store artifacts if any. |
/save |
不帶名稱:自動偵測本串變動的專案再存。 No name: auto-detect changed projects, then save. |
/save all |
對本串討論到的所有專案存檔。 Save every project touched this chat. |
/idea [描述] |
把構想寫進 Ideas DB。 Add an idea to the Ideas DB. |
/status |
列出所有運行中專案的狀態表。 Table of all active projects. |
/archive [專案] |
把專案標記為「📦 已歸檔」。 Mark a project archived. |
/upgrade idea [構想] to [專案] |
把成熟構想升級成正式專案。 Promote an idea into a project. |
| 檔案 / File | 說明 / Description | 進 Git? / In Git? |
|---|---|---|
SKILL.md |
Skill 定義與指令流程 / Skill definition & flow | ✅ |
config.example.json |
設定範本(佔位符)/ Config template | ✅ |
config.local.json |
你的真實 Notion ID / Your real IDs | ❌(gitignore) |
.gitignore |
排除機敏與雜物檔 / Excludes secrets & junk | ✅ |
README.md |
本說明文件 / This document | ✅ |
- 絕不把真實 Notion ID 寫回
SKILL.md或任何被追蹤的檔案。 Never put real Notion IDs back intoSKILL.mdor any tracked file. - 提交前快速自檢 / Quick pre-commit check:
結果應只命中佔位符,不該出現真實 ID。 Hits should be placeholders only — never a real ID.
git grep -nE "collection://[0-9a-f]{8}|page://[0-9a-f]{8}"