agentsclimarketplace

Memorb conventions

Skill iamjosuho/memOrb/skills/core/memorb-conventions

Agent-Agnostic Second Brain memory framework inspired by movie and library science.

Install
npx -y skills add iamjosuho/memOrb --skill memorb-conventions

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 12 days oldThe repository was created 12 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Base layer conventions for the memOrb vault:路徑解析、資料夾結構、命名規則、YAML frontmatter schema、範本。所有寫入類 sub-skill 的前置依賴。觸發詞:路徑、資料夾結構、命名、模板、frontmatter、schema。

SKILL.md

16.5 KB, as published. Nobody here has run it

Memorb Conventions (Single Source of Truth / 唯一標準)

本 Skill 為 memOrb 系統資料夾結構、檔名格式、YAML Schema 與規範的 Single Source of Truth (SSOT / 唯一標準)。 定義所有寫入操作與初始化(如 /memorb-born)都必須嚴格遵守的基礎規範。工作流程本身歸各 sub-skill,這裡只管「東西放哪裡、長什麼格式」。 本檔案不假設使用者 vault 根目錄的名稱或既有結構——memOrb 只透過 memorbs/ 這個非侵入式命名空間運作,根目錄以外的東西一律不動。

VAULT 路徑解析

不假設固定根目錄名稱。以 memorbs/HQ/identity.md 是否存在作為「此 vault 已完成 memorb-born 初始化」的判斷依據:

VAULT=$(find . -maxdepth 4 -type d -name memorbs 2>/dev/null -exec dirname {} \; | head -1)

找不到時,代表尚未執行 /memorb-born,應先路由至該 skill。

資料夾結構

唯一的邊界規則:memOrb 可以讀你指給它看的任何東西;但只往 memorbs/ 裡面寫。

沒有例外,extension 也一樣。讀是安全的——不改變狀態、不會意外。寫才是怪異的來源:一旦某個 skill 寫成「Resources/ 存在就寫進去」,同一個操作會因為使用者資料夾名字的巧合而有三種不同結果(有 Resources/ 就寫、有 3-Resources/ 就靜默跳過、沒有就什麼都不做)。這比「完全不碰」和「完全擁有」都糟。

所以 memOrb 在使用者的 vault 裡只長出一個資料夾:

<你的 vault>/
├── 1-Projects/  Daily Notes/  Inbox/ …   ← 你自己的,memOrb 只讀不寫
│
└── memorbs/                    ← memOrb 的全部,砍掉就乾淨
    ├── HQ/
    │   ├── persona.md          ← AI 顧問人設:語氣、角色設定(每次 session 必讀)
    │   ├── identity.md         ← 使用者身分:姓名/生日/學經歷/角色/組織/目標/關鍵關係(每次 session 必讀)
    │   ├── Core/               ← Core Memory orbs,一 orb 一檔(有轉折意義的具體經驗)
    │   ├── Belief/             ← Belief orbs,一 orb 一檔(從經驗凝聚出的價值/信念聲明)
    │   └── OrbTrack/           ← 唯一的快速收集區,由 orbtrack-triage 清空
    ├── Islands/                ← 需長期維持標準的責任領域/興趣(人格島):只放現況、長期目標、板塊筆記、MOC,不存放實體 orb,靠連結指向 Long-Term/
    ├── Long-Term/              ← 長期記憶倉庫,存放實際內容頁(一個實體只留一份頁面)
    │   ├── Projects/           ← 有明確截止日/交付物的專案(含歷程紀錄)
    │   ├── People/             ← 關鍵協作者(Authority Control 頁面,見下)
    │   └── Orgs/               ← 組織與團隊(Authority Control 頁面,見下)
    ├── Dump/{category}/        ← MUSTY 淘汰後的歸檔頁(由 memorb-forgetter 搬入)
    ├── log.md                  ← 當期時間軸(見下節)
    └── log/{YYYY-MM}.md        ← 已封存的往期時間軸(由 dream-studio 輪替)

沒有 Resources/ PARA 的 R(長期感興趣的主題)在 memOrb 裡對應的是 Island——island-reclamation 對 Island 的定義本來就是「需要長期維持標準的責任領域或興趣」,已經把 Areas 和 Resources 一起吃下了。所以策展型的讀書筆記就是一顆 orb,掛在相關 Island 底下;原始素材則是 orb 的附件,見下方 Bundle 規則。

注意memorbs/HQ/OrbTrack/ 是唯一的收集區。不要另外建立 Inbox/——兩個收集區並存只會讓 triage 邏輯分裂。 注意:歸檔統一寫作 memorbs/Dump/{category}/(單數 Dump)。 注意Long-Term/{People,Orgs,Projects} 取代了原本的 Islands/{people,organizations,projects}——實體頁不歸 Islands 管,Islands 只有敘事層。原本歸在 context/ 的環境規則不再獨立分類,直接寫進相關實體的 Long-Term 頁面本體。 注意(2026-07-26 遷移)Islands/Long-Term/ 原本在 vault 根目錄,已一併移入 memorbs/。memOrb 從此只在使用者 vault 裡長出一個資料夾。 注意(待處理 TODO,2026-07-26 稽核發現,暫緩不動)memorbs/Long-Term/People/ 頁面結構目前不一致——business-card-ingestionmemorb-domain-query 假設「有名片附件時依公司名稱建巢狀資料夾」(memorbs/Long-Term/People/{公司}/{姓名}/{姓名}.md),本檔案定義的預設卻是單一頁面,recording-transcriptionm365-meeting-notememorb-ingest 也都假設扁平 memorbs/Long-Term/People/{姓名}.md。同一人可能因建檔管道不同落在兩個不同路徑。尚未決定要統一成哪個方向,先列入待辦,詳見 docs/skill-audit-2026-07-26.md P1 #1。 注意persona.mdidentity.md 是固定的 Hot Cache 檔案(各一份,不會重複),Core/Belief/ 是裝 orb 的資料夾(一 orb 一檔,數量會持續增加)。四者角色不同,不要互相混用。 注意daily-noteweekly-retrosession-closeout 三個 skill 已於 2026-07-26 移除。日記層的職責由 memorbs/log.md 接手(見下節),週回顧屬任務管理不屬記憶框架,git 操作不屬本框架職責。 注意memorbs/MEMORY.md 全庫索引已於 2026-07-26 廢除。檔案系統就是索引——手動維護的索引一定會跟實際檔案漂移(舊版 lint 甚至得專門檢查「索引沒列到的孤兒頁」,那條規則本身就是漂移的證據),而且 ≤200 行的上限讓它本來就撐不到 vault 長大。查找一律直接 ls 目錄 + grep 內容與 aliases。頁面的可達性改由雙向連結保證:新頁至少要被一個既有頁面連到,沒有任何連結指向的頁面就是孤兒,由 memorb-lint 抓。

memorbs/log.md:時間軸

log.md 是這套系統唯一的時間記錄。實體頁(memorbs/Long-Term/)是活的、持續累積,還原不出「六月發生了什麼」;OrbTrack 依定義會被清空;檔案 mtime 改個錯字就變動。所以「那陣子在發生什麼」只有 log.md 存得住,而 dream-studio 的重播完全靠它。

寫入規則

每個會改變 vault 狀態的動作都要留一筆,倒序 append 在檔案開頭(最新在最上面):

## [YYYY-MM-DD] {type} | {一句話標題}
- 內容:{發生了什麼}
- 影響頁面:[[...]]、[[...]]
- 訊號:{使用者的原話片段;情緒;未成形的疑慮}   ← 選填,但這是夢工廠的主食

type 取值:ingesttriagequerydecisionlintarchiveislandskilldream

「訊號」欄位為什麼重要

dream-studio 找共振靠的不是系統做了什麼,是使用者說了什麼、當時什麼感覺。「今天跟 Vic 談完覺得怪怪的」不是一個想法、不夠格成為原子筆記,但三個月後它可能就是一條信念的來源。這類還沒成形的訊號,記在這裡就好,不要為它硬開一個 orb。

記錄訊號時用使用者的原話,不要改寫成更漂亮的句子。潤飾過的訊號在夢工廠回頭讀時會失真。

不該寫進 log.md

  • memorb-query 的流通紀錄更新(recall_countlast_recalled)——量大且無資訊,會淹掉真正的訊號
  • 純讀取、沒有改變任何檔案的操作

輪替

dream-studio 執行完畢後,把當期 log.md 封存為 memorbs/log/{YYYY-MM}.md 並清空 log.md,只留檔頭。這樣 log.md 永遠是「上次做夢至今」的份量,不會無限膨脹——就像電影裡當天的記憶球在夜裡被送進長期記憶區。往期檔案保留不刪,夢工廠要拉更長區間時可回頭讀。

Session 開頭必讀

每次 session 開始,必讀 memorbs/HQ/persona.mdmemorbs/HQ/identity.md(兩者合計仍需 <100 行,維持 Hot Cache 的精簡)。Core/Belief/ 底下的 orb,以及 memorbs/Long-Term/ 底下的實體頁面,一律交由 memorb-query 視情境查詢與回填,不必每次全讀。

命名與格式規則

  1. 日期格式:一律 YYYY-MM-DD;週格式 YYYY-Www(如 2026-W28)。
  2. OrbTrack 檔名{YYYY-MM-DD}-{HHMM}-{Title}.md
  3. Frontmatter:每篇筆記都要有 YAML frontmatter,欄位依筆記類型而定(見下方兩張表)。
  4. 語言:內文預設繁體中文。
  5. Emoji:非結構性標題不加 emoji;頂層資料夾名稱不含 emoji。
  6. 動作後回報:建立/更新筆記後,回報檔案路徑給使用者。
  7. MOC 命名:Island 的入口筆記統一命名 000-MOC.md;跨資料夾引用一律用完整路徑 [[memorbs/Islands/{名稱}/000-MOC|{名稱}]],避免同名歧義。memorbs/Long-Term/ 底下的實體頁面(Projects/People/Orgs)預設為單一頁面,不強制要求 MOC。

實體是單數,事件帶日期

這是最容易搞錯的一條,錯了就會撞檔名或把不同時間的事混成一頁。

實體頁事件 orb
是什麼一個人、一間公司、一個專案某天發生的一件事
位置memorbs/Long-Term/{People,Orgs,Projects}/OrbTrack → 依內容歸位
數量一個實體永遠只有一頁(權威控制,別名收斂到這頁)一次一顆,不合併
命名{實體名}.md,不帶日期{YYYY-MM-DD}-{標題}日期是名字的一部分

事件的日期前綴在 triage 之後要保留,這是它跟實體頁最大的差別,也是同一件事重複發生時不會撞名的原因。

實例——今年投了 Acme 的職缺,明年又投一次同一個職位:

memorbs/Long-Term/Orgs/Acme.md              ← 永遠只有這一份
   ├─ 連到 [[2026-07-26-Acme-資深PM-應徵]]
   └─ 連到 [[2027-03-11-Acme-資深PM-應徵]]

memorbs/…/2026-07-26-Acme-資深PM-應徵/
   ├── 2026-07-26-Acme-資深PM-應徵.md
   └── JD.pdf
memorbs/…/2027-03-11-Acme-資深PM-應徵/       ← 另一顆,不覆蓋
   ├── 2027-03-11-Acme-資深PM-應徵.md
   └── JD.pdf

副作用是好的:Acme.md 上自然累積出一條歷程,明年回頭想對照兩份 JD 差在哪時,實體頁就是入口。

判斷法:問「這件事會不會再發生第二次?」會 → 事件 orb,帶日期。不會、而且它是一個持續存在的東西 → 實體頁,不帶日期。

Frontmatter Schema

一般筆記(OrbTrack / Island / 單篇 orb)

---
title: {標題}
date: {YYYY-MM-DD}
tags: [...]
status: active   # active | processed | unprocessed | archived
---

原始素材:進 bundle,不另設資料夾

逐字稿、剪報、PDF、名片掃描這類原始素材是 orb 的附件,不是獨立的一類東西。它們放在 orb 自己的 bundle 資料夾裡:

memorbs/HQ/OrbTrack/2026-07-12-1400-與Vic面談/
├── 2026-07-12-1400-與Vic面談.md    ← orb 本體
└── 逐字稿.md                         ← 附件,跟 orb 同生共死

這樣生命週期自動正確:memorb-forgetter 歸檔 bundle orb 時本來就是整個資料夾一起搬,附件跟著走,不需要 source: 欄位、不需要孤兒偵測、也不需要一個共用的附件桶。

只有文件檔進 vault.md.txt.pdf,以及作為文件掃描的圖片(名片、白板照)。音訊與影片一律不進——體積會拖垮 vault 與 git。錄音留在 vault 外,orb 內文記下它的位置與取得方式即可。

這條取代了三套並存的舊做法:Resources/…/raw/OrbTrack/Attachments/、以及短暫存在過的 source: 欄位。全部統一到 bundle。

memorbs/Long-Term/ 頁面(Projects/People/Orgs,Authority Control & Circulation Tracking)

Long-Term 頁面除一般欄位外,必須額外具備以下四個欄位,供 memorb-ingestmemorb-querymemorb-lint 讀寫:

---
title: {實體名稱}
tags: [...]
status: active
aliases: []          # 別名/暱稱,供權威控制去重;memorb-lint 用來抓「有提到但沒被任何 aliases 涵蓋」的孤兒實體
orb_emotions: []     # 從 ingest 內容累積的情緒標籤:joy / anxiety / fear / sadness / anger / disgust
recall_count: 0      # 每次被 memorb-query 讀取命中就 +1
last_recalled: null  # 最近一次被查詢命中的 YYYY-MM-DD
---

歸檔時(由 memorb-forgetter 執行)額外加上:

status: archived
archived_at: {YYYY-MM-DD}

若讀到的 Long-Term 頁面缺少上述任一欄位,視為舊資料,讀取當下就地補上預設值(aliases: []orb_emotions: []recall_count: 0last_recalled: null),不需要另外開一輪修改流程。

memorbs/HQ/Core/memorbs/HQ/Belief/ 的 orb 檔案

一 orb 一檔,frontmatter:

---
title: {orb 標題}
formed_at: {YYYY-MM-DD}
orb_type: core         # core | belief
derived_from: []       # 僅 belief orb 使用:回連凝聚出此信念的來源 orb
---

derived_from 可指向任何 orb,不限 Core:[[memorbs/HQ/Core/{slug}]][[memorbs/Long-Term/Projects/{slug}]][[memorbs/Long-Term/People/{slug}]] 都合法。信念多半是由一堆單獨看都不夠格當 Core Memory 的小事累積而成,限定只能連 Core 會把這條路堵死。Core orb 不使用此欄位(保持 [] 或省略)。

persona.mdidentity.md 不是 orb,維持一般 Markdown + 精簡 frontmatter(title/updated)即可,不套用上述 schema。identity.md 內容建議結構:

## 基本資料
- 姓名:
- 生日:
- 學經歷:
  - {YYYY}–{YYYY} {職稱} @ {組織}
  - {YYYY} 畢業於 {學校}/{科系}

## 自我描述標籤
- MBTI:
- 其他量表/標籤:

## 目前角色與目標


## 關鍵關係
- [[memorbs/Long-Term/People/{Name}|{Name}]]({關係})

MBTI 這類標籤放 identity.md,不要放 Belief/ Belief orb 是「從自己經驗提煉出的一句話」,MBTI 是外部量表貼上的分類,兩者性質相反。混放會讓 dream-studio 在評估信念演變時把外部標籤誤當成自我提煉的結果。

Orb File Structure

Every memorb (Core, Belief, Long-Term entity page, or any named orb) follows one of two physical layouts:

TypeLayoutWhen to use
Plain orborb-name.md — single fileNo attachments; self-contained text
Bundle orborb-name/orb-name.md + attachment files in the same folderHas attachments (images, PDFs, audio, etc.)

Rules:

  • The folder and the main Markdown file always share the same name — never use a generic filename like memorb.md inside a bundle folder.
  • Query resolution order: look for orb-name.md first; if not found, look for orb-name/orb-name.md. All skills that read or move orbs must follow this two-step lookup.
  • When archiving or moving a bundle orb, move the entire orb-name/ folder, not just the inner .md file.

範本路徑

Templates/ 是使用者原生資料夾,不存在就跳過、直接依 Frontmatter Schema 生成,不要建立這個資料夾。

範本路徑
Meeting NoteTemplates/Meeting Note Template.md
ProjectTemplates/Project Template.md
IslandTemplates/Island Template.md
ResourceTemplates/Resource Template.md
General NoteTemplates/Note Template.md

(待固化:memorbs/HQ/memorbs/Long-Term/ 頁面目前沒有固定範本檔,格式僅由上方 Frontmatter Schema 約束,由 memorb-bornmemorb-ingest 直接生成;Project 範本也需要更新為含 Authority Control 欄位的版本。)

Vault 搜尋

grep -r "keyword" "$VAULT" --include="*.md" -l          # 找檔案
grep -r "keyword" "$VAULT" --include="*.md" -n -B 2 -A 2  # 帶上下文

快速新增 OrbTrack 筆記

DATE=$(date +%Y-%m-%d); TIME=$(date +%H%M)
cat > "$VAULT/memorbs/HQ/OrbTrack/${DATE}-${TIME}-Title.md" << EOF
---
title: Title
date: ${DATE}
tags: [orbtrack]
status: unprocessed
---

# Title

Content
EOF

新增待辦到 TASKS.md

## 📋 待辦 區塊下加一行 - [ ] 任務描述

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.