persona 原本是唯一沒有套用 gen-plugin-files.mjs 樣板的 repo,AGENTS.md 149 行手工維護的規則多數已在 README.md 對應章節與各 skill 的 SKILL.md 有完整覆蓋。改為透過 plugin.meta.json 的 agentsExtraBullets 機制產生,只保留純開發安全限制(狀態變更走 persona.mjs、人格鎖與隔離、selftest 要求、Node/ESM 限制),深入行為細節一律指向對應文件,降為 21 行。同步移除 plugin.meta.json 裡已無意義的 readmeHeadings 覆寫(新增一個 skill 節名已統一)。
2.5 KiB
2.5 KiB
jsc-persona — 共用 Skills(跨 AI 助理)
本 repo 是一組以 Agent Skills(SKILL.md) 標準撰寫的共用 skills,可同時被 Claude Code、Codex、Antigravity、OpenCode 使用。
給 AI 助理的指引
- 所有可用的 skills 位於本 repo 的
skills/<name>/SKILL.md。 - 在處理任務前,先比對使用者需求與各 skill
SKILL.mdfrontmatter 的description,若相符請載入並依其步驟執行。 - 呼叫慣例:在 Claude Code 與 Antigravity 中,這些 skill 以
/jsc-persona:<name>呼叫;Codex 以$<name>、OpenCode 由模型依描述自動觸發 — 兩者沒有/jsc-persona:前綴,不需強制加。 - 完整清單與每個 skill 的用途,請見
README.md的「Skills 目錄」。 - 所有狀態變更都經過
scripts/persona.mjs,不要手動編輯state/lock.json、.runtime/、memory/INDEX.md、relations/graph.mmd(這些由 CLI 產生)。 - 一個程序只能載入一個人格,同一 session 的 sub agent 沿用同一把鎖;不要讀取其他人格的目錄,會被 hook deny,這是設計上的紅線。
- 人格資料不在本 repo,預設在
~/.claude/personas/(可用PERSONA_HOME覆寫);人格由使用者呼叫才載入,不要自己挑一個人格附身。 - 劇場模式、睡眠、講話規則、情緒模型、羞恥度、記憶衰減、人格圖示、人格編號、Gitea 同步、語氣診療(
persona-therapist)、原作匯入(persona-story)等行為細節,見README.md對應章節與各 skill 的SKILL.md;動到scripts/persona-lib.mjs相關邏輯前務必先讀懂對應章節與selftest.mjs的既有案例,不要憑印象改。 - 改動鎖或隔離邏輯(
guardDecide/acquireLock/promotionCandidates/exportBundle/importBundle)後,必須跑node scripts/selftest.mjs且全綠,並為新規則補一條測試;改動重複判定門檻(similarity/REPEAT_THRESHOLD)要用 selftest ⑪ 對照案例確認;改動同步分區(AREAS)後 selftest ⑬ 的「不重不漏」檢查必須維持全綠。 - 腳本一律 Node.js(
.mjs, ESM),只用內建模組(fs/path/os/crypto);hook 必須在任何環境都能跑,不得引入 npm 依賴。selftest 自己會設PERSONA_GITEA=off,絕對不要讓測試碰到真的 Gitea。
慣例
- 新增 skill 一律放在
skills/<name>/,且<name>使用小寫與連字號。 description要寫清楚觸發條件(何時用、何時不用),這是跨助理自動載入的唯一依據。