用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/NEXTAltair/Openclaw-Skills --skill soul-in-sapphire命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Calibre catalog lookup, viewing, and delegated one-book analysis.
Edit Calibre metadata through verified dry-run and apply gates.
Ingest pasted PC parts receipts or specs into Notion DIY_PC tables with classification, enrichment, follow-up, and upsert.
正在显示 SKILL.md
| name | soul-in-sapphire |
| description | Continuity, durable memory, state, journal, and identity maintenance. |
| metadata | {"openclaw":{"emoji":"💠","requires":{"bins":["node"],"env":["NOTION_API_KEY"]},"primaryEnv":"NOTION_API_KEY","dependsOnSkills":["notion-api-automation"],"optionalEnv":["NOTION_TOKEN","NOTION_API_TOKEN","NOTIONCTL_PATH"]}} |
Use for continuity work, not vague acknowledgement. Default to the smallest concrete action that leaves an inspectable artifact.
Heartbeat/current-state maintenance:
memory/now-state.json and memory/heartbeat-state.json if present.scripts/emostate_tick.js when meaningful.memory/now-state.json mirror with mood, intent, stress, updated_at, source, note.memory/soul-in-sapphire/ambient-recall.json exists and is not expired, read it as quiet context only. Do not reroll or announce it unless it naturally matters.Mood/check-in:
memory/now-state.json first.Durable memory:
scripts/ltm_write.js.decision|preference|fact|procedure|todo|gotcha.Journal:
scripts/journal_write.js for daily synthesis, not raw log dumping.Identity/continuity:
continuity_check.js or identity_diff.js before self-description edits.conflict_track.js for unresolved tension instead of premature edits.Update USER.md proactively only when a new fact is durable, reusable, safe, and improves future replies.
Good candidates:
Do not promote:
If uncertain, write to daily memory first. Current user instructions override USER.md; USER.md stores defaults.
memory/*.md, memory/now-state.json) are mirrors and fallbacks, not substitutes for a requested durable Notion write.memory/now-state.json even if Notion fails, and report durable-write failure when relevant.emostate_tick.js rejects empty or semantically empty payloads; pass a real payload file/json.Keep normal continuity work in main. Delegate only independent, read-only corpus analysis such as sorting a large journal set.
For that explicit OpenClaw delegation:
sessions_spawn with the live tool schema using runtime: "subagent", agentId: "analysis-worker", mode: "run", context: "isolated", and lightContext: true.model and thinking; the target agent profile owns them.sessions_yield when completion belongs in a later turn. Do not poll session or subagent lists.Child output is evidence only. Main owns Notion writes, state mirrors, core identity edits, profile promotion, journal writes, and user-facing replies.
Read the Soul-in-Sapphire Notion Databases subsection of the workspace AGENTS.md ## Tools section and pass explicit IDs to scripts. Notion API version: 2025-09-03.
Provide Notion auth through NOTION_API_KEY / NOTION_TOKEN, or configure skills.entries["soul-in-sapphire"].apiKey in OpenClaw. The apiKey field is associated with this skill's primaryEnv and is injected as NOTION_API_KEY for the host agent run. It may be plaintext or any supported OpenClaw SecretRef (env, file, exec, etc.).
Do not hardcode provider-specific secret paths in this shared skill. Example:
{
skills: {
entries: {
"soul-in-sapphire": {
apiKey: { source: "exec", provider: "your_notion_secret_provider", id: "value" }
}
}
}
}
LTM write: echo '{"title":"Decision: ...","type":"decision","tags":["openclaw"],"content":"...","confidence":"high"}' | node skills/soul-in-sapphire/scripts/ltm_write.js --mem-dsid <MEM_DS_ID> --mem-dbid <MEM_DB_ID>
LTM search: node skills/soul-in-sapphire/scripts/ltm_search.js --mem-dsid <MEM_DS_ID> --mem-dbid <MEM_DB_ID> --query "..." --limit 5
Emotion/state tick: node skills/soul-in-sapphire/scripts/emostate_tick.js --events-dbid <EVENTS_DB_ID> --emotions-dbid <EMOTIONS_DB_ID> --state-dbid <STATE_DB_ID> --state-dsid <STATE_DS_ID> --payload-file /tmp/emostate_tick.json
Journal: echo '{"body":"...","source":"manual"}' | node skills/soul-in-sapphire/scripts/journal_write.js --journal-dbid <JOURNAL_DB_ID> --journal-dsid <JOURNAL_DS_ID>
Ambient recall stage: node skills/soul-in-sapphire/scripts/stage_ambient_recall.js --workspace <OPENCLAW_WORKSPACE> --timezone <IANA_TIMEZONE> --state-dsid <STATE_DS_ID> --journal-dsid <JOURNAL_DS_ID> --mem-dsid <MEM_DS_ID> --mem-dbid <MEM_DB_ID>
Continuity helpers:
state_recall.js: pull recent state snapshots.stage_ambient_recall.js: cron-side ambient recall dice and workspace staging.continuity_check.js: distinguish stable traits from temporary drift.identity_diff.js: compare current vs proposed identity text.conflict_track.js: log unresolved tension before changing identity.emostate_tick.js when a real event changes mood, intent, stress, or need.journal_write.js when the day needs synthesis, not just logging.ltm_search.js before guessing past decisions.memory/soul-in-sapphire/; conversation and heartbeat paths only read unexpired staged recall and never reroll.identity_diff.js before self-description updates so changes remain inspectable.Track repeated mood/intent patterns, stable preferences across sessions, recurring internal conflicts, and identity claims that survive comparison against recent memory.