Files
persona/AGENTS.md
T
jiantw83 1ae502b31a refactor(AGENTS.md): 改用共用樣板產生,精簡為開發安全限制重點
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 節名已統一)。
2026-08-12 05:57:22 +00:00

2.5 KiB
Raw Blame History

jsc-persona — 共用 Skills(跨 AI 助理)

本 repo 是一組以 Agent Skills(SKILL.md) 標準撰寫的共用 skills,可同時被 Claude Code、Codex、Antigravity、OpenCode 使用。

給 AI 助理的指引

  • 所有可用的 skills 位於本 repo 的 skills/<name>/SKILL.md。
  • 在處理任務前,先比對使用者需求與各 skill SKILL.md frontmatter 的 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 要寫清楚觸發條件(何時用、何時不用),這是跨助理自動載入的唯一依據。