Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Quora Harvest

ASecurity

**Open every fold once, then never hike it again.** Quora holds substantive writing — Alan Kay's answers, and the arguments people like Ken Kahn bring back at him — behind folds that make reading a thread twice a manual reconstruction job. This skill gets a thread out intact: answer, comments, nested replies, permalinks, flat Markdown, one file, quotable and linkable. It runs in your own logged-in browser. Nothing is stored, no credentials move, and requests come from the browser you were alr...

56 stars
0 votes
0 copies
0 views
Added 10/6/2026
toolspythongoshellbashreactdebugginggitapi

Works with

cursorcliapi

Security Analysis

A96/100
mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 5 files and shows the line behind each finding

Scanned 10/6/2026

$npx -y skills add SimHacker/moollm --skill quora-harvest --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Quora Harvest?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Quora Harvest
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/simhacker-quora-harvest/badge)](https://www.skillsdirectory.com/skills/simhacker-quora-harvest)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: quora-harvest
tier: skill
type: utility
protocol: QUORA-HARVEST
aliases: [quora, quora-scrape, expand-all-folds, recap-a-thread]
audience: ["operators", "archivists", "agents"]
author: Don Hopkins
license: MIT
allowed-tools: [Read, Write, Shell, Browser]
related: [design-sense, copy-that, sister-script, cursor-mirror]
tags: [archival, scraping, publishing, walled-garden, browser-automation]
credits: |
  natecull captured Alan Kay's Quora corpus through Nov 2023 and archived it at
  archive.org/details/alan-kay-quora-2023-11, which is the reason the pre-2023
  material does not need scraping at all.
---

# Quora Harvest

**Open every fold once, then never hike it again.**

Quora holds substantive writing — Alan Kay's answers, and the arguments people like
Ken Kahn bring back at him — behind folds that make reading a thread twice a manual
reconstruction job. This skill gets a thread out intact: answer, comments, nested
replies, permalinks, flat Markdown, one file, quotable and linkable.

It runs in your own logged-in browser. Nothing is stored, no credentials move, and
requests come from the browser you were already reading in.

## The three folds, and why expansion is a loop

| Fold | What it hides | Label you click |
|---|---|---|
| Answer truncation | the body of the answer | `(more)`, `Continue Reading` |
| Comment collapse | the comment list, unmounted until asked | `N comments`, `View more comments` |
| Reply collapse | replies under individual comments, recursively | `View N replies` |

They interact: opening the comment list mounts comments that are themselves
truncated, and expanding one of those reveals a reply thread that is also
collapsed. So expansion is not a pass, it is a **fixpoint** — click everything,
wait for React to settle, look again, stop when a round finds nothing new.

Two more things stay folded and this skill does not chase them. Sibling answers
(`1 of 6 answers`) live at their own URLs, so five more answers to the same
question means five more fetches. Upvoter and sharer lists are not content.

## Why label text and not selectors

Quora's class names are obfuscated and churn. The **visible label is the product**
and does not move: a fold has to say something a human will click. So the expansion
loop matches trimmed `textContent` against a list of label patterns, filtered to
elements that are short, visible, and clickable — accepting Quora's div-soup
affordances (pointer cursor, click wrapper, button role) as clickable, not just
real buttons.

When Quora invents a new fold, add one regex to `EXPANDERS` in
[`scripts/quora-extract.js`](scripts/quora-extract.js). That array is the only part
of the file that should ever need touching.

The **structured parse is deliberately second class**, and the skill says so out
loud rather than pretending otherwise. Comments are found structurally — the
smallest box containing both a profile link and a permalink to itself — which
survives class renames better than selectors do, but not forever. Every record
therefore also carries the **full expanded page text**, so a degraded parse still
leaves you everything you came for.

## Methods

### SNIPPET — the fast path when the tab is already open

Paste [`scripts/quora-extract.js`](scripts/quora-extract.js) into devtools →
Sources → Snippets, once. Snippets persist. From then on, run the snippet on any
Quora page and call:

```js
__quoraCopy()      // expand everything, put Markdown on the clipboard
```

Or, if you only want the hike done and intend to read it yourself:

```js
await __quoraExpand()   // {rounds, clicked} — nothing else touched
```

### HARVEST-PAGE — a list of URLs

Quit Chrome, relaunch it with remote debugging, and leave it logged in:

```bash
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
```

Then:

```bash
pip install playwright && playwright install     # once, ever
python3 scripts/quora_harvest.py urls my-urls.txt --out ~/quora-harvest
```

One `.md` and one `.json` per answer, named from the question and author slugs.
Already-harvested URLs are skipped, so interrupting and rerunning resumes.

### HARVEST-PROFILE — everything someone wrote

```bash
python3 scripts/quora_harvest.py profile Alan-Kay-11 --out ~/quora-harvest --limit 100
```

Scrolls the profile's answers tab collecting URLs until it stops finding new ones,
writes `Alan-Kay-11-answer-urls.txt` as the index, then harvests each at three
seconds apart. For a 600-answer corpus, run it in batches with `--limit` and let
the resume behavior carry you.

### RECAP — harvest is not the artifact

Raw harvest is input. The artifact is a recap in the house pattern: source URL and
capture date at the top, provenance and portrayal note, verbatim quotes, one
section per commenter thread so an exchange reads end to end, related recaps
linked, and your own reading in a section clearly marked as yours.

Gold standard, twenty-one of them:
[the Alan Kay Quora shelf](https://github.com/SimHacker/WillWrightShowForFood/tree/main/characters/alan-kay/media/quora-recaps).
The [AGI answer](https://github.com/SimHacker/WillWrightShowForFood/blob/main/characters/alan-kay/media/quora-recaps/agi-paradigm-shifts-and-no-moores-law-for-software.md)
is the one that motivated this tool: expanded by hand, and the hand-expansion turned
up Kay's actual verdict on Kahn's papers and the sharpest objection in the thread,
both of which the folded view hid completely.

## Don't scrape what someone already saved

Check these first:

- **The 2023 corpus.** natecull downloaded Alan Kay's answers through Nov 2023 and
  archived them: [archive.org/details/alan-kay-quora-2023-11](https://archive.org/details/alan-kay-quora-2023-11).
  Machine-OCR'd and noisy, so verify quotes against the source, but it means only
  2024-onward and the comment trees actually need fetching.
- **The Wayback Machine**, for individual answers someone thought to save.

Automated access is against Quora's terms of service. What this tool does is read
pages you can already read, from the browser you are already reading them in, at
human pace, for your own archive — which is a judgment call you are making, not one
the script makes for you.

## The lens underneath

This skill exists because of a design failure, not a technical gap:
[view-state-is-the-users](../design-sense/lenses/view-state-is-the-users.md). The
view a reader assembles by hand is the reader's, and destroying it with one
accidental click, with no undo and no address, is data loss. When readers start
maintaining mirrors of your content in another medium, that is the bug report.

## Part of MOOLLM

Part of [MOOLLM](https://github.com/SimHacker/moollm) — see the
[skills index](https://github.com/SimHacker/moollm/tree/main/skills). Usable
standalone: the two files in `scripts/` have no MOOLLM dependencies.

Attribution

SimHackerSimHacker
View sourceSee grades on GitHubMore from SimHacker →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

ucoz-landing-skill

Create and edit uCoz homepage landing pages via MCP: custom templates, hero sections, lead forms, navigation menus, SEO, and responsive layout. Includes a visual design system (style selection, layout/grid, section recipes, typography/spacing, color tokens, component states, icons, modern CSS/JS, motion, imagery, social proof, copy/voice, accessibility). Uses ucoz-mcp tools for templates, site file uploads, and site modules.

107 votes

Paperclip

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

953191 votes

Pptx

Presentation toolkit (.pptx). Create/edit slides, layouts, content, speaker notes, comments, for programmatic presentation creation and modification.

471861 votes

Daw Music

Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.

761 votes

Instantly Rdsthomas Mission Control

Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.

761 votes
View all in tools →