# Distill

> Distill PDF, URL, or text into Q&A pairs stored in memory. Use --context for domain-focused extraction.

- Skill: `majiayu000/distill-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/distill-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/distill-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/distill-3

---


# Distill Skill

Distill PDF, URL, or text into Q&A pairs and store in memory.

## Happy Path

```bash
# Distill a PDF into memory
./run.sh --file paper.pdf --scope research

# With domain focus (recommended for better relevance)
./run.sh --file paper.pdf --scope research --context "ML researcher"

# Preview before storing
./run.sh --file paper.pdf --dry-run

# From URL
./run.sh --url https://example.com/article --scope web
```

## Parameters

| Flag | Description |
|------|-------------|
| `--file` | PDF, markdown, or text file |
| `--url` | URL to fetch and distill |
| `--scope` | Memory scope (default: research) |
| `--context` | Domain focus, e.g. "security expert" |
| `--dry-run` | Preview without storing |
| `--json` | JSON output |
| `--sections-only` | Extract sections only (no Q&A) |

## What It Does

1. **Extract** content from PDF/URL/text
2. **Split** into logical sections
3. **Generate** Q&A pairs via LLM
4. **Validate** answers are grounded in source
5. **Store** to memory via `memory-agent learn`

## Examples

```bash
# Research paper
./run.sh --file arxiv_paper.pdf --scope research --context "ML researcher"

# Technical documentation
./run.sh --file api_docs.md --scope project --context "backend developer"

# Just extract sections (no Q&A)
./run.sh --file paper.pdf --sections-only --json
```

## Environment Variables (Optional Tuning)

| Variable | Default | Description |
|----------|---------|-------------|
| `DISTILL_PDF_MODE` | fast | PDF mode: fast, accurate, auto |
| `DISTILL_CONCURRENCY` | 6 | Parallel LLM requests |
| `DISTILL_GROUNDING_THRESH` | 0.6 | Grounding similarity threshold |
| `DISTILL_NO_GROUNDING` | - | Set to 1 to skip validation |

