# Problem Mining Loop: real complaints, graded and counted, before you build anything

> Find out what one kind of buyer complains about, in their own words. Every complaint is a row with the link, the date posted, the exact quote and a salted key in place of the poster's handle, graded gripe, pain, budget or buyer. Clusters count independent posters, not posts, and leave out prompted answers and your own accounts. A cluster is proposed only when enough people at pain or higher, from more than one source, say so and one shows money. Public pages only, robots.txt and terms checked, GET only, and nobody in the community is ever contacted. Proposals wait for your yes at your own terminal; fifteen read-only checks run on the set.

- URL: https://paperchasewebb.ai/bots/marketplace/items/problem-mining-loop-real-complaints-graded-and-counted/
- Type: Prompt pack
- Category: Solo business
- By: PaperChaseWebb
- Works with: Claude Code, Codex, Grok Bot, Hermes (named in the listing); A skill file for Claude Code, Codex and Hermes, an AGENTS.md snippet and a Grok Bot rules block; the scripts were tested on Linux with Python 3.13, the agent files were not loaded inside each harness
- Price: $19 USD
- Difficulty: Intermediate
- Setup time: 1 hr
- Time to result: A first graded log and report in an afternoon of reading
- Format: Markdown (.md) file, problem-mining-loop-real-complaints-graded-and-counted.md
- Version: 1.0, updated 2026-10-29
- License: Use on your own business and to run research for your clients. Do not resell or republish the pack itself.

## What you end up with

A checked log of what your buyers said, a one-page report of which problems are shared and paid for, and next steps that happen only after your yes.

## What you get

- 19 sections in one .md file
- The loop folder: loop.json, sources, complaints, clusters and proposals, with blank templates
- Rules for sources (public, robots.txt, terms with a date), verbatim quotes, the four grades, solicited answers, clusters and the propose rule
- mine.py: set hash, salted poster keys, gate (exit codes 0, 11, 12), a read-only GET fetcher that obeys robots.txt and stops at logins, redirects and rate limits, tally, a one-page report, owner approval tied to a sha256, verify, and one use per yes
- mine_check.py: fifteen read-only checks, with a seeded test set (15 findings, then 0)
- A skill file for Claude Code, Codex and Hermes, an AGENTS.md snippet and a Grok Bot rules block
- Ten prompts, a failure table and a worked example
- A look at pain-point tools, prompt kits and research passes, with sources

## Who it is for

Anyone who wants the next product or offer to rest on what buyers actually said, with links, rather than on a list of problems that sound right.

## Tools needed

- Grok Bot, Claude Code, Codex or Hermes: the agent that reads public pages on allowed sources, records each complaint word for word with a salted poster key, grades and clusters it, and proposes next steps; it asks mine.py gate before acting and never posts or logs in
- Python 3: runs mine.py (init, hash, key, gate, read-only fetch, tally, report, owner approval, verify, done) and the fifteen-check checker; standard library only
- The owner of the business: ratifies the set of sources and complaints and approves proposals at their own terminal; approvals are refused inside agents and on piped input
- You need: Any of Grok Bot, Claude Code, Codex or Hermes, with a way to read public web pages
- You need: Python 3.9 or newer
- You need: One buyer type and a few public places where they write about their work
- You need: One owner who ratifies the set and approves proposals at their own terminal

Cost to run: The pack is the only purchase. The scripts use no model tokens; the agent that reads and grades uses your own plan.

## How it works

1. **Run the tests.** Copy the problem-mining-loop folder and run sh test_all.sh. Nothing in it touches the internet; the fetch tests use a local server. Expected: 15 findings on the seeded set and 0 on the fixed one, 15 of 15 single faults caught alone, checker tests 43 passed, mine.py tests 53 passed, exit 2 on a missing folder.
2. **Set up the loop and its sources.** Run mine.py init, fill loop.json with the owner, one buyer type and the question, then list sources with prompts 1 and 2, checking robots.txt and terms for each. Expected: sources.csv with public sources marked allowed, login-only ones left out with allowed no, and a terms check date on each.
3. **Record, grade and cluster.** Use prompts 3 to 7 to record complaints word for word with poster keys, grade them, cluster by workflow, run mine.py tally and decide watch, drop or propose. Expected: complaints.csv and clusters.csv where the counts match the tally and every propose cluster clears the rule.
4. **Check, report and approve.** Run mine_check.py until only P15 is left, then mine.py report. The owner runs mine.py approve DIR --set, then --proposals for the ones they agree with, at their own terminal. Expected: report.md with clusters, quotes and proposals, and mine.py verify passing once per approved proposal.

## Sample prompt: Record and grade (Grok Bot, Claude Code, Codex, Hermes)

```
For each post you listed, add a row to complaints.csv: the exact words of the complaint up to 280 characters, verbatim yes, the poster key from mine.py key (never the handle), the source, the link and dates, and solicited yes if it answers a question asking for complaints. Do not paraphrase.
Grade each new complaint gripe, pain, budget or buyer. For pain, write in tried what they tried. For budget and buyer, copy the evidence words from the quote. When unsure, grade lower and say which ones you were unsure about.
```

Prompts 4 and 5 of 10.

## Sample prompt: Decide (The agent running the loop)

```
For each cluster, apply the rule in loop.json and propose watch, drop or propose, with a one-line next step. For each propose cluster, write one or two proposals for my yes. Do not contact anyone.
```

Prompt 7 of 10.

## Free preview of problem-mining-loop-real-complaints-graded-and-counted.md

````markdown
# Problem Mining Loop: real complaints, graded and counted, before you build anything

Version 1.0, 2026-10-29. By PaperChaseWebb. A method and a working loop for finding out what one kind of buyer complains about, in their own words, and whether any of them already pay to make it stop. Five plain files, a script that fetches public pages read-only, keys posters without storing who they are, tallies clusters and records the owner's yes, a read-only checker with fifteen checks, a one-page report, templates, a seeded test set, ten prompts and the tests, all Python 3 standard library. Works with Claude Code, Codex and Hermes through a skill file and an AGENTS.md snippet, and with Grok Bot through a rules block. Tested as described in section 11: everything ran on Linux with Python 3.13, including owner approvals typed at a pseudo-terminal and the fetch rules against a local test server. The skill file, snippet and rules block were not loaded inside the harnesses for this release, and the loop has not been run against a live forum or review site. Each is marked where it matters.

Most "pain point research" ends as a list of problems that sound right. Some of them were written by a model and never said by anyone. Some were said once, by one loud poster, eleven times. Some were answers to a thread the researcher started, which means they were prompted. And a few were scraped from places whose terms say not to. The list then turns into a product, and the product meets buyers who nev
````

## Test record

- Date: Oct 29, 2026
- What was run: mine_check.py on a seeded set and a fixed copy, each planted fault alone, a missing input, and the unit tests. Linux, Python 3.13.
- Result: 15 findings on the seeded set, 0 on the fixed one; 15 of 15 planted faults caught alone; exit 2 on missing input; nothing written. 43 checker and 53 mine.py tests passed, 0 failed; fetch was tested against a local server.
- Not run: The agent files inside Claude Code, Codex, Hermes or Grok Bot. Fetching a live site. Windows.

Copied from this item's dated test notes. What was not run stays in.

## Worth knowing

- mine.py records, counts and gates; it does not read pages for meaning or pick quotes, and it cannot stop an agent that never asks. This is not a sandbox.
- The skill file, AGENTS.md snippet and Grok Bot rules block were not loaded inside Claude Code, Codex, Hermes or Grok Bot for this release, so how well each harness grades or keeps quotes verbatim was not measured. mine.py fetch was tested only against a local server, not a live site. Whether a site's terms allow your use is your judgement, recorded with a date. Poster keys keep handles out of the files; they are not anonymity. The personal details check catches common shapes, not every one. The test business is made up. Linux only; Windows was not tested.
- A cluster that clears the propose rule is a reason to test an offer, not proof that it will sell.
- The approval step refuses piped input and the environment variables Claude Code, Codex, Hermes and Grok Bot set. That stops an agent approving by mistake; it is not a lock against someone with the same account.
- On 2026-10-29, on Linux with Python 3.13: mine_check.py gave 15 findings on the seeded set (each check once) and 0 on the fixed one, caught 15 of 15 single faults with only its own check, wrote nothing, and exited 2 on a missing folder, a missing complaints.csv or broken loop.json; checker tests 43 passed, 0 failed; mine.py tests (fetch against a local server, approvals at a pseudo-terminal) 53 passed, 0 failed.

## Questions

**Is this a Reddit scraper?** No. It works with any public place your buyers write, and it has no scraper. mine.py fetch sends one GET for one page on a source you allowed, after checking robots.txt, and stops at logins, redirects and rate limits. Where a site's terms do not allow fetching, read by hand or use its official API on its terms.

**Will my agent post or reply in the community?** No. post, reply, dm, vote, seed and login are gated never, the checker fails a loop that gates them otherwise, and complaints from your own accounts or threads you started are flagged.

**Why count posters instead of posts?** One person posting eleven times is one person. Posters are counted by a salted key, so repeat posts count once and the handle never goes in the file.

**I own Workflow, Not Wrapper. Do I need this?** Its section on problem mining is a one-page method with three grades. This pack is that step as a monthly loop with four grades, poster keys, a propose rule, a read-only fetcher, fifteen checks and the owner's yes.

## How to buy

$19 one time at https://paperchasewebb.ai/bots/marketplace/items/problem-mining-loop-real-complaints-graded-and-counted/. Stripe checkout, then an instant download page; the download link is also in your emailed receipt.

Seller: PaperChaseWebb Inc., mgmt@paperchasewebb.com
