content / skill
Chat Export to Transcript
Turn official chat exports into local JSONL and readable conversation transcripts.
At a glance
- Purpose
- Turn official chat exports into local JSONL and readable conversation transcripts.
- Runs in
- Local agent with shell
- Operating systems
- macOS, Linux
- Needs
- Runtime: Python 3.10+, standard library only; Needs internet: No; Needs accounts or API keys beyond your agent: No
- Files and data
- Reads files: Yes; Writes files: Yes; Sends data to other services: No
- Tool type
- Skill
- Delivery
- Download from Skills Outpost
- Version
- 0.1.1
- ZIP SHA-256
- a536d8f9abbc5954dce5fc0a1377fa0f395ec0302025d41ad18a5fb8e9550f32
- Access
- Download from Skills Outpost
- Compatibility
- Python 3.10+ on macOS or Linux with POSIX directory-descriptor and no-follow APIs; Windows and other platforms are refused before I/O. Standard library only. WhatsApp TXT/ZIP, Discord official data package, Telegram Desktop result.json, or Slack export.
- External costs
- None. The package is free under the MIT license and runs locally with Python's standard library.
- Permissions
- Read all supported message/metadata files in the selected official export, plus directory metadata throughout Discord/Slack exports to refuse any contained symlink. Create only in the new/empty --out directory and its existing immediate parent to create --out as previewed. Approval binds resolved paths and existing directory/parent device/inode identities. No ancestors created; symlink components, parent traversal and NUL refused. Local percent signs/backslashes are literal, never URL-decoded; ZIP member names refuse them. No environment variables; tests read shipped package files and create synthetic fixtures and output files in a temporary folder, then remove that folder.
- Usage terms
- MIT license. Copyright 2026 Zero Width Lab. Use only exports you are authorized to process and follow the source platform's terms. WhatsApp (Meta), Discord, Telegram and Slack (Salesforce) are trademarks of their owners; this product is independent and unaffiliated. By Zero Width Lab (zerowidthlab.com)
Download from Skills Outpost
Get this version
FreeStatic source, format, secret-pattern and declaration checks with independent human source review.
- SHA-256 of the released ZIP
a536d8f9abbc5954dce5fc0a1377fa0f395ec0302025d41ad18a5fb8e9550f32
The creator shows this version's package files publicly: anyone can read SKILL.md and the other files under Files, without an account. The ZIP download needs the version in your Library (how it works).
Sign in to add this version to your library and follow its creator for free.
Sign in to get freeA creator follow is free, not a paid membership. Your email is not shared with the creator.
Files
Version 0.1.1, shown publicly by its creator, exactly as in this version's ZIP. ZIP SHA-256: a536d8f9abbc5954dce5fc0a1377fa0f395ec0302025d41ad18a5fb8e9550f32. License: MIT (read it).
Each file has its own address. Read one as a web page at https://, or as JSON at https://; replace SKILL.md with any path below.
- manifest.json · 3.2 KiB
- LICENSE.txt · 1.0 KiB
- README.md · 5.4 KiB
- SETUP.md · 6.9 KiB
- SKILL.md · 7.4 KiB
- agents/chat-export-to-transcript-agent.md · 1.5 KiB
- references/export-formats.md · 7.9 KiB
- scripts/chat_export_to_transcript.py · 31.8 KiB
- source-package.json · 3.6 KiB
- tests/fixtures/discord/messages/fake-channel/channel.json · 39 B
- tests/fixtures/discord/messages/fake-channel/messages.json · 251 B
- tests/fixtures/slack/channels/general/2024-01-01.json · 182 B
- tests/fixtures/slack/users.json · 64 B
- tests/fixtures/telegram/result.json · 256 B
- tests/fixtures/whatsapp/chat.txt · 112 B
- tests/test_chat_export_to_transcript.py · 24.5 KiB
- tests/test_hygiene.py · 3.5 KiB
MIT
MIT LicenseCopyright (c) 2026 Zero Width Lab
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Version history
- Version 0.1.1 Current
No release notes for this version.
What it does
Chat Export to Transcript is a local command-line Agent Skill that converts official chat exports into uniform JSONL and readable transcripts. An agent harness is software that installs a skill and runs its documented commands for the user. It needs Python 3.10 or newer and a user-selected official export file or directory. It is free under the MIT license. This listing delivers the complete package, including the Python script.It works with WhatsApp Export chat text or ZIP, Discord's official data package, Telegram Desktop JSON result.json, and Slack workspace exports. It reads no app caches, databases, or tokens and makes no network requests. It separates conversations, preserves available message IDs, reply links, system flags, and attachment names, and escapes untrusted text in the human-readable transcripts.
A dry run lists the exact files and a digest without writing anything. Approval-gated means a live conversion requires that matching digest through --approve, so a changed input or destination is refused. Missing or malformed records are listed; partial results are marked incomplete and exit 2 unless the user chooses --allow-partial. The companion agent reports omissions and never uploads output.
Who it is for
People and teams organizing their own official chat exports with a local agent harness, while keeping the resulting transcripts on their own machine.Example tasks
Convert a WhatsApp Export chat text file or ZIP to a local transcript.Convert a Discord data package into ID-named transcripts with readable channel names in their headers.
Convert a Telegram Desktop result.json export.
Convert a Slack workspace export using users.json display names.
Preview exact output files and approve a matching local conversion.
Inspect skipped records and decide whether to allow a partial export.
Getting started
SKILL.md and the scripts can be read without an account: SKILL.md at https://
