Install
openclaw skills install eric-knowledge-digest-v2Converts textbooks or PDFs into personalized, multimodal interactive learning materials including handwritten notes, quiz webpages, slides, audio courses, and mind maps. Trigger: learning materials, convert textbook, study notes, quiz generation, slides from PDF, mind map, audio course.
openclaw skills install eric-knowledge-digest-v2KnowledgeDigest converts textbooks, PDFs, or topic descriptions into personalized, multimodal learning experiences. It analyzes source content, then generates any combination of: handwritten-style notes (PDF), interactive quiz webpages (HTML), slides (PDF+PPTX), mind maps (image+Mermaid), and audio courses (MP3). All output is adapted to the learner's grade level and interests.
Identify what the user has provided:
If no PDF/textbook uploaded and no source materials specified (only topic/direction provided):
Default output formats (if user does not specify): mindmap + slides (PDF only) + quiz
Parse the PDF or structured content to extract:
Document Parsing:
Core Concept Extraction:
Learning Objective Analysis:
Output structured analysis results in this format:
{
"document_info": {
"title": "Document title",
"total_pages": 100,
"language": "zh/en",
"subject": "Subject area"
},
"chapters": [
{
"chapter_id": "1",
"title": "Chapter title",
"page_range": [1, 20],
"sections": [
{
"section_id": "1.1",
"title": "Section title",
"core_concepts": ["Concept 1", "Concept 2"],
"key_terms": [
{"term": "Term", "definition": "Definition"}
],
"learning_objectives": ["Objective 1", "Objective 2"],
"difficulty": "easy/medium/hard",
"prerequisites": ["Prerequisite knowledge"]
}
]
}
],
"knowledge_graph": {
"nodes": ["Concept node list"],
"edges": [{"from": "Concept A", "to": "Concept B", "relation": "depends/contains/related"}]
}
}
Parsing Rules:
Based on user-selected output formats, generate each in sequence. For each format, follow the corresponding section below.
After all generation is complete:
Present to user using deliver_assets format:
<deliver_assets>
<item>
<path>file path</path>
</item>
</deliver_assets>
| Format | Output | Description |
|---|---|---|
notes | {topic}_notes.pdf | Handwritten-style notes (annotated on original or generated from scratch) |
quiz | {topic}_quiz.html | Minimalist interactive HTML quiz with instant feedback |
slides | {topic}_slides.pdf + {topic}_slides.pptx | Visual slides |
mindmap | {topic}_mindmap.png + Mermaid text | Mind map image |
audio | {topic}_audio.mp3 | Audio course in teacher-student dialogue format |
all | All of the above | Generate every format |
All generated content must be adapted to the learner's grade level:
| Grade | Language & Tone | Content Density | Visual Style |
|---|---|---|---|
| Elementary | Lively, simple Q&A, encouraging, story-style | Low density, more drawings, large font | Fun elements, bright colors, short text |
| Middle school | Guided questioning, moderate challenges, youth-oriented | Moderate, image-text combination, clear labels | Image-text combination, moderate information |
| High school | In-depth discussion, logical reasoning, appropriate academic tone | Higher density, logic diagrams | Professional feel, data visualization |
| University/Professional | Seminar-style, critical thinking, professional terminology | High density, professional charts, complex structures | Academic style, comprehensive application |
Interest Adaptation (applies to all formats):
Type A — Existing Paper/Courseware:
Type B — Non-existing Content:
Step 1: Analyze Original Structure
Analyze PDF content page by page:
Step 2: Plan Note Content
Plan handwritten annotations for each page (3-8 annotations per page, not too dense):
Annotation Types:
Annotation Planning Principles:
Step 3: Generate Annotated Images
Convert each PDF page to image, then use image generation tool to add handwritten-style annotations.
Handwritten Annotation Style Requirements:
Step 4: Compile PDF
Step 1: Organize Content Structure
Step 2: Design Note Layout
Layout Elements:
Step 3: Generate Note Page Images
Each page contains:
Style Requirements:
Step 4: Compile PDF
{topic}_notes.pdfAt least 5 questions per section. Distribution:
Difficulty distribution:
Each question must include:
Generate a single HTML file containing all questions and interaction logic.
Design Principle: Minimalist
Visual Style:
Interaction Design:
HTML Structure Template:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chapter Quiz</title>
<style>
body {
font-family: system-ui, sans-serif;
max-width: 600px;
margin: 40px auto;
padding: 20px;
line-height: 1.6;
}
h1 { font-size: 1.5em; font-weight: normal; }
.question { margin: 30px 0; }
.question-text { margin-bottom: 15px; }
.option {
display: block;
padding: 10px;
margin: 5px 0;
cursor: pointer;
}
.option:hover { background: #f5f5f5; }
.option.selected { background: #e8e8e8; }
.feedback { margin-top: 10px; font-size: 0.9em; }
.correct { color: #2e7d32; }
.incorrect { color: #c62828; }
.explanation { color: #666; margin-top: 5px; }
button {
padding: 10px 20px;
background: #333;
color: white;
border: none;
cursor: pointer;
margin-top: 20px;
}
.score { font-size: 1.2em; margin-top: 30px; }
</style>
</head>
<body>
<h1>Chapter Title - Quiz</h1>
<div class="question" data-answer="A">
<div class="question-text">1. Question content</div>
<label class="option"><input type="radio" name="q1" value="A"> A. Option</label>
<label class="option"><input type="radio" name="q1" value="B"> B. Option</label>
<label class="option"><input type="radio" name="q1" value="C"> C. Option</label>
<label class="option"><input type="radio" name="q1" value="D"> D. Option</label>
<div class="feedback"></div>
</div>
<!-- More questions... -->
<button onclick="submit()">Submit</button>
<div class="score"></div>
<script>
const explanations = {
q1: "Explanation content...",
// ...
};
function submit() {
let correct = 0;
document.querySelectorAll('.question').forEach((q, i) => {
const answer = q.dataset.answer;
const selected = q.querySelector('input:checked');
const feedback = q.querySelector('.feedback');
const qName = 'q' + (i + 1);
if (selected && selected.value === answer) {
feedback.innerHTML = '<span class="correct">Correct</span>';
correct++;
} else {
feedback.innerHTML = '<span class="incorrect">Incorrect</span> Correct answer: ' + answer +
'<div class="explanation">' + explanations[qName] + '</div>';
}
});
document.querySelector('.score').textContent =
'Score: ' + correct + '/' + document.querySelectorAll('.question').length;
}
</script>
</body>
</html>
{topic}_quiz.htmlTreat these as a flexible menu, not a mandatory checklist:
Step 1: Design Strategy — Create Content Script
Information architecture first: Structure content into hierarchical slides, each slide as an information unit defined by what data/facts/relationships it carries. Let content volume naturally determine slide count.
Output content_script.md:
# Slides Content Script
## Slide 1: [Title]
**Subtopic A**: [Label]
[50-80 word narrative paragraph describing information content to be visualized]
**Subtopic B**: [Label]
[50-80 word narrative paragraph]
## Slide 2: [Title]
...
Content Script Specification:
Step 2: Sequential Image Generation
Use image generation tool to generate slides one by one:
Format: Default 16:9 landscape ratio. Save each slide image locally.
Prompt Construction for Each Slide — Must include these 6 points:
Visualization Type — Prioritize diagram forms over text-dominated presentations: cutaway views, flowcharts, annotated structure diagrams, relationship diagrams, timeline overlays. Integrate multiple subtopics into unified visual structure. Avoid "parallel cards/grid displays/multi-column layouts" and text-heavy traditional typography.
Information Hierarchy — Primary and secondary information distinguished through visual hierarchy (size, position, contrast). Not flat lists.
Composition Instructions — Asymmetric layout, diagonal momentum, and other methods to break rigid symmetry.
Density Requirements — Clear information hierarchy over quantity. Appropriate white space serves readability, but not empty and sparse.
Layout Independence — Explicitly state this slide's visualization type is chosen based on its content, not copying previous slide. Re-evaluate what this specific content needs. But describe inherited elements in detail.
Style Consistency — If user provided visual style or reference images, each prompt must describe that style's characteristics in detail.
Step 3: Compile Output
After generating all slide images:
{topic}_slides.pdf + {topic}_slides.pptxStep 1: Design Content Structure
Determine node hierarchy and relationships:
Step 2: Generate Image
Use gen_images to generate mind map image:
Step 3: Output
{topic}_mindmap.pngStep 1: Write Dialogue Script
Write teacher-student dialogue script:
Opening (about 1 minute)
- Teacher greets, introduces today's topic
- Student responds, expresses existing knowledge or questions
- Teacher builds connection using user's interest field
Part One: Concept Introduction (about 4 minutes)
- Teacher asks questions from user's interest scenario
- Student observes/answers
- Teacher introduces core concept, defines in conversational manner
- Student requests examples
- Teacher explains in detail with personalized examples
- Student restates in own words to confirm understanding
Part Two: Deep Understanding (about 5 minutes)
- Teacher explains important characteristics of concept
- Student raises common confusion/misconception
- Teacher clarifies misconception
- Student poses hypothetical questions
- Teacher answers and extends
Part Three: Application Practice (about 3 minutes)
- Teacher gives question
- Student thinks and answers
- Teacher provides feedback (affirmation or guidance)
Summary (about 2 minutes)
- Student attempts to summarize what was learned
- Teacher supplements and affirms
- Student expresses gains, connects to practical application
- Exchange farewells
Script Requirements:
Teacher Character:
Student Character:
Step 2: Generate Audio
Use audio generation tool to convert script to audio:
Step 3: Output
{topic}_audio.mp3| Format | Filename Pattern | File Type |
|---|---|---|
| Notes | {topic}_notes.pdf | |
| Quiz | {topic}_quiz.html | HTML |
| Slides | {topic}_slides.pdf, {topic}_slides.pptx | PDF, PPTX |
| Mind Map | {topic}_mindmap.png | PNG |
| Audio | {topic}_audio.mp3 | MP3 |
All files use the topic name as prefix. Deliver all outputs together using <deliver_assets> format after all generation is complete.