joe-rlo

Memory Pipeline

AIエージェントv0.4.0
作者:joe-rlo更新日 2026-05-17全 4 バージョン · 最新版の公開日 2026-02-02memory-pipeline@clawhub_joe-rlo/memory-pipeline
ワークフロー編成コンテキスト管理メモリ強化#Pipeline#Game#Agent Memory

AlphaMoatによると、2026-09時点でMemory Pipelineのダウンロード数は4,262、スター数は4で、AIスキル全体5,078件中2,321位、AIエージェントでは969件中450位です。

インストール数
130
ダウンロード数
4262
スター数
4
総合順位
#2,321
全体の上位 46% · AIエージェントの上位 47%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗13039414-
SkillHub ↗12942624—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

決定、好み、学びを整理し、事実を関連付けて矛盾を示し、BRIEFING.md を作成できます。会話エクスポートの取り込みや任意の性能フックもあります。個人ノート、文字起こし、プロフィール、抽出事実が外部 LLM プロバイダーへ送られる可能性があり、保存メモリが将来のセッションに影響することもあります。入力を確認・削減して秘密を除き、承認済みのサービスと API key のみを設定してください。データソース、提供先、保持方針が決まるまでは heartbeat 自動化を無効にします。 Python 3.8 以降、requests、承認済み LLM の API key が必要です。

資料公開日 2026-10-29

できること

  • セッションをまたいで記憶を整理し、ブリーフィングを作成したり会話記録から情報を抽出したりする agent 運用者向けです。

使う場面

  • ワークスペース範囲と外部プロバイダーの承認を確認します。自動化を検討する前に入力を確認・削減し、保持方針を定めてください。

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

メモリパイプラインが扱う情報と外部送信される可能性を説明してください。ファイルの読み込み、サービス呼び出し、自動化の有効化はしないでください。

月次の推移

ダウンロード数4262
3211377643402026-05 · ダウンロード数 32892026-06 · ダウンロード数 34592026-07 · ダウンロード数 37562026-08 · ダウンロード数 38712026-09 · ダウンロード数 426226-0526-09
スター数4
3452026-05 · スター数 42026-06 · スター数 42026-07 · スター数 42026-08 · スター数 42026-09 · スター数 426-0526-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-094262—4
2026-083871+3.1%4
2026-073756+8.6%4
2026-063459+5.2%4
2026-053289—4

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

8.8 KB・ClawHub v0.4.0
---
name: memory-pipeline
description: Complete agent memory + performance system. Extracts structured facts, builds knowledge graphs, generates briefings, and enforces execution discipline via pre-game routines, tool policies, result compression, and after-action reviews. Includes external knowledge ingestion (ChatGPT exports, etc.) into searchable memory. Use when working on memory management, briefing generation, knowledge consolidation, external data ingestion, agent consistency, or improving execution quality across sessions.
---

# Memory Pipeline

**Give your AI agent a memory that actually works.**

AI agents wake up blank every session. Memory Pipeline fixes that — it extracts what matters from past conversations, connects the dots, and generates a daily briefing so your agent starts each session primed instead of clueless.
すべて表示(全 224 行)

## What It Does

| Component | When it runs | What it does |
|-----------|-------------|--------------|
| **Extract** | Between sessions | Pulls structured facts (decisions, preferences, learnings) from daily notes and transcripts |
| **Link** | Between sessions | Builds a knowledge graph — connects related facts, flags contradictions |
| **Brief** | Between sessions | Generates a compact `BRIEFING.md` loaded at session start |
| **Ingest** | On demand | Imports external knowledge (ChatGPT exports, etc.) into searchable memory |
| **Performance Hooks** | During sessions | Pre-game briefing injection, tool discipline, output compression, after-action review |

## Why This Is Different

Most "memory" solutions are just vector search over chat logs. This is a **cognitive architecture** — inspired by how human memory actually works:

- **Extraction over accumulation** — Instead of dumping everything into a database, it identifies what's worth remembering: decisions, preferences, learnings, commitments. The rest is noise.
- **Knowledge graph, not just embeddings** — Facts get linked to each other with bidirectional relationships. Your agent doesn't just find similar text — it understands that a decision about your tech stack relates to a project deadline relates to a preference you stated three weeks ago.
- **Briefing over retrieval** — Rather than hoping the right context gets retrieved at query time, your agent starts every session with a curated cheat sheet. Active projects, recent decisions, personality reminders. Zero cold-start lag.
- **No mid-swing coaching** — Borrowed from performance psychology. Corrections happen *between* sessions, not during. The after-action review feeds into the next briefing. The loop is closed — just not mid-execution.

## Quick Start

### Install

```bash
clawdhub install memory-pipeline
```

### Setup

```bash
bash skills/memory-pipeline/scripts/setup.sh
```

The setup script will detect your workspace, check dependencies (Python 3 + any LLM API key), create the `memory/` directory, and run the full pipeline.

### Requirements

- **Python 3**
- **At least one LLM API key** (auto-detected):
  - OpenAI (`OPENAI_API_KEY` or `~/.config/openai/api_key`)
  - Anthropic (`ANTHROPIC_API_KEY` or `~/.config/anthropic/api_key`)
  - Gemini (`GEMINI_API_KEY` or `~/.config/gemini/api_key`)

### Run Manually

```bash
# Full pipeline
python3 skills/memory-pipeline/scripts/memory-extract.py
python3 skills/memory-pipeline/scripts/memory-link.py
python3 skills/memory-pipeline/scripts/memory-briefing.py
```

### Automate via Heartbeat

Add to your `HEARTBEAT.md` for daily automatic runs:

```markdown
### Daily Memory Pipeline
- **Frequency:** Once per day (morning)
- **Action:** Run the memory pipeline:
  1. `python3 skills/memory-pipeline/scripts/memory-extract.py`
  2. `python3 skills/memory-pipeline/scripts/memory-link.py`
  3. `python3 skills/memory-pipeline/scripts/memory-briefing.py`
```

## Import External Knowledge

Already have years of conversations in ChatGPT? Import them so your agent knows what you know.

### ChatGPT Export

```bash
# 1. Export from ChatGPT: Settings → Data Controls → Export Data
# 2. Drop the zip in your workspace
# 3. Run:
python3 skills/memory-pipeline/scripts/ingest-chatgpt.py ~/imports/chatgpt-export.zip

# Preview first (recommended):
python3 skills/memory-pipeline/scripts/ingest-chatgpt.py ~/imports/chatgpt-export.zip --dry-run
```

**What it does:**
- Parses ChatGPT's conversation tree format
- Filters out throwaway conversations (configurable: `--min-turns`, `--min-length`)
- Supports topic exclusion (edit `EXCLUDE_PATTERNS` to skip unwanted topics)
- Outputs clean, dated markdown files to `memory/knowledge/chatgpt/`
- Files are automatically indexed by OpenClaw's semantic search

**Options:**
- `--dry-run` — Preview without writing files
- `--keep-all` — Skip all filtering
- `--min-turns N` — Minimum user messages to keep (default: 2)
- `--min-length N` — Minimum total characters (default: 200)

### Adding Other Sources

The pattern is extensible. Create `ingest-<source>.py`, parse the format, write markdown to `memory/knowledge/<source>/`. The indexer handles the rest.

## How the Pipeline Works

### Stage 1: Extract

**Script:** `memory-extract.py`

Reads daily notes (`memory/YYYY-MM-DD.md`) and session transcripts, then uses an LLM to extract structured facts:

```json
{"type": "decision", "content": "Use Rust for the backend", "subject": "Project Architecture", "confidence": 0.9}
{"type": "preference", "content": "Prefers Google Drive over Notion", "subject": "Tools", "confidence": 0.95}
```

**Output:** `memory/extracted.jsonl`

### Stage 2: Link

**Script:** `memory-link.py`

Takes extracted facts and builds a knowledge graph:
- Generates embeddings for semantic similarity
- Creates bidirectional links between related facts
- Detects contradictions and marks superseded facts
- Auto-generates domain tags

**Output:** `memory/knowledge-graph.json` + `memory/knowledge-summary.md`

### Stage 3: Briefing

**Script:** `memory-briefing.py`

Generates a compact daily briefing (< 2000 chars) combining:
- Personality traits (from `SOUL.md`)
- User context (from `USER.md`)
- Active projects and recent decisions
- Open todos

**Output:** `BRIEFING.md` (workspace root)

## Performance Hooks (Optional)

Four lifecycle hooks that enforce execution discipline during sessions. Based on a principle from performance psychology: **separate preparation from execution**.

```
User Message → Agent Loop
  ├── before_agent_start  →  Briefing packet (memory + checklist)
  ├── before_tool_call    →  Policy enforcement (deny list)
  ├── tool_result_persist →  Output compression (prevent context bloat)
  └── agent_end           →  After-action review (durable notes)
```

### Configuration

```json
{
  "enabled": true,
  "briefing": {
    "maxChars": 6000,
    "checklist": [
      "Restate the task in one sentence.",
      "List constraints and success criteria.",
      "Retrieve only the minimum relevant memory.",
      "Prefer tools over guessing when facts matter."
    ],
    "memoryFiles": ["memory/IDENTITY.md", "memory/PROJECTS.md"]
  },
  "tools": {
    "deny": ["dangerous_tool"],
    "maxToolResultChars": 12000
  },
  "afterAction": {
    "writeMemoryFile": "memory/AFTER_ACTION.md",
    "maxBullets": 8
  }
}
```

### Hook Details

| Hook | What it does |
|------|-------------|
| `before_agent_start` | Loads memory files, builds bounded briefing packet, injects into system prompt |
| `before_tool_call` | Checks tool against deny list, prevents unsafe calls |
| `tool_result_persist` | Head (60%) + tail (30%) compression of large results |
| `agent_end` | Appends session summary to memory file with tools used and outcomes |

## Output Files

| File | Location | Purpose |
|------|----------|---------|
| `BRIEFING.md` | Workspace root | Daily context cheat sheet |
| `extracted.jsonl` | `memory/` | All extracted facts (append-only) |
| `knowledge-graph.json` | `memory/` | Full graph with embeddings and links |
| `knowledge-summary.md` | `memory/` | Human-readable graph summary |
| `knowledge/chatgpt/*.md` | `memory/` | Ingested ChatGPT conversations |

## Customization

- **Change LLM models** — Edit model names in each script (supports OpenAI, Anthropic, Gemini)
- **Adjust extraction** — Modify the extraction prompt in `memory-extract.py` to focus on different fact types
- **Tune link sensitivity** — Change the similarity threshold in `memory-link.py` (default: 0.3)
- **Filter ingestion** — Edit `EXCLUDE_PATTERNS` in `ingest-chatgpt.py` for topic exclusion

## Troubleshooting

| Problem | Fix |
|---------|-----|
| No facts extracted | Check that daily notes or transcripts exist; verify API key |
| Low-quality links | Add OpenAI key for embedding-based similarity; adjust threshold |
| Briefing too long | Reduce facts in template or let LLM generation handle it (auto-constrained to 2000 chars) |

## See Also

- [Setup Guide](references/setup.md) — Detailed installation and configuration

AIエージェントの人気スキル

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。