본문으로 건너뛰기
cccskills
무료GitHub에 공개

openclaw-history-ingest

Organize OpenClaw long-term memory, daily notes, and session transcripts into topic-based Obsidian pages. Combine reusable decisions and patterns across agents, process new or changed records, and remove sensitive information instead of copying raw logs.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Ingest OpenClaw session/history data into Obsidian as distilled knowledge. Use for importing or mining ~/.openclaw sessions, memory files, or logs; use wiki-agent for targeted topic-only cross-agent recall.

연동 도구Obsidian

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Organizing long-term memory into topic-based notes
  • Preserving project decisions from daily notes
  • Combining recurring patterns across agents
  • Syncing new and changed history records

포함된 파일(2)

  • SKILL.md9.8 KB
  • references/openclaw-data-format.md4.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

OpenClaw History Ingest — Session & Memory Mining

You are extracting knowledge from the user's OpenClaw agent history and distilling it into the Obsidian wiki. OpenClaw stores both a structured long-term MEMORY.md and per-session JSONL transcripts — focus on durable knowledge, not operational telemetry.

This skill can be invoked directly or via the wiki-history-ingest router (/wiki-history-ingest openclaw).

Before You Start

Writing profile: Before drafting or rewriting natural-language Markdown, read and apply the Writing Profile Resolution section in llm-wiki/SKILL.md. Framework schema, provenance, safety, and operation-specific requirements take precedence. WRITING.md preferences apply only to newly drafted or rewritten natural-language Markdown; preserve source content and structured records.

  1. Resolve config — follow the Config Resolution Protocol in llm-wiki/SKILL.md (inline @name override → walk up CWD for .env → global config → prompt setup). This gives OBSIDIAN_VAULT_PATH and OPENCLAW_HISTORY_PATH (defaults to ~/.openclaw)
  2. Read .manifest.json at the vault root to check what has already been ingested
  3. Read index.md at the vault root to understand what the wiki already contains

Ingest Modes

Append Mode (default)

Check .manifest.json for each source file. Only process:

  • Files not in the manifest (new session logs, updated MEMORY.md or daily notes)
  • Files whose modification time is newer than ingested_at in the manifest

Use this mode for regular syncs.

Full Mode

Process everything regardless of manifest. Use after wiki-rebuild or if the user explicitly asks for a full re-ingest.

OpenClaw Data Layout

OpenClaw stores all local artifacts under ~/.openclaw/.

~/.openclaw/
├── openclaw.json                          # Global config
├── credentials/                           # Auth tokens (skip entirely)
├── workspace/                             # Agent workspace
│   ├── MEMORY.md                          # Long-term memory (loaded every session)
│   ├── DREAMS.md                          # Optional dream diary / summaries
│   └── memory/
│       ├── YYYY-MM-DD.md                  # Daily notes (today + yesterday auto-loaded)
│       └── ...
└── agents/
    └── <agentId>/
        ├── agent/
        │   └── models.json                # Agent config (skip)
        └── sessions/
            ├── sessions.json              # Session index
            └── <sessionId>.jsonl          # Session transcript (JSONL, append-only)

Key data sources ranked by value

  1. workspace/MEMORY.md — highest signal; long-term durable facts the agent accumulated
  2. workspace/memory/YYYY-MM-DD.md — daily notes; recent entries often contain active project context
  3. agents/*/sessions/<id>.jsonl — session transcripts; rich but noisy
  4. agents/*/sessions/sessions.json — session index for inventory and timestamps
  5. workspace/DREAMS.md — optional summaries; ingest if present

Skip credentials/ entirely. Skip agents/*/agent/models.json (runtime config, not user knowledge).

Step 1: Survey and Compute Delta

Scan OPENCLAW_HISTORY_PATH and compare against .manifest.json:

  • ~/.openclaw/workspace/MEMORY.md
  • ~/.openclaw/workspace/DREAMS.md (if present)
  • ~/.openclaw/workspace/memory/*.md
  • ~/.openclaw/agents/*/sessions/sessions.json
  • ~/.openclaw/agents/*/sessions/*.jsonl

Classify each file:

  • New — not in manifest
  • Modified — in manifest but file is newer than ingested_at
  • Unchanged — already ingested and unchanged

Report a concise delta summary before deep parsing.

Step 2: Parse MEMORY.md First

MEMORY.md is the highest-value source. It is plain markdown, human-readable and human-editable. It typically contains:

  • Durable facts about the user's preferences, environment, and recurring patterns
  • Decisions and context the agent was told to remember
  • Project-specific notes the agent accumulated over many sessions

Read it in full and extract concept-level knowledge. Do not create one wiki page per MEMORY.md entry — cluster by topic.

Step 3: Parse Daily Notes

workspace/memory/YYYY-MM-DD.md files contain time-stamped notes from that day's sessions. Prioritize recent files (last 30–90 days). Extract:

  • Active project context and decisions made
  • Patterns or techniques discovered
  • Recurring blockers or solved problems

Older daily notes have diminishing signal — summarize in bulk rather than extracting line-by-line.

Step 4: Parse Session JSONL Safely

Each session file is JSONL (append-only, one JSON object per line):

{"role": "user",      "content": "...", "timestamp": "..."}
{"role": "assistant", "content": "...", "timestamp": "..."}
{"role": "tool",      "name": "...",   "content": "...", "timestamp": "..."}

Extraction rules

  • Prioritize assistant turns that state conclusions, decisions, or patterns
  • Extract user intent from high-signal turns; skip low-information follow-ups
  • Tool calls are context, not primary knowledge — only extract if the result contains a reusable insight
  • Cross-reference sessions.json index to get session names/labels before opening individual transcripts

Critical privacy filter

Session transcripts can include injected instructions, tool payloads, and sensitive text. Do not ingest verbatim.

  • Remove API keys, tokens, passwords, credentials
  • Redact private identifiers unless relevant and user-approved
  • Summarize; do not quote raw transcripts verbatim

Step 5: Cluster by Topic

Do not create one wiki page per session or per MEMORY.md entry.

  • Group by stable topic (concept, tool, project, technique)
  • Split mixed sessions into separate themes
  • Merge recurring patterns across dates and agents
  • Use session cwd or workspace path to infer project scope when available

Step 6: Distill into Wiki Pages

Route extracted knowledge using existing wiki conventions:

  • Project-specific architecture/process → projects/<name>/...
  • General concepts → concepts/
  • Recurring techniques/debug playbooks → skills/
  • Tools/services/frameworks → entities/
  • Cross-session patterns → synthesis/

For each impacted project, create/update projects/<name>/<name>.md.

Writing rules

  • Distill knowledge, not chronology
  • Avoid "on date X we discussed..." unless date context is essential
  • Add summary: frontmatter on each new/updated page (1–2 sentences, ≤ 200 chars)
  • Add confidence and lifecycle fields to every new page:
    base_confidence: 0.42
    lifecycle: draft
    lifecycle_changed: <obsidian-wiki memory now --date>
    
    Leave lifecycle unchanged on update.
  • Add provenance markers:
    • ^[extracted] when directly grounded in explicit session/memory content
    • ^[inferred] when synthesizing patterns across multiple sessions
    • ^[ambiguous] when sessions conflict
  • Add/update provenance: frontmatter mix for each changed page

Step 7: Update Manifest, Log, and Index

Update .manifest.json

For each processed source file:

  • ingested_at, size_bytes, modified_at
  • source_type: openclaw_memory | openclaw_daily_note | openclaw_session | openclaw_dreams
  • agent_id: agent directory name (when applicable)
  • pages_created, pages_updated

Add/update a top-level summary block:

{
  "openclaw": {
    "source_path": "~/.openclaw/",
    "last_ingested": "TIMESTAMP",
    "memory_updated_at": "TIMESTAMP",
    "daily_notes_ingested": 14,
    "sessions_ingested": 23,
    "pages_created": 6,
    "pages_updated": 18
  }
}

Update special files

Update index.md, log.md, and hot.md with one locked call:

obsidian-wiki memory sync OPENCLAW_HISTORY_INGEST \
  memory=<memory> daily_notes=<daily_notes> sessions=<sessions> \
  pages_updated=<pages_updated> pages_created=<pages_created> \
  mode=<mode> \
  --takeaways "Ingested OpenClaw MEMORY.md and 14 daily notes; surfaced automation patterns and multi-agent coordination knowledge."

Never hand-edit index.md, log.md, or hot.md — the command takes the lock that keeps a parallel writer from dropping your update. --takeaways is the one-line conceptual summary that used to go in Recent Activity; omit it to leave the previous takeaways untouched.

See .skills/llm-wiki/references/MEMORY.md for the full procedure.

Privacy and Compliance

  • Distill and synthesize; avoid raw memory or transcript dumps
  • Default to redaction for anything that looks sensitive
  • Ask the user before storing personal or sensitive details
  • Keep references to other people minimal and purpose-bound

Reference

See references/openclaw-data-format.md for field-level notes and parsing guidance.

QMD Refresh After Vault Writes

QMD is a search index, not the source of truth. If $QMD_WIKI_COLLECTION is empty or unset, skip this step. Run it only after this skill has written or rewritten vault markdown. If QMD refresh fails, do not roll back the vault changes; report the QMD status separately.

Use $QMD_CLI if set; otherwise use qmd.

${QMD_CLI:-qmd} update

If the output says vectors are needed or embeddings may be stale, run:

${QMD_CLI:-qmd} embed

Verify the collection with either:

${QMD_CLI:-qmd} ls "$QMD_WIKI_COLLECTION"

or, when a specific page path is known:

${QMD_CLI:-qmd} get "qmd://$QMD_WIKI_COLLECTION/<page>.md" -l 5

Record one of:

  • QMD refreshed: update + embed + verified
  • QMD refreshed: update only + verified
  • QMD skipped: QMD_WIKI_COLLECTION unset
  • QMD skipped: qmd CLI unavailable
  • QMD failed: <short error summary>

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Extract reusable knowledge from Claude Code conversations, memory files, and desktop agent audit logs. Organize findings by topic in Obsidian, preserving source attribution and distinguishing project details from patterns shared across projects.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Preserve project decisions from past Claude sessions
  • Turn debugging conversations into reusable notes
  • Document workflows found in desktop audit logs
Ar9av/obsidian-wiki3.6천2026년 10월 21일 업데이트

Explore an unfamiliar codebase before editing it. Produce a ranked map of important files, functions, callers, and dependencies, with source locations and evidence types to guide code reading and assess the likely impact of changes.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Understanding an unfamiliar module before editing
  • Finding callers of a function
  • Assessing the impact of changed files
Ar9av/obsidian-wiki3.6천2026년 10월 21일 업데이트

Extract reusable knowledge from Codex CLI conversation and session logs, then organize it into topic-based Obsidian wiki pages. Combine insights across sessions, process new or changed files, and remove sensitive information rather than copying raw transcripts.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Turning Codex conversations into reusable wiki knowledge
  • Adding only new or changed session history
  • Consolidating recurring debugging techniques across sessions
Ar9av/obsidian-wiki3.6천2026년 10월 21일 업데이트

Turn GitHub Copilot CLI and VS Code conversation history into topic-based Obsidian wiki pages. Extract decisions, debugging approaches, and project knowledge from summaries, conversations, and saved notes, processing only new or changed sessions by default.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Preserve design decisions from past Copilot conversations
  • Combine debugging knowledge across multiple sessions
  • Add knowledge from new or updated sessions
Ar9av/obsidian-wiki3.6천2026년 10월 21일 업데이트

Find missing references between wiki pages using names, aliases, shared tags, and project context. Add links in the text or a related section, record relationship types, and report confidence levels and pages that remain disconnected.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Connect newly imported pages to existing wiki content
  • Turn unlinked mentions of page names into references
  • Find disconnected pages and project filing candidates
Ar9av/obsidian-wiki3.6천2026년 10월 21일 업데이트

Maintain an Obsidian wiki by checking source freshness, updating its index and activity summary, and recording maintenance status. Set up a daily 9 AM schedule and optional terminal reminders for overdue updates.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Refresh a wiki each morning
  • Check for changed or missing source files
  • Set up daily maintenance and terminal reminders
Ar9av/obsidian-wiki3.6천2026년 10월 21일 업데이트

Ar9av의 스킬 모두 보기

이 스킬의 문제 신고