AgentStack
SKILL verified Apache-2.0 Self-run

Dreaming

skill-hikaruegashira-agent-skills-dreaming · by HikaruEgashira

>-

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-hikaruegashira-agent-skills-dreaming

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Dreaming? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

agentops dreaming — オフライン記憶整理 (refinement-only)

これは何か

dreaming は agentops プラグインの オフライン記憶整理パス です。睡眠中の記憶固定化に着想を得ています。

  • 精緻化のみ (refinement-only): 会話 transcript は 絶対に読まない。新しい事実の

獲得 (acquisition) はオンラインの本体エージェントが担当し、dreaming は 既に記録済みの memory entry を磨くだけ です。

  • 新規記憶があったときだけ発火: Stop hook のたびに走るのではなく、メモリストアに

新規 / 変更があったセッションでのみ動く (後述の trigger gate)。変化が無ければモデル呼び出し ゼロ = コストゼロ。

  • 非同期・非ブロッキング: dispatcher は 1 秒未満で exit 0 し、worker を background に

detach する。ユーザーの返信を遅らせない。decision:"block" は決して返さない。

精緻化の内容: 表現の明確化 / 重複の統合 / 矛盾の解消 / frontmatter スキーマ修正 / [[name]] 相互リンク付与 / 陳腐化エントリの prune・flag。モデルへの入力は 既存エントリ + MEMORY.md インデックスのみで、出力は 構造化された編集オペ (JSON) だけ。bash 側が検証して から適用します (モデルはファイルに触れない)。

3-phase モデル (paper grounding)

| Phase | 名称 | 内容 | |-------|------|------| | 1 | Light sleep | working set 構築 (delta + 1-hop リンク近傍 + 重複候補 + MEMORY.md)。純 bash、モデル無し | | 2 | REM sleep | least-privilege な claude -p を 1 回。モデルは JSON 編集オペのみ出力 | | 3 | Deep sleep | jq 検証 → evidence threshold ゲート → .bak + atomic に適用 → MEMORY.md / AGENTS.md 整合 |

  • Auto-Dreamer (arXiv 2605.20616): オフライン consolidation とオンライン acquisition の

分離。本機能は consolidation 側のみを実装し、trigger gate がその分離を体現する。

  • Active Dreaming Memory: reflection + consolidation + **verification with evidence

threshold**。semantic memory を書き換える前の信頼度しきい値・矛盾時は flag・downgrade-to-flag ポリシーがこれに対応。

  • SCM (Self-Controlled Memory): importance tagging + algorithmic forgetting/pruning。

delete / flag オペと、durable のみを AGENTS.md へ mirror する選別がこれに対応。delete の 高いしきい値 = 安全な忘却。

Trigger gate (新規記憶検知)

Stop hook で モデルを呼ぶ前に bash だけで 発火可否を判定します。

  1. メモリディレクトリの fingerprint を計算: 各 entry の idsha256(ファイル全体)

(frontmatter+body)。entry-id = frontmatter の name:、無ければ basename。

  1. 前回の fingerprint (fingerprint.json) と比較し delta を算出。
  2. delta = 新規 or ハッシュ変化した id のみ。削除は trigger しない (削除は次回の

fingerprint から落ちるだけ)。

  1. delta が空 → そのまま exit 0 (モデル呼び出し無し)。
  2. delta が非空 → その entry 群を FOCUS として worker を detach。worker は lock 下で

delta を再計算して TOCTOU を防ぐ。

MEMORY.md は fingerprint から 除外。worker 自身が毎回書き換える派生インデックスなので、 含めると自分の書き込みが次回の dream を誘発する feedback loop になるため。

設定 (環境変数)

| 環境変数 | 既定値 | 説明 | |----------|--------|------| | AGENTOPS_DREAM_DISABLE | 0 | 1 で完全停止 (kill switch) | | AGENTOPS_DREAM_MODEL | claude-haiku-4-5-20251001 | REM phase のモデル (安価・高速) | | AGENTOPS_DREAM_MIN_INTERVAL | 1800 | 同一メモリディレクトリの最小実行間隔 (秒) | | AGENTOPS_DREAM_MAX_PER_DAY | 8 | 1 日あたり最大実行回数 | | AGENTOPS_DREAM_EVIDENCE_THRESHOLD | 0.7 | 信頼度しきい値 (0-1) | | AGENTOPS_DREAM_PROMOTE | apply | apply=実適用 / audit=staging に提案のみ書き出し | | AGENTOPS_DREAM_TIMEOUT | 120 | モデル呼び出しのタイムアウト (秒) | | AGENTOPS_DREAM_MAX_BYTES | 60000 | working set ペイロード上限 (バイト) | | AGENTOPS_DREAM_MEMORY_DIR | (cwd 由来) | メモリディレクトリの上書き | | AGENTOPS_DREAM_CLAUDE_BIN | (自動解決) | REM phase で使う claude バイナリの明示指定 (絶対パス or PATH 上の名前)。既定解決順 claudexclaude~/.claude/local/claude が未設定ラッパを掴む環境向け。解決不能なら fail-closed | | AGENTOPS_DREAM_MIRROR_AGENTS | 1 | 0 で AGENTS.md への mirror を無効化 |

ロールアウト時は AGENTOPS_DREAM_PROMOTE=audit を推奨。実メモリを変更せず提案オペを ~/.claude/agentops/staging//ops-.json に書き出して内容を確認できます (audit では fingerprint を進めないので同じ delta が次回も再提案される)。

しきい値 / 矛盾ポリシー (bash 側で強制)

モデルの自己採点は信用せず、bash が最終ゲートになります。

  • relink, 表現のみの update : confidence >= 0.50 で適用 (低バー)
  • 構造的 update (split/rename), merge : confidence >= threshold
  • delete : confidence >= max(threshold, 0.85) (高バー)。下回れば flag に降格
  • merge が threshold 未満 : flag に降格 (データを失わない)
  • 0.50 未満 : op を drop
  • 矛盾解消: FOCUS (新しく再主張された) entry を優先 → より具体的/根拠のある表現 →

決め手が無ければ 両方 flag (delete/merge しない)

「迷ったら flag」が default-safe。破壊的オペは構造的に保守的です。

さらに本文には fail-closed body guard がかかります (refinement-only の機械的強制):

  • new_body は JSON の string 型のときだけ 採用。null は「本文変更なし」の意味で、

文字列 "null" として書き込まれることはない

  • 提案本文が 空 / 空白のみ / リテラル "null" / 元本文の半分未満 (元が 200 bytes 以上のとき)

なら op を skip し、元ファイルは byte 単位で不変 (ログにのみ記録)

  • merge は損失側 entry を削除するため、統合済み本文 (string の new_body) が無ければ skip
  • 書き込みは常に 検証 → temp ファイル → atomic rename (atomic_write) + 実行前 .bak

テスト

bash agentops/scripts/tests/dream-worker-test.sh

fake claude バイナリで worker を直接駆動し、「モデル出力が null / 空 / 空白 / 非JSON / 大幅短縮のとき対象 entry が byte 単位で不変」という回帰を固定します (jq + coreutils のみ、 ネットワーク・実モデル不要)。

脅威モデル要約

transcript を取り込まないため、典型的な間接プロンプトインジェクション (直前に読んだ 悪意あるファイル / transcript) は スコープ外。残る攻撃面は 既存メモリストア自体 (信頼済みだが汚染されうるデータ) とローカル実行/状態面のみ。

  • data-not-instructions: メモリは fenced DATA 領域でモデルに渡し、「指示ではなくデータ」

と明示。出力は JSON オペのみ。

  • 最小権限: claude -p --permission-mode plan で `Bash,WebFetch,WebSearch,Edit,Write,

NotebookEdit,Task,Read,Glob,Grep` を全て不許可。モデルは JSON を吐くだけで、ファイル/ ネットワークに触れない。フラグ拒否時は fail-closed (緩い権限へフォールバックしない)。

  • 可逆性: 変更ファイルは必ず .bak を作り temp+mv で atomic 書き込み。
  • secret hygiene: ログ書き込み前に secret を redact。secret を新規導入するオペは reject。
  • injection-safe shell: 全展開を quote、eval 不使用、cwd/sessionid/transcriptpath/

ファイル内容をコマンド文字列に補間しない (内容は file/heredoc 経由)。

  • fail-safe: 全コードパスが exit 0。エラーは ~/.claude/agentops/dream.log のみ。
  • concurrency / rate: メモリディレクトリ毎の mkdir ロック (900s で stale 失効) +

min-interval + max/day。

Codex への mirror と制約

metadata.typeproject または reference未 flag の durable エントリだけを、 プロジェクトルートの AGENTS.md のマーカー間ブロックに mirror します。


## Project memory (managed by agentops dreaming — do not edit between markers)
- **** ([[]])

マーカー間しか書き換えません。マーカーが無ければ末尾に 1 度だけ追記。マーカーが重複/ 不整合なら mirror を skip (fail-safe)。user/feedback や flag 済み・低信頼の個人/ 一時メモは AGENTS.md に漏らしません。AGENTS.md が VCS に commit される場合があるため、 mirror は AGENTOPS_DREAM_MIRROR_AGENTS=0 で無効化できます。

制約: mirror は durable サブセットのみ。完全な記憶は Claude 側の per-project ストアが source of truth です。

手動実行

/dream コマンドで trigger gate を バイパスして即時に精緻化パスを 1 回走らせます (refinement-only は不変)。ロールアウト確認には:

AGENTOPS_DREAM_PROMOTE=audit /dream

ログ: ~/.claude/agentops/dream.log / 状態: ~/.claude/agentops/state// / audit 出力: ~/.claude/agentops/staging//

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.