Back to Skills

curator

majiayu000
Updated Today
58
9
58
View on GitHub
Metadesign

About

The curator skill autonomously discovers and imports historical texts from digital archives like Archive.org for building specialized collections. Developers can use it for interactive acquisition sessions, collection gap analysis, or batch importing thematic materials. It supports both direct user invocation and background task automation for library-building workflows.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/majiayu000/claude-skill-registry
Git CloneAlternative
git clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/curator

Copy and paste this command in Claude Code to install this skill

Documentation

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

CollectionKey Authors/Texts
HermeticaCorpus Hermeticum, Ficino, Trismegistus tradition
AlchemyParacelsus, Theatrum Chemicum, Valentine, Sendivogius
KabbalahPico, Reuchlin, Knorr von Rosenroth
RosicrucianismManifestos, Andreae, Fludd
TheosophyBoehme, Gichtel, Pordage
Natural MagicAgrippa, 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

ThemeKey Authors/Texts
PythagoreanIamblichus, Nicomachus, Philolaus, Theon of Smyrna
Ancient GreekAristoxenus, Ptolemy Harmonics, Aristides Quintilianus
MedievalBoethius De Musica, Augustine, Guido d'Arezzo, Macrobius
Cosmic HarmonyKepler Harmonices, Fludd Monochord, Mersenne, Francesco Giorgio
RenaissanceZarlino, Vincenzo Galilei, Glarean, Gaffurius, Praetorius
Cross-CulturalAl-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)

CriterionWeightNotes
Thematic fit3xCore esoteric tradition
Edition quality2xFirst editions, important printings
Historical authenticity2xOriginal vs modern editions
Rarity2xNot widely available digitally
Completeness1xFull text vs fragments
Image quality1xReadable scans
Research value1xCitations, scholarly interest

API Reference

Check Existing Collection

# 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

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)

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)

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

# 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

# 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:

# 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

AuthorWhat We NeedPriority
Thomas VaughanLumen de Lumine, Aula LucisHIGH
GichtelTheosophia PracticaHIGH
Jane LeadPhiladelphian Society worksMEDIUM
CudworthTrue Intellectual SystemMEDIUM

Need More Coverage

AuthorHaveNeed
Boehme3 worksGerman originals, Aurora
FluddComplete UtriusqueAdditional volumes
DeeMonasTrue Relation
ParacelsusOpera OmniaIndividual 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

SourceURL PatternNotes
Archive.orgarchive.org/details/[ID]Primary source
Gallicagallica.bnf.fr/ark:/[ARK]French materials
MDZ/BSBdigitale-sammlungen.de/[BSB_ID]German materials
e-rarae-rara.chSwiss rare books
HathiTrustbabel.hathitrust.orgRequires login

Session Tracking

Append session reports to curatorreports.md:

# 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

GitHub Repository

majiayu000/claude-skill-registry
Path: skills/curator

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

creating-opencode-plugins

Meta

This skill provides the structure and API specifications for creating OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It offers implementation patterns for JavaScript/TypeScript modules that intercept and extend the AI assistant's lifecycle. Use it when you need to build event-driven plugins for monitoring, custom handling, or extending OpenCode's capabilities.

View skill

langchain

Meta

LangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.

View skill

Algorithmic Art Generation

Meta

This skill helps developers create algorithmic art using p5.js, focusing on generative art, computational aesthetics, and interactive visualizations. It automatically activates for topics like "generative art" or "p5.js visualization" and guides you through creating unique algorithms with features like seeded randomness, flow fields, and particle systems. Use it when you need to build reproducible, code-driven artistic patterns.

View skill