agentCLAWHUBUnverified

Soul In Sapphire

Generic long-term memory (LTM) operations for OpenClaw using Notion (2025-09-03 data_sources). Use for durable memory writes/search, emotion-state ticks, jou...

OpenClaw

Rank

62

Safety

84

Downloads

948

Updated

Apr 15, 2026

Version

1.0.7

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 948 downloads reported by the source. Last updated 4/15/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Apr 15, 2026
Protocol compatibility
OpenClawcompatibility · observed Apr 15, 2026
Adoption signal
948 downloadsadoption · observed Apr 15, 2026
Latest release
1.0.7release · observed Feb 16, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install kn747bx1r2jrbbyca61v6k06397zy93t:soul-in-sapphire
  1. Install using `clawhub skill install kn747bx1r2jrbbyca61v6k06397zy93t:soul-in-sapphire` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/NEXTAltair/soul-in-sapphire before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-soul-in-sapphire/snapshot"

Documentation

CLAWHUB

40,704 characters of source documentation, loaded on request.

Extracted files

4 files captured from the source.

SKILL.md

---
name: soul-in-sapphire
description: Generic long-term memory (LTM) operations for OpenClaw using Notion (2025-09-03 data_sources). Use for durable memory writes/search, emotion-state ticks, journal writes, and model-controlled subagent spawn planning via local JSON presets.
metadata: {"openclaw":{"emoji":"💠","requires":{"bins":["node"],"env":["NOTION_API_KEY"]},"primaryEnv":"NOTION_API_KEY","dependsOnSkills":["notion-api-automation"],"localReads":["~/.config/soul-in-sapphire/config.json"],"optionalEnv":["NOTIONCTL_PATH"]}}
---

# soul-in-sapphire (Notion LTM)

Use this skill to persist and retrieve durable memory in Notion, and to maintain emotion/state + journal records.

## Core intent (do not lose this)

This skill is not only a storage utility. Its core purpose is:

1. Capture meaningful emotional/state shifts from real work and conversations.
2. Preserve those shifts as durable memory (not just raw logs).
3. Reuse recalled memory to improve future judgments and behavior.

In short: record -> recall -> adapt.
The goal is continuity and growth, not archival volume.

## Requirements

- Notion token: `NOTION_API_KEY` (or `NOTION_TOKEN`)
- Notion API version: `2025-09-03`
- Local config: `~/.config/soul-in-sapphire/config.json`
- Dependency skill: `notion-api-automation` (`scripts/notionctl.mjs` is executed via local child process)
- Optional override: `NOTIONCTL_PATH` (if set, uses explicit notionctl path instead of default sibling skill path)

## Required Notion databases and schema

Create (or let setup create) these databases under the same parent page:

- `<base>-mem`
- `<base>-events`
- `<base>-emotions`
- `<base>-state`
- `<base>-journal`

### 1) `<base>-mem` (durable memory)

Purpose: store high-signal long-term memory.

Properties:

- `Name` (title)
- `Type` (select): `decision|preference|fact|procedure|todo|gotcha`
- `Tags` (multi-select)
- `Content` (rich_text)
- `Source` (url, optional)
- `Confidence` (select: `high|medium|low`, optional)

### 2) `<base>-events` (what happened)

Purpose: record meaningful triggers from work/conversation.

Properties:

- `Name` (title)
- `when` (date)
- `importance` (select: `1..5`)
- `trigger` (select): `progress|boundary|ambiguity|external_action|manual`
- `context` (rich_text)
- `source` (select): `discord|cli|cron|heartbeat|other`
- `link` (url, optional)
- `uncertainty` (number)
- `control` (number)
- `emotions` (relation -> `<base>-emotions`)
- `state` (relation -> `<base>-state`)

### 3) `<base>-emotions` (felt response)

Purpose: attach one or more emotion axes to one event.

Properties:

- `Name` (title)
- `axis` (select): `arousal|valence|focus|confidence|stress|curiosity|social|solitude|joy|anger|sadness|fun|pain`
- `level` (number)
- `comment` (rich_text)
- `weight` (number)
- `body_signal` (multi-select): `tension|relief|fatigue|heat|cold`
- `need` (select): `safety|progress|recognition|autonomy|rest|novelty`
- `coping` (select): `log|ask|pause|act|defer`
- `event` (relation -> `<base

README.md

# soul-in-sapphire

## Intent (何を意図したスキルか)

OpenClawは「会話ログ」は残る一方で、**人格/気分/学び/その日の余韻**みたいなものは、放っておくと散逸します。
`soul-in-sapphire` はそれを **Notionに外部化して継続性を作る**ためのスキルです。

狙いは3つ:

1) **Durable memory**: 汎用の長期メモリ(LTM)を残し、後から検索して会話/作業に戻す
2) **Emotion/State**: 出来事(event)に複数の感情を紐づけ、状態(state)を更新して「育つ感じ」を出す
3) **Journal**: 毎日1回、世界の出来事(ニュース) + 仕事/会話 + 感情 + 未来を短くまとめ、記憶の層を厚くする

このスキルは **プロジェクト特化ではなく汎用**で、ユーザーがDB名や語彙を自分の世界観に合わせて差し替えられるように設計しています。

## Inspiration (元ネタ)

このスキル名/モチーフは、SF小説 「ヴァレンティーナ -コンピュータネットワークの女王- (訳:小川 隆)」 *Valentina: Soul in Sapphire* (Joseph H. Delaney / Marc Stiegler) に由来します。
ネットワーク上に生まれた自我を持つプログラム、というアイデアの空気感を借りています。


---

OpenClaw向けのNotionベースLTM(長期記憶) + Emotion/State + Journal運用。

- Notion API **2025-09-03**(data_sources世代) 前提
- 個人のNotion token/IDはリポジトリに含めない
- 初回セットアップでDBを作り、以後はスクリプトから記録/参照する

## これは何?

このスキルは2系統あります。

1. **LTM(汎用メモリ)系**
   - 決定事項/好み/手順/注意点をNotionに保存し、あとで検索して使う

2. **Emotion/State + Journal 系**
   - event(出来事)に対して複数のemotionをぶら下げ、stateを更新する
   - 毎日01:00にjournalを書いて「その日」「世界の出来事」「作業」「感情」「未来」を残す

## 依存

- OpenClaw Gateway
- Notion Integration + token
- Notion操作用スキル(ClawHub): `notion-api-automation`
- subagent payload生成スキル(ClawHub): `subagent-spawn-command-builder`

インストール例:

```bash
# notion-api-automation
npx clawhub@latest install notion-api-automation
pnpm dlx clawhub@latest install notion-api-automation

# subagent-spawn-command-builder
npx clawhub@latest install subagent-spawn-command-builder
pnpm dlx clawhub@latest install subagent-spawn-command-builder
```

## セットアップ

## Notionデータベース設計(必須)

このスキルを他ユーザーが再利用する場合、まず以下5つのDB構成を揃える必要があります。
`setup_ltm.js` を使うと自動作成されますが、手動で作る場合も同じプロパティ名を使ってください。

作成対象:

- `<base>-mem`
- `<base>-events`
- `<base>-emotions`
- `<base>-state`
- `<base>-journal`

### 1) `<base>-mem` (長期記憶)

- 目的: 高シグナルな記憶を保存
- プロパティ:
  - `Name` (title)
  - `Type` (select): `decision|preference|fact|procedure|todo|gotcha`
  - `Tags` (multi-select)
  - `Content` (rich_text)
  - `Source` (url, 任意)
  - `Confidence` (select: `high|medium|low`, 任意)

### 2) `<base>-events` (出来事)

- 目的: 作業/会話中の意味あるトリガーを保存
- プロパティ:
  - `Name` (title)
  - `when` (date)
  - `importance` (select: `1..5`)
  - `trigger` (select): `progress|boundary|ambiguity|external_action|manual`
  - `context` (rich_text)
  - `source` (select): `discord|cli|cron|heartbeat|other`
  - `link` (url, 任意)
  - `uncertainty` (number)
  - `control` (number)
  - `emotions` (relation -> `<base>-emotions`)
  - `state` (relation -> `<base>-state`)

### 3) `<base>-emotions` (感情)

- 目的: 1つの出来事に対する感情軸を複数記録
- プロパティ:
  - `Name` (title)
  - `axis` (select): `arousal|valence|focus|confidence|stress|curiosity|social|solitude|joy|anger|sadness|fun|pain`
  - `level` (number)
  - `comment` (rich_text)
  - `weight` (number)
  - `body_signal` (multi-select): `tension|relief|fatigue|heat|cold`
  - `need` (select): `safety|progress|recognition|autonomy|rest|novelty`
  - `coping` (select): `log|ask|pause|act|defer`
  - `event` (relation -> `<base>-events`)

### 4) `<base>-state` (状態スナップショット)

_meta.json

{
  "ownerId": "kn747bx1r2jrbbyca61v6k06397zy93t",
  "slug": "soul-in-sapphire",
  "version": "1.0.7",
  "publishedAt": 1771224585272
}

package.json

{
  "name": "soul-in-sapphire",
  "private": true,
  "type": "module"
}
Github ReposUpdated 5h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceUrl": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-soul-in-sapphire/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-soul-in-sapphire/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "948 downloads",
      "href": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceUrl": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.7",
      "href": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceUrl": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-02-16T06:49:45.272Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-soul-in-sapphire/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-soul-in-sapphire/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.7",
      "description": "- Added support for providing emostate_tick.js input via --payload-file and --payload-json arguments (stdin still supported, but now optional). - Documented and recommend using --payload-file for agent/cron reliability in emostate_tick.js. - Improved error handling: emostate_tick.js strictly rejects semantically empty input from both file and stdin. - Updated documentation in SKILL.md and usage in README.md to reflect new payload handling options. - Minor internal script refactoring and clarifications in core command usage.",
      "href": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceUrl": "https://clawhub.ai/NEXTAltair/soul-in-sapphire",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-02-16T06:49:45.272Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to Soul In Sapphire and adjacent AI workflows.