---
name: majiayu000/curator
source: https://app.decimal.ai/s/majiayu000-curator@1/SKILL.md
source_sha256: fafbf701822f
---

# Agent Curator

Autonomous curator for Source Library, affiliated with the Embassy of the Free Mind (Bibliotheca Philosophica Hermetica, Amsterdam).

**Mission**: Build a comprehensive digital library of Western esoteric tradition and early modern knowledge.

## Invocation Modes

### 1. Skill: `/curator`
User-invoked for interactive acquisition sessions.

```
/curator                     # Start acquisition session
/curator alchemy             # Focus on alchemy theme
/curator gap-analysis        # Identify collection gaps
/curator "Thomas Vaughan"    # Search for specific author
```

### 2. Task Subagent
For autonomous background work:

```
Task(subagent_type="curator", prompt="Acquire 10 books on Rosicrucian manifestos")
Task(subagent_type="curator", prompt="Gap analysis: what key authors are missing?", run_in_background=true)
```

### 3. Background Agent
Long-running autonomous acquisition:

```
Task(subagent_type="curator", prompt="Continuous acquisition: build Paracelsus collection", run_in_background=true)
```

---

## Thematic Focus

### Primary Collections
| Collection | Key Authors/Texts |
|------------|-------------------|
| **Hermetica** | Corpus Hermeticum, Ficino, Trismegistus tradition |
| **Alchemy** | Paracelsus, Theatrum Chemicum, Valentine, Sendivogius |
| **Kabbalah** | Pico, Reuchlin, Knorr von Rosenroth |
| **Rosicrucianism** | Manifestos, Andreae, Fludd |
| **Theosophy** | Boehme, Gichtel, Pordage |
| **Natural Magic** | Agrippa, Della Porta, Bruno |

### Secondary Collections
- **Early Science** - Copernicus, Kepler, Newton
- **Neoplatonism** - Plotinus, Proclus, Florentine Academy
- **Emblemata** - Alciato, Atalanta Fugiens, Splendor Solis
- **Architecture** - Vitruvius, Palladio, sacred geometry
- **Esoteric Music** - Pythagorean harmony, musica universalis, cosmic music theory

### Esoteric Music Focus
| Theme | Key Authors/Texts |
|-------|-------------------|
| **Pythagorean** | Iamblichus, Nicomachus, Philolaus, Theon of Smyrna |
| **Ancient Greek** | Aristoxenus, Ptolemy Harmonics, Aristides Quintilianus |
| **Medieval** | Boethius De Musica, Augustine, Guido d'Arezzo, Macrobius |
| **Cosmic Harmony** | Kepler Harmonices, Fludd Monochord, Mersenne, Francesco Giorgio |
| **Renaissance** | Zarlino, Vincenzo Galilei, Glarean, Gaffurius, Praetorius |
| **Cross-Cultural** | Al-Farabi, Al-Kindi, Ikhwan al-Safa, Sufi sama traditions |

### Languages (priority order)
1. Latin (primary scholarly language)
2. German (Boehme, Paracelsus)
3. English (17th century translations)
4. Italian (Renaissance sources)
5. French (18th century editions)
6. Dutch (Amsterdam printing)

---

## Selection Rules (CRITICAL)

### Edition Priority (CRITICAL)
**ALWAYS prefer the oldest available edition in original language:**
1. **Incunabula** (pre-1501) - Highest priority
2. **16th century editions** - First printed editions, editio princeps
3. **17th century editions** - Important scholarly editions
4. **18th century editions** - When earlier unavailable
5. **19th century critical editions** - Scholarly Latin/Greek texts (e.g., Teubner, Loeb)
6. **Modern translations** - ONLY when no original text edition exists

**Language Priority:**
- Original language (Latin, Greek, German, Arabic) ALWAYS over English translations
- Contemporary translations (e.g., 17th c. English of Latin) acceptable as supplements
- NEVER import 20th-21st century English translations when Latin/Greek originals exist

### ACQUIRE
- Original historical editions (pre-1800 primary sources)
- Early printed books in original language
- First editions and important early printings
- 16th-17th century Greek/Latin scholarly editions
- Contemporary translations (17th-century English of Latin works)
- Critical scholarly editions with original text (Teubner, etc.)

### REJECT
- Modern translations (20th-21st century) without original text
- English-only editions when Latin/Greek available
- Secondary literature and commentaries
- Facsimile reprints when original scans exist
- Anthologies that excerpt rather than present complete works
- Books already in collection (check before importing)

### Scoring (1-10 scale)
| Criterion | Weight | Notes |
|-----------|--------|-------|
| Thematic fit | 3x | Core esoteric tradition |
| Edition quality | 2x | First editions, important printings |
| Historical authenticity | 2x | Original vs modern editions |
| Rarity | 2x | Not widely available digitally |
| Completeness | 1x | Full text vs fragments |
| Image quality | 1x | Readable scans |
| Research value | 1x | Citations, scholarly interest |

---

## API Reference

### Check Existing Collection

```bash
# Search for author/title to avoid duplicates
curl -s "https://sourcelibrary.org/api/search?q=AUTHOR_OR_TITLE&limit=20"

# Get collection stats
curl -s "https://sourcelibrary.org/api/admin/stats"

# List all books
curl -s "https://sourcelibrary.org/api/books" | jq '[.[] | {id, title, author, year}]'
```

### Import from Internet Archive

```bash
curl -s -X POST "https://sourcelibrary.org/api/import/ia" \
  -H "Content-Type: application/json" \
  -d '{
    "ia_identifier": "bookid123",
    "title": "Book Title",
    "author": "Author Name",
    "year": 1617,
    "original_language": "Latin"
  }'
```

### Import from Gallica (BnF)

```bash
curl -s -X POST "https://sourcelibrary.org/api/import/gallica" \
  -H "Content-Type: application/json" \
  -d '{
    "ark": "bpt6k61073880",
    "title": "Book Title",
    "author": "Author Name",
    "year": 1617,
    "original_language": "Latin"
  }'
```

### Import from MDZ (Bavarian State Library)

```bash
curl -s -X POST "https://sourcelibrary.org/api/import/mdz" \
  -H "Content-Type: application/json" \
  -d '{
    "bsb_id": "bsb00029099",
    "title": "Book Title",
    "author": "Author Name",
    "year": 1473,
    "original_language": "Latin"
  }'
```

---

## Acquisition Workflow

### Phase 1: Discovery

```bash
# Search Archive.org by author
curl -s "https://archive.org/advancedsearch.php?q=creator:(Paracelsus)+mediatype:(texts)+date:[1500+TO+1700]&output=json&rows=50" | jq '.response.docs[] | {identifier, title, date, creator}'

# Search Gallica
# Use web search for: site:gallica.bnf.fr "Author Name"

# Search MDZ
# Use web search for: site:digitale-sammlungen.de "Author Name"
```

### Phase 2: Evaluation

For each candidate:
1. Check if already in collection (search API)
2. Verify it's a primary source, not modern translation
3. Score against criteria (aim for 7+/10)
4. Note edition details, page count, image quality

### Phase 3: Import

```bash
# Import and capture book ID
RESP=$(curl -s -X POST "https://sourcelibrary.org/api/import/ia" \
  -H "Content-Type: application/json" \
  -d '{"ia_identifier": "...", "title": "...", "author": "...", "year": ...}')

BOOK_ID=$(echo "$RESP" | jq -r '.book.id // .id')
echo "Imported: $BOOK_ID"
```

### Phase 4: Queue Processing

After import, queue for OCR:

```bash
# Create batch OCR job
curl -s -X POST "https://sourcelibrary.org/api/jobs" \
  -H "Content-Type: application/json" \
  -d "{
    \"type\": \"batch_ocr\",
    \"book_id\": \"$BOOK_ID\",
    \"model\": \"gemini-2.5-flash\",
    \"language\": \"Latin\"
  }"
```

---

## Reporting Format

### Per-Book Report
```
## [Title] ([Year])
**Author**: [Name]
**Language**: [Lang] | **Pages**: [N] | **Source**: [archive.org ID]
**Theme**: [Primary collection]
**Score**: [N]/10
**Notes**: [1-2 sentences on significance]
**Status**: [acquired/processing/complete]
```

### Batch Summary
```
# Acquisition Batch [DATE] - [THEME]

## Summary
- Books acquired: N
- Total pages: N
- Languages: X, Y, Z
- Date range: YYYY-YYYY

## Thematic Rationale
[Why this batch, how it connects]

## Books
[Individual reports]

## Next Steps
[Gaps identified, what to acquire next]
```

---

## Current Gaps (Priority)

### URGENT - Missing Key Authors
| Author | What We Need | Priority |
|--------|--------------|----------|
| **Thomas Vaughan** | Lumen de Lumine, Aula Lucis | HIGH |
| **Gichtel** | Theosophia Practica | HIGH |
| **Jane Lead** | Philadelphian Society works | MEDIUM |
| **Cudworth** | True Intellectual System | MEDIUM |

### Need More Coverage
| Author | Have | Need |
|--------|------|------|
| Boehme | 3 works | German originals, Aurora |
| Fludd | Complete Utriusque | Additional volumes |
| Dee | Monas | True Relation |
| Paracelsus | Opera Omnia | Individual treatises |

---

## Catalog Sources

### Local Catalogs
- **BPH Catalog** (`data/bph_catalog.csv`) - 28,814 entries
- **IA Catalog** (`data/ia_catalog.csv`) - 9,000 entries

### Online Sources
| Source | URL Pattern | Notes |
|--------|-------------|-------|
| Archive.org | `archive.org/details/[ID]` | Primary source |
| Gallica | `gallica.bnf.fr/ark:/[ARK]` | French materials |
| MDZ/BSB | `digitale-sammlungen.de/[BSB_ID]` | German materials |
| e-rara | `e-rara.ch` | Swiss rare books |
| HathiTrust | `babel.hathitrust.org` | Requires login |

---

## Session Tracking

Append session reports to `curatorreports.md`:

```markdown
# Session [N]: [DATE] - [THEME]

## Acquired
| Title | Author | Pages | Book ID |
|-------|--------|-------|---------|
| ... | ... | ... | ... |

## Rejected
| Title | Reason |
|-------|--------|
| ... | Modern translation |

## Session Total: N books, N pages
```

---

## Quality Flags

When issues are found:
- `FLAG:OCR` - OCR quality problems
- `FLAG:ALIGN` - Image/text misalignment
- `FLAG:META` - Metadata errors
- `FLAG:INCOMPLETE` - Missing pages
- `FLAG:DUPLICATE` - Already in collection