Not in the top 1,000 by GitHub stars
dashhuang/openclaw-chat-history-import
OpenClaw skill for importing external chat history into archive, daily memory, and MEMORY.md workflows.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
31de67f2fb57 → 31de67f2fb57
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 31de67f2fb57
No earlier version was observed for comparison.
conversation-history/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
31de67f2fb57 → 31de67f2fb57
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 31de67f2fb57
No earlier version was observed for comparison.
Heat
2.4- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- chat-history-import
/ - conversation-history
conversation-history
How it works
chat-history-import
When your agent uses it
Use when the user wants to import external chat exports into OpenClaw. This skill normalizes raw chat history into conversation-archive-compatible JSONL, then guides the model to distill daily memory and `MEMORY.md` candidates before applying merges with user confirmation.
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
3,305 tokensWhen the skill is activated
Reference documents
5,266 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What This Skill Owns
- Related OpenClaw Components
- What Scripts Do vs. What The Model Does
- Core Rules
- Large Export Handling
- Import Workflow
- Unknown Format Handling
- Output Expectations
- Guardrails
Scripts executed separately
scripts/archive_contract.pyscripts/build_review_checklist.pyscripts/inspect_import.pyscripts/memory_merge.pyscripts/normalize_import.pyscripts/validate_archive.pytests/test_telegram_desktop_import.py
Files
.github/workflows/validate.ymlasset1,422 bytes.gitignoreasset41 bytesLICENSEasset1,061 bytesREADME.mddoc10,353 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesSKILL.mdcore15,468 bytesreferences/prompts.mddoc6,471 bytesreferences/schema.mddoc4,673 bytesscripts/archive_contract.pyruns6,417 bytesscripts/build_review_checklist.pyruns6,625 bytesscripts/inspect_import.pyruns12,129 bytesscripts/memory_merge.pyruns11,259 bytesscripts/normalize_import.pyruns31,858 bytesscripts/validate_archive.pyruns7,538 bytestests/test_telegram_desktop_import.pyruns6,819 bytes
Read SKILL.md
# Chat History Import
Use this skill when a user wants to import chat history from Claude, ChatGPT, Telegram Desktop exports, Slack exports, markdown logs, JSON/JSONL transcripts, or similar archives into an OpenClaw workspace.
The most common source formats for this skill are ChatGPT exports and Claude exports.
Telegram Desktop HTML exports are also supported when the user wants to backfill a Telegram direct chat or group into OpenClaw's raw archive.
If the user has not exported data yet, suggest the usual official export entry points first:
- ChatGPT: `Settings -> Data Controls -> Export`
- Claude: `Settings -> Privacy -> Export data`
These exports usually arrive as ZIP files and are good candidates for the built-in import flow.
## What This Skill OwnsView the complete source on GitHubconversation-history
When your agent uses it
Use when the user asks what was said earlier in a chat, wants an old decision, exact wording, prior links, or suspects the agent forgot conversation context across Telegram, BlueBubbles, Feishu, ChatGPT, Claude, or other archived chat sources. Search memory_search first, then search the local conversation archive for exact recall.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
780 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Scope
- Workflow
- Output Rules
- Guardrails
- Companion Components
Scripts executed separately
scripts/search_archive.py
Files
SKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesSKILL.mdcore3,647 bytesscripts/search_archive.pyruns5,736 bytes
Read SKILL.md
# Conversation History
Use this skill for historical recall across many kinds of chat history, not just live messaging channels.
## Scope
This skill works by searching the local raw archive tree:
- `logs/message-archive-raw/`
That means it can search any chat history that has already been normalized into that archive format.
Typical sources include:
View the complete source on GitHubSkills included
- chat-history-import
- conversation-history
Repository facts
- License
- MIT
- Created
- Mar 18, 2026
- Last pushed
- Apr 10, 2026
- Forks
- 8
- Open issues
- 1
- Project activity
- Slowing
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 31 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 10 network referencesin 3 files: conversation-history/SKILL.md:73 SKILL.md:2 README.md:3
- No hidden or obfuscated text
- No instruction overrides
- 8 executable scriptsin 8 files: conversation-history/scripts/search_archive.py:1 scripts/archive_contract.py:1 scripts/build_review_checklist.py:1 and 5 more
- No access to secrets
- No requests to vote in Hot
Show all 18 signals by file
README.md
SKILL.md
- Network accessline 2
name: chat-history-import description: Use when the user wants to import external chat exports into OpenClaw. This skill normalizes raw chat history into conversation-archive-compatible JSONL, then guides the model to distill daily memory a - Network accessline 3
description: Use when the user wants to import external chat exports into OpenClaw. This skill normalizes raw chat history into conversation-archive-compatible JSONL, then guides the model to distill daily memory and `MEMORY.md` candidates - Network accessline 4
metadata: { "openclaw": { "emoji": "🗂<U+FE0F>", "homepage": "https://github.com/dashhuang/openclaw-chat-history-import", "requires": { "bins": ["python3"] } } }
conversation-history/SKILL.md
- Network accessline 73
- For live ongoing archive capture, pair it with: - `openclaw-conversation-archive` - https://github.com/dashhuang/openclaw-conversation-archive - Network accessline 74
- `openclaw-conversation-archive` - https://github.com/dashhuang/openclaw-conversation-archive - For importing old AI chat exports such as ChatGPT and Claude, pair it with: - Network accessline 75
- https://github.com/dashhuang/openclaw-conversation-archive - Network accessline 76
- For importing old AI chat exports such as ChatGPT and Claude, pair it with: - `openclaw-chat-history-import` - https://github.com/dashhuang/openclaw-chat-history-import - Network accessline 78
- https://github.com/dashhuang/openclaw-chat-history-import
conversation-history/scripts/search_archive.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/archive_contract.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/build_review_checklist.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/inspect_import.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/memory_merge.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/normalize_import.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/validate_archive.py
- Executable scriptline 1
#!/usr/bin/env python3
tests/test_telegram_desktop_import.py
- Executable scriptline 1
#!/usr/bin/env python3
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 18 facts
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdSKILL.md:2Low confidence
- Network access in the frontmatter of the SKILL.mdSKILL.md:3Low confidence
- Network access in the frontmatter of the SKILL.mdSKILL.md:4Low confidence
- Network access in prose of the SKILL.mdconversation-history/SKILL.md:73Low confidence
- Network access in prose of the SKILL.mdconversation-history/SKILL.md:74Low confidence
- Network access in prose of the SKILL.mdconversation-history/SKILL.md:75Low confidence
- Network access in prose of the SKILL.mdconversation-history/SKILL.md:76Low confidence
- Network access in prose of the SKILL.mdconversation-history/SKILL.md:78Low confidence
- Executable script in code of a file that runsconversation-history/scripts/search_archive.py:1High confidence
- Executable script in code of a file that runsscripts/archive_contract.py:1High confidence
- Executable script in code of a file that runsscripts/build_review_checklist.py:1High confidence
- Executable script in code of a file that runsscripts/inspect_import.py:1High confidence
- Executable script in code of a file that runsscripts/memory_merge.py:1High confidence
- Executable script in code of a file that runsscripts/normalize_import.py:1High confidence
- Executable script in code of a file that runsscripts/validate_archive.py:1High confidence
- Executable script in code of a testtests/test_telegram_desktop_import.py:1Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.