Book Discovery
Finds books related to a theme across three categories: similar domains, inspiring works, and expressive fiction. Downloads and processes books to provide summaries.
The workflow:
- Generates book recommendations in three parallel tracks
- Searches for and validates book availability
- Acquires and processes books (PDF download, conversion)
- Synthesizes findings into a categorized report
When to Use This
This workflow is intended for discovering books that illuminate a theme from multiple angles—not just direct matches, but conceptually adjacent and creatively relevant works.
For academic papers, use Literature Review. For general web research, use Web Research.
How It Works
flowchart TD subgraph recommend["1. Generate Recommendations"] A[Your Theme] --> B[Analogous Domain] A --> C[Inspiring Action] A --> D[Expressive Fiction] end subgraph search["2. Search & Validate"] B --> E[Search Book Sources] C --> E D --> E E --> F[Validate Availability] end subgraph process["3. Process Books"] F --> G[Download PDFs] G --> H[Convert to Markdown] H --> I[Generate Summaries] end subgraph output["4. Synthesize"] I --> J[Organize by Category] J --> K[Write Descriptions] end K --> L[Your Book Report] style recommend fill:#e8f4f8 style search fill:#f0f8e8 style process fill:#fff8e8 style output fill:#f8e8f4
The Steps Explained
1. Generate Recommendations Three parallel processes generate book recommendations:
- Analogous Domain: Books addressing similar challenges in different fields (e.g., for “organizational resilience” → books on ecosystem resilience, immune systems)
- Inspiring Action: Books that motivate change or transformation related to the theme
- Expressive Fiction: Novels or creative works that capture the theme’s essence
2. Search & Validate Searches multiple book sources with fallback strategies. Validates that books are actually available and match the recommendations.
3. Process Books Downloads available books, converts PDFs to readable markdown, and generates summaries for each.
4. Synthesize Organizes findings by category and writes descriptions explaining why each book is relevant to the theme.
Inputs
| Input | Description | Example |
|---|---|---|
| Theme | Concept or topic to explore | ”Organizational resilience” |
| Brief (optional) | Context to guide recommendations | ”Looking at how companies recover from crises” |
| Thoroughness | Books per category (see below) | “Standard” for most cases |
| Language (optional) | Preferred language for books | ”en” for English |
Outputs
| Output | Description |
|---|---|
| Report | Categorized book recommendations with summaries |
| Status | Success, partial, or failed |
| Source count | Number of books processed |
Thoroughness Settings
| Setting | Books per Category | Intended Use |
|---|---|---|
| Test | 1 | Testing the system |
| Quick | 2 | Quick recommendations |
| Standard | 3 | General exploration |
| Comprehensive | 5 | Broader coverage |
| High Quality | 7 | Extensive survey |
The Three Categories
Analogous Domain Books that tackle similar problems in unrelated fields. Useful for cross-pollinating ideas and finding unexpected solutions.
Inspiring Action Books known for motivating readers to act or change. Practical, transformative works that energize rather than just inform.
Expressive Fiction Novels, stories, or creative non-fiction that embody the theme emotionally or narratively. Useful for deeper understanding beyond analytical treatment.
Example
Input:
- Theme: “Building learning organizations”
- Brief: “Interested in how companies can continuously adapt and improve”
- Thoroughness: Standard
Typical output: 9 books total (3 per category):
- Analogous: Books on adaptive systems, evolutionary biology, jazz improvisation
- Inspiring: Classic management books on learning, growth mindset works
- Fiction: Novels featuring organizations that transform or adapt
Developer Reference
Entry point: workflows/research/book_finding/graph/api.py — exposes book_finding() function
Graph construction: workflows/research/book_finding/graph/construction.py — parallel recommendation generation, sequential processing
State: workflows/research/book_finding/state.py — BookFindingState
Nodes: workflows/research/book_finding/nodes/
generate_recommendations.py— three parallel generators (analogous, inspiring, expressive)search_books.py— multi-source book search with fallbackprocess_books.py— PDF acquisition and document processingsynthesize_output.py— final report assembly
Prompts: workflows/research/book_finding/prompts.py — recommendation generation prompts
Document processing: workflows/research/book_finding/document_processing.py — book-specific PDF handling