Skip to content
Skillpedia
Analysis & spreadsheets48k · #2512

chatexport-need-miner

Has your agent analyze old Telegram chats to find product ideas. It finds what people need that isn't being met.

What it does

This tool analyzes Telegram chat files (exports) to find people's problems and ideas for products that could solve them. It does this safely, without crashing your computer, even with large files.

When to use it

  • ✓When you have a Telegram chat file and want to know what people complain about most or what they wish existed.
  • ✓To find ideas for new apps or tools based on people's real needs.
  • ✓When analyzing many chats to ensure ideas are relevant to a larger group of people.

Example of what to ask your AI

“Analyze this Telegram export file and tell me what the biggest difficulties people face are and what tools they wish existed.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/chatexport-need-miner/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/chatexport-need-miner/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool reads the chat file in small pieces to avoid overwhelming your computer's memory. It looks for phrases indicating dissatisfaction or a desire for something new and groups this information to show the most common problems.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill chatexport-need-miner

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/chatexport-need-miner/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

ChatExport Need Miner: Offline Market Signal & Pain-Point Extractor

Transform offline Telegram Desktop chat exports (result.json) into quantified, quote-grounded rankings of unmet market needs with zero memory crashes and absolute source fidelity.

When to Use This Skill

Activate this skill when:

  • The user provides an offline Telegram Desktop chat export (result.json or multi-file directory) and requests market research, customer problem analysis, or tool opportunity discovery.
  • The user asks: "What are people in this chat struggling with?", "Find product ideas from this export", "What tools do users wish existed?", or "Mine complaints from this group".
  • Analyzing multi-megabyte or gigabyte JSON dumps where standard in-memory deserialization (json.load()) risks out-of-memory (OOM) fatal crashes.
  • Cross-referencing user complaints across multiple independent communities to eliminate echo-chamber noise.

Do NOT use this skill when:

  • The user wants live channel scraping, continuous bot monitoring, or MTProto API automation (use dedicated online fetchers).
  • Analyzing personal 1-on-1 romantic or private relationships.
  • Processing generic SaaS helpdesk feeds (Zendesk, Intercom, Gong) with structured ticket schemas.

Core Mental Models & Non-Negotiable Rules

  1. The 4MB Stream & Overlap Invariant (Memory Ceiling <= 8MB):

    • Telegram Desktop result.json files routinely exceed 500MB to 5GB.
    • NEVER load an entire export into memory with json.load() or fs.readFileSync().
    • Read the file in fixed 4MB chunks with a 4KB overlap tail.
    • Boundary Counting Law: A substring hit is recorded if and only if its terminus falls past the overlap boundary. This guarantees zero missed boundary-spanning phrases and strictly zero duplicate counts.
  2. Cross-Chat Multiplicity Law ($U \ge 3$ Priority):

    • One user posting 50 complaints in a single chat is an anecdote; 5 distinct users posting the same complaint across 3 independent chats is a market signal.
    • Cluster rank score is calculated as: $$\text{Score} = U \times \sqrt{H}$$ where $U$ is the number of distinct chat exports containing the signal, and $H$ is the total verified keyword hits.
    • A pattern appearing in $U \ge 3$ chats always outranks a pattern confined to $U = 1$, regardless of raw hit volume.
  3. Verbatim Quote Anchor & Anti-Hallucination Law:

    • Every identified need theme MUST be backed by 2 to 5 verbatim quotes with exact ISO timestamp (date) and chat identifier.
    • NEVER paraphrase a quote inside quotation marks. NEVER synthesize synthetic user statements.
    • If a hypothesized theme lacks verbatim quote support, it MUST be marked [UNCONFIRMED / NO VERBATIM EVIDENCE].
  4. Bi-Lingual Case-Insensitive Seed Lexicons:

    • Russian Lexicon: не хватает, вот бы, бесит, надоело, задолбал, ищу инструмент, ищу бот, есть ли бот, есть ли сервис, посоветуйте тул, не работает, вручную, рутина, приходится руками.
    • English Lexicon: i wish, missing, annoying, frustrating, looking for a tool, is there an app, is there a bot, any alternative to, doesn't work, manually, repetitive, waste of time.
    • Custom terms may be added only when explicitly approved or provided by the user.
  5. Strict Air-Gap & Zero Exfiltration:

    • The entire analysis executes locally and offline. No network requests, no external telemetry, no remote LLM proxying of raw message contents.

Named Sins & Anti-Patterns (Что категорически ЗАПРЕЩЕНО)

Anti-Pattern Manifestation in Code/Workflow Mandatory Production Counter-Rule
The OOM Slurp data = json.load(open('result.json')) on 800MB file. Use incremental regex streaming or chunked buffered file reading with <= 8MB RAM footprint.
Chunk Boundary Blindness Chunking without overlap, truncating "looking for a tool" across 4096-byte splits. Maintain a 4KB sliding overlap tail across chunk transitions.
Double-Count Overlap Trap Counting hits found in both chunk $N$ and the overlap window of chunk $N+1$. Only increment match counter if match.end() > overlap_size.
The Echo-Chamber Distortion Elevating a bug mentioned 80 times by 1 single user in 1 chat to the #1 product opportunity. Apply Cross-Chat Multiplicity Law ($U \times \sqrt{H}$) and count unique authors when available.

…

FAQ

What is a 'Telegram export file'?

It's a file you can generate in the Telegram Desktop app to save your conversations. It's usually named 'result.json'.

Why is it important to analyze 'chunks' of the file instead of all at once?

Telegram chat files can be very large. Reading everything at once can crash the computer. Reading in chunks is safer and more efficient.

How does the tool know what the 'unmet needs' are?

It looks for words and phrases people use when they are dissatisfied, complaining about something, or expressing a desire for a solution that doesn't exist yet.

Details

Original description by the author

Mines offline Telegram Desktop chat exports (result.json) for unmet market needs and product opportunities using chunked streaming and verbatim quote grounding. Trigger phrases: mine chat export, telegram result.json, find unmet needs, analyze telegram chat.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#2512
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills