reading-teacher
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseReading Teacher
交互式阅读老师
An interactive, playful reading teacher that instantly generates engaging learning experiences through interactive artifacts, visual playgrounds, and gamified challenges for young learners.
这是一个充满趣味的交互式阅读教学工具,可通过交互式学习内容、可视化学习场景和游戏化挑战,为低龄学习者即时生成引人入胜的学习体验。
What This Skill Does
该Skill的功能
Transforms reading education into interactive, visual experiences:
- Instant Playground Generation - Creates interactive HTML/JS artifacts on demand
- Age-Appropriate Content - Tailored for ages 1-10 with developmental stages
- Multi-Sensory Learning - Visual, auditory, and interactive elements
- Phonics & Sight Words - Systematic phonics instruction and high-frequency words
- Story Building - Interactive story creation and comprehension
- Gamification - Stars, badges, rewards, and progress tracking
- Parent/Teacher Tools - Progress reports and customization options
将阅读教育转化为交互式可视化体验:
- 即时生成学习场景 - 按需创建交互式HTML/JS学习内容
- 适龄内容 - 针对1-10岁儿童的发展阶段定制
- 多感官学习 - 包含视觉、听觉和互动元素
- 自然拼读与高频词 - 系统的自然拼读教学和高频词学习
- 故事创作 - 互动式故事创建与阅读理解训练
- 游戏化设计 - 星星、徽章、奖励和进度追踪
- 家长/教师工具 - 进度报告和自定义选项
Why This Skill Matters
该Skill的重要性
Traditional reading instruction:
- Limited engagement and interactivity
- One-size-fits-all approach
- Difficult to maintain young attention spans
- Limited practice opportunities
- Hard to track individual progress
With this skill:
- Instant engagement through games
- Personalized to child's level
- Fun, rewarding experiences
- Unlimited practice variations
- Clear progress tracking
- Multi-sensory approach
传统阅读教学:
- 互动性和吸引力有限
- 一刀切的教学方式
- 难以维持低龄儿童的注意力
- 练习机会有限
- 难以追踪个体学习进度
使用本Skill后:
- 通过游戏即时吸引孩子注意力
- 根据孩子水平提供个性化内容
- 有趣且有成就感的学习体验
- 无限的练习变化形式
- 清晰的进度追踪
- 多感官教学方式
Core Principles
核心原则
1. Developmentally Appropriate
1. 符合发展规律
- Age-specific content and challenges
- Scaffolded learning progression
- Appropriate complexity levels
- Sensitive to attention spans
- Celebrates every milestone
- 适龄的内容和挑战
- 循序渐进的学习进阶
- 难度适中的学习任务
- 适配孩子的注意力时长
- 庆祝每一个学习里程碑
2. Multi-Sensory Engagement
2. 多感官互动
- Visual letter displays
- Audio pronunciation
- Interactive touch/click
- Animated feedback
- Colorful, engaging design
- 可视化字母展示
- 音频发音指导
- 交互式点击/触摸操作
- 动画反馈
- 色彩丰富的趣味设计
3. Play-Based Learning
3. 游戏化学习
- Games over drills
- Story-driven activities
- Character companions
- Reward systems
- Celebration animations
- 用游戏替代机械练习
- 故事驱动的活动设计
- 陪伴式角色设定
- 奖励机制
- 庆祝动画
4. Systematic Instruction
4. 系统化教学
- Sequential skill building
- Phonics-based approach
- High-frequency sight words
- Comprehension strategies
- Fluency development
- 循序渐进的技能构建
- 基于自然拼读的教学方法
- 高频词学习
- 阅读理解策略
- 阅读流利度培养
5. Positive Reinforcement
5. 正向强化
- Immediate encouragement
- Visual progress markers
- Achievement celebrations
- No negative feedback
- Growth mindset focus
- 即时鼓励
- 可视化进度标记
- 成就庆祝
- 无负面反馈
- 培养成长型思维
Reading Stages Covered
覆盖的阅读阶段
Pre-Reading (Ages 1-3)
学前阅读(1-3岁)
Skills:
- Letter recognition (uppercase & lowercase)
- Letter sounds (phonemic awareness)
- Environmental print awareness
- Book handling skills
- Listening comprehension
Activities:
- 🔤 Alphabet song with animations
- 🎨 Letter tracing games
- 🔊 Sound matching activities
- 📚 Interactive picture books
- 🎵 Rhyming word games
技能目标:
- 字母识别(大小写)
- 字母发音(音素意识)
- 环境印刷体认知
- 图书使用技能
- 听力理解
相关活动:
- 🔤 带动画的字母歌
- 🎨 字母描红游戏
- 🔊 发音匹配活动
- 📚 互动绘本
- 🎵 押韵词游戏
Early Reading (Ages 3-5)
早期阅读(3-5岁)
Skills:
- Letter-sound correspondence
- Beginning phonics (CVC words)
- Print awareness
- Simple sight words
- Picture-text connection
Activities:
- 🐱 CVC word building (cat, dog, sun)
- 🎯 Sight word matching games
- 📖 Simple sentence reading
- 🧩 Word family exploration
- ✨ Rhyme time challenges
技能目标:
- 字母-发音对应
- 基础自然拼读(CVC单词)
- 印刷体意识
- 简单高频词
- 图文关联
相关活动:
- 🐱 CVC单词构建(cat, dog, sun)
- 🎯 高频词匹配游戏
- 📖 简单句子阅读
- 🧩 词族探索
- ✨ 押韵挑战
Beginning Readers (Ages 5-7)
初级阅读者(5-7岁)
Skills:
- Phonics patterns (blends, digraphs)
- Expanding sight word vocabulary
- Simple sentence reading
- Basic comprehension
- Fluency building
Activities:
- 🌟 Digraph detective games (ch, sh, th)
- 📝 Sentence building workshops
- 📚 Decodable story readers
- 🎭 Character comprehension
- ⏱️ Fluency practice tracks
技能目标:
- 自然拼读模式(辅音连缀、双辅音)
- 扩充高频词词汇量
- 简单句子阅读
- 基础阅读理解
- 阅读流利度培养
相关活动:
- 🌟 双辅音侦探游戏(ch, sh, th)
- 📝 句子构建练习
- 📚 可解码故事阅读
- 🎭 角色理解训练
- ⏱️ 流利度练习追踪
Developing Readers (Ages 7-10)
进阶阅读者(7-10岁)
Skills:
- Advanced phonics patterns
- Multi-syllable words
- Reading comprehension strategies
- Vocabulary development
- Fluent reading
Activities:
- 📖 Story comprehension challenges
- 🔍 Context clue detectives
- 📚 Chapter book companions
- ✍️ Story writing studios
- 🎯 Vocabulary builders
技能目标:
- 高级自然拼读模式
- 多音节单词
- 阅读理解策略
- 词汇拓展
- 流利阅读
相关活动:
- 📖 故事理解挑战
- 🔍 语境线索推理
- 📚 章节书配套练习
- ✍️ 故事创作工作室
- 🎯 词汇拓展训练
Interactive Playground Examples
交互式学习场景示例
Example 1: Letter Land Adventure (Ages 1-3)
示例1:字母乐园探险(1-3岁)
User asks: "Help my toddler learn letters"
Teacher generates:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🌈 Letter Land Adventure!</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Comic Sans MS', 'Chalkboard SE', cursive, sans-serif;
background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
color: #333;
}
.header {
text-align: center;
margin-bottom: 30px;
}
h1 {
font-size: 3em;
color: #FF6B9D;
text-shadow: 3px 3px 6px rgba(0,0,0,0.1);
margin-bottom: 10px;
}
.stars {
font-size: 2em;
background: rgba(255,255,255,0.8);
padding: 10px 30px;
border-radius: 30px;
display: inline-block;
}
.letter-display {
background: white;
width: 400px;
height: 400px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 15em;
font-weight: bold;
color: #FF6B9D;
box-shadow: 0 20px 60px rgba(0,0,0,0.2);
margin: 20px;
cursor: pointer;
transition: all 0.3s ease;
user-select: none;
}
.letter-display:hover {
transform: scale(1.05);
box-shadow: 0 30px 80px rgba(0,0,0,0.3);
}
.letter-display:active {
transform: scale(0.95);
}
.controls {
display: flex;
gap: 20px;
margin: 20px;
flex-wrap: wrap;
justify-content: center;
}
.btn {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
border: none;
padding: 20px 40px;
font-size: 1.5em;
border-radius: 20px;
cursor: pointer;
transition: transform 0.2s;
font-weight: bold;
box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}
.btn:hover { transform: translateY(-5px); }
.btn:active { transform: translateY(0); }
.letter-name {
font-size: 2em;
margin: 20px;
color: #667eea;
font-weight: bold;
}
.celebration {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0);
font-size: 10em;
animation: celebrate 1s ease forwards;
pointer-events: none;
z-index: 1000;
}
@keyframes celebrate {
0% { transform: translate(-50%, -50%) scale(0) rotate(0deg); }
50% { transform: translate(-50%, -50%) scale(1.5) rotate(180deg); }
100% { transform: translate(-50%, -50%) scale(1) rotate(360deg); opacity: 0; }
}
.alphabet-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
gap: 10px;
max-width: 800px;
margin: 20px;
}
.alphabet-letter {
background: white;
padding: 20px;
border-radius: 15px;
font-size: 2em;
text-align: center;
cursor: pointer;
transition: all 0.2s;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
font-weight: bold;
color: #667eea;
}
.alphabet-letter:hover {
transform: scale(1.1);
background: #FFD700;
}
.alphabet-letter.learned {
background: #4CAF50;
color: white;
}
@media (max-width: 768px) {
.letter-display { width: 300px; height: 300px; font-size: 10em; }
h1 { font-size: 2em; }
}
</style>
</head>
<body>
<div class="header">
<h1>🌈 Letter Land Adventure!</h1>
<div class="stars">
Stars: <span id="stars">0</span> ⭐
</div>
</div>
<div class="letter-display" id="letterDisplay" onclick="speakLetter()">
A
</div>
<div class="letter-name" id="letterName">
Click the letter to hear its name and sound!
</div>
<div class="controls">
<button class="btn" onclick="nextLetter()">Next Letter ➡️</button>
<button class="btn" onclick="randomLetter()">Random Letter 🎲</button>
<button class="btn" onclick="showAlphabet()">Show All 🔤</button>
</div>
<div class="alphabet-grid" id="alphabetGrid" style="display: none;"></div>
<script>
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
const letterNames = {
'A': 'Apple', 'B': 'Ball', 'C': 'Cat', 'D': 'Dog', 'E': 'Elephant',
'F': 'Fish', 'G': 'Goat', 'H': 'Hat', 'I': 'Ice Cream', 'J': 'Juice',
'K': 'Kite', 'L': 'Lion', 'M': 'Moon', 'N': 'Nest', 'O': 'Orange',
'P': 'Pig', 'Q': 'Queen', 'R': 'Rabbit', 'S': 'Sun', 'T': 'Tiger',
'U': 'Umbrella', 'V': 'Violin', 'W': 'Whale', 'X': 'X-ray', 'Y': 'Yellow', 'Z': 'Zebra'
};
const letterSounds = {
'A': 'ah', 'B': 'buh', 'C': 'kuh', 'D': 'duh', 'E': 'eh',
'F': 'fuh', 'G': 'guh', 'H': 'huh', 'I': 'ih', 'J': 'juh',
'K': 'kuh', 'L': 'luh', 'M': 'muh', 'N': 'nuh', 'O': 'ah',
'P': 'puh', 'Q': 'kwuh', 'R': 'ruh', 'S': 'sss', 'T': 'tuh',
'U': 'uh', 'V': 'vuh', 'W': 'wuh', 'X': 'ks', 'Y': 'yuh', 'Z': 'zzz'
};
let currentIndex = 0;
let stars = 0;
let learnedLetters = new Set();
const colors = ['#FF6B9D', '#4ECDC4', '#FFE66D', '#A8E6CF', '#FF8B94', '#C7CEEA'];
function updateDisplay(letter) {
const display = document.getElementById('letterDisplay');
display.textContent = letter;
display.style.color = colors[Math.floor(Math.random() * colors.length)];
const name = document.getElementById('letterName');
name.textContent = `${letter} is for ${letterNames[letter]}!`;
}
function speakLetter() {
const letter = document.getElementById('letterDisplay').textContent;
// Award star
stars++;
document.getElementById('stars').textContent = stars;
// Mark as learned
if (!learnedLetters.has(letter)) {
learnedLetters.add(letter);
updateAlphabetGrid();
}
// Show celebration
celebrate('🎉');
// Simulate speech (in real implementation, use Web Speech API)
const name = document.getElementById('letterName');
name.textContent = `${letter}! ${letter} says "${letterSounds[letter]}"`;
// Change color
const display = document.getElementById('letterDisplay');
display.style.color = colors[Math.floor(Math.random() * colors.length)];
// Could use Web Speech API here:
// const utterance = new SpeechSynthesisUtterance(`${letter}. ${letter} is for ${letterNames[letter]}`);
// speechSynthesis.speak(utterance);
}
function nextLetter() {
currentIndex = (currentIndex + 1) % alphabet.length;
updateDisplay(alphabet[currentIndex]);
}
function randomLetter() {
currentIndex = Math.floor(Math.random() * alphabet.length);
updateDisplay(alphabet[currentIndex]);
celebrate('✨');
}
function showAlphabet() {
const grid = document.getElementById('alphabetGrid');
if (grid.style.display === 'none') {
grid.style.display = 'grid';
if (grid.children.length === 0) {
alphabet.forEach(letter => {
const div = document.createElement('div');
div.className = 'alphabet-letter';
div.textContent = letter;
div.onclick = () => {
currentIndex = alphabet.indexOf(letter);
updateDisplay(letter);
speakLetter();
};
grid.appendChild(div);
});
}
} else {
grid.style.display = 'none';
}
}
function updateAlphabetGrid() {
const grid = document.getElementById('alphabetGrid');
if (grid.children.length > 0) {
Array.from(grid.children).forEach((div, i) => {
if (learnedLetters.has(alphabet[i])) {
div.classList.add('learned');
}
});
}
}
function celebrate(emoji) {
const celebration = document.createElement('div');
celebration.className = 'celebration';
celebration.textContent = emoji;
document.body.appendChild(celebration);
setTimeout(() => celebration.remove(), 1000);
}
// Initialize
updateDisplay(alphabet[0]);
// Encourage interaction
setTimeout(() => {
const name = document.getElementById('letterName');
name.textContent = '👆 Click the letter to hear it!';
}, 3000);
</script>
</body>
</html>Features:
- Large, colorful letter display
- Click to hear letter name and sound
- Progress tracking with stars
- Alphabet grid showing learned letters
- Randomization for variety
- Encouraging animations
- Mobile-friendly touch interface
用户请求: "帮我的幼儿学习字母"
生成内容:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🌈 Letter Land Adventure!</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Comic Sans MS', 'Chalkboard SE', cursive, sans-serif;
background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
color: #333;
}
.header {
text-align: center;
margin-bottom: 30px;
}
h1 {
font-size: 3em;
color: #FF6B9D;
text-shadow: 3px 3px 6px rgba(0,0,0,0.1);
margin-bottom: 10px;
}
.stars {
font-size: 2em;
background: rgba(255,255,255,0.8);
padding: 10px 30px;
border-radius: 30px;
display: inline-block;
}
.letter-display {
background: white;
width: 400px;
height: 400px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 15em;
font-weight: bold;
color: #FF6B9D;
box-shadow: 0 20px 60px rgba(0,0,0,0.2);
margin: 20px;
cursor: pointer;
transition: all 0.3s ease;
user-select: none;
}
.letter-display:hover {
transform: scale(1.05);
box-shadow: 0 30px 80px rgba(0,0,0,0.3);
}
.letter-display:active {
transform: scale(0.95);
}
.controls {
display: flex;
gap: 20px;
margin: 20px;
flex-wrap: wrap;
justify-content: center;
}
.btn {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
border: none;
padding: 20px 40px;
font-size: 1.5em;
border-radius: 20px;
cursor: pointer;
transition: transform 0.2s;
font-weight: bold;
box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}
.btn:hover { transform: translateY(-5px); }
.btn:active { transform: translateY(0); }
.letter-name {
font-size: 2em;
margin: 20px;
color: #667eea;
font-weight: bold;
}
.celebration {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0);
font-size: 10em;
animation: celebrate 1s ease forwards;
pointer-events: none;
z-index: 1000;
}
@keyframes celebrate {
0% { transform: translate(-50%, -50%) scale(0) rotate(0deg); }
50% { transform: translate(-50%, -50%) scale(1.5) rotate(180deg); }
100% { transform: translate(-50%, -50%) scale(1) rotate(360deg); opacity: 0; }
}
.alphabet-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
gap: 10px;
max-width: 800px;
margin: 20px;
}
.alphabet-letter {
background: white;
padding: 20px;
border-radius: 15px;
font-size: 2em;
text-align: center;
cursor: pointer;
transition: all 0.2s;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
font-weight: bold;
color: #667eea;
}
.alphabet-letter:hover {
transform: scale(1.1);
background: #FFD700;
}
.alphabet-letter.learned {
background: #4CAF50;
color: white;
}
@media (max-width: 768px) {
.letter-display { width: 300px; height: 300px; font-size: 10em; }
h1 { font-size: 2em; }
}
</style>
</head>
<body>
<div class="header">
<h1>🌈 Letter Land Adventure!</h1>
<div class="stars">
Stars: <span id="stars">0</span> ⭐
</div>
</div>
<div class="letter-display" id="letterDisplay" onclick="speakLetter()">
A
</div>
<div class="letter-name" id="letterName">
Click the letter to hear its name and sound!
</div>
<div class="controls">
<button class="btn" onclick="nextLetter()">Next Letter ➡️</button>
<button class="btn" onclick="randomLetter()">Random Letter 🎲</button>
<button class="btn" onclick="showAlphabet()">Show All 🔤</button>
</div>
<div class="alphabet-grid" id="alphabetGrid" style="display: none;"></div>
<script>
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
const letterNames = {
'A': 'Apple', 'B': 'Ball', 'C': 'Cat', 'D': 'Dog', 'E': 'Elephant',
'F': 'Fish', 'G': 'Goat', 'H': 'Hat', 'I': 'Ice Cream', 'J': 'Juice',
'K': 'Kite', 'L': 'Lion', 'M': 'Moon', 'N': 'Nest', 'O': 'Orange',
'P': 'Pig', 'Q': 'Queen', 'R': 'Rabbit', 'S': 'Sun', 'T': 'Tiger',
'U': 'Umbrella', 'V': 'Violin', 'W': 'Whale', 'X': 'X-ray', 'Y': 'Yellow', 'Z': 'Zebra'
};
const letterSounds = {
'A': 'ah', 'B': 'buh', 'C': 'kuh', 'D': 'duh', 'E': 'eh',
'F': 'fuh', 'G': 'guh', 'H': 'huh', 'I': 'ih', 'J': 'juh',
'K': 'kuh', 'L': 'luh', 'M': 'muh', 'N': 'nuh', 'O': 'ah',
'P': 'puh', 'Q': 'kwuh', 'R': 'ruh', 'S': 'sss', 'T': 'tuh',
'U': 'uh', 'V': 'vuh', 'W': 'wuh', 'X': 'ks', 'Y': 'yuh', 'Z': 'zzz'
};
let currentIndex = 0;
let stars = 0;
let learnedLetters = new Set();
const colors = ['#FF6B9D', '#4ECDC4', '#FFE66D', '#A8E6CF', '#FF8B94', '#C7CEEA'];
function updateDisplay(letter) {
const display = document.getElementById('letterDisplay');
display.textContent = letter;
display.style.color = colors[Math.floor(Math.random() * colors.length)];
const name = document.getElementById('letterName');
name.textContent = `${letter} is for ${letterNames[letter]}!`;
}
function speakLetter() {
const letter = document.getElementById('letterDisplay').textContent;
// Award star
stars++;
document.getElementById('stars').textContent = stars;
// Mark as learned
if (!learnedLetters.has(letter)) {
learnedLetters.add(letter);
updateAlphabetGrid();
}
// Show celebration
celebrate('🎉');
// Simulate speech (in real implementation, use Web Speech API)
const name = document.getElementById('letterName');
name.textContent = `${letter}! ${letter} says "${letterSounds[letter]}"`;
// Change color
const display = document.getElementById('letterDisplay');
display.style.color = colors[Math.floor(Math.random() * colors.length)];
// Could use Web Speech API here:
// const utterance = new SpeechSynthesisUtterance(`${letter}. ${letter} is for ${letterNames[letter]}`);
// speechSynthesis.speak(utterance);
}
function nextLetter() {
currentIndex = (currentIndex + 1) % alphabet.length;
updateDisplay(alphabet[currentIndex]);
}
function randomLetter() {
currentIndex = Math.floor(Math.random() * alphabet.length);
updateDisplay(alphabet[currentIndex]);
celebrate('✨');
}
function showAlphabet() {
const grid = document.getElementById('alphabetGrid');
if (grid.style.display === 'none') {
grid.style.display = 'grid';
if (grid.children.length === 0) {
alphabet.forEach(letter => {
const div = document.createElement('div');
div.className = 'alphabet-letter';
div.textContent = letter;
div.onclick = () => {
currentIndex = alphabet.indexOf(letter);
updateDisplay(letter);
speakLetter();
};
grid.appendChild(div);
});
}
} else {
grid.style.display = 'none';
}
}
function updateAlphabetGrid() {
const grid = document.getElementById('alphabetGrid');
if (grid.children.length > 0) {
Array.from(grid.children).forEach((div, i) => {
if (learnedLetters.has(alphabet[i])) {
div.classList.add('learned');
}
});
}
}
function celebrate(emoji) {
const celebration = document.createElement('div');
celebration.className = 'celebration';
celebration.textContent = emoji;
document.body.appendChild(celebration);
setTimeout(() => celebration.remove(), 1000);
}
// Initialize
updateDisplay(alphabet[0]);
// Encourage interaction
setTimeout(() => {
const name = document.getElementById('letterName');
name.textContent = '👆 Click the letter to hear it!';
}, 3000);
</script>
</body>
</html>功能特点:
- 大尺寸彩色字母展示
- 点击即可收听字母名称和发音
- 星星进度追踪
- 显示已学字母的字母表网格
- 随机切换功能增加多样性
- 鼓励性动画
- 适配移动端的触摸交互
Example 2: Sight Word Safari (Ages 5-7)
示例2:高频词探险(5-7岁)
User asks: "Practice sight words for first grade"
Teacher generates: Interactive safari game with:
- High-frequency Dolch/Fry words
- Word recognition challenges
- Sentence building activities
- Timed reading practice
- Progress badges and rewards
用户请求: "练习一年级高频词"
生成内容: 交互式探险游戏,包含:
- Dolch/Fry高频词列表
- 单词识别挑战
- 句子构建活动
- 限时阅读练习
- 进度徽章与奖励
Example 3: Story Builder Studio (Ages 7-10)
示例3:故事创作工作室(7-10岁)
User asks: "Help with reading comprehension"
Teacher generates: Interactive story workshop with:
- Choose-your-own-adventure format
- Comprehension questions embedded
- Vocabulary highlighting
- Character analysis tools
- Story sequencing activities
用户请求: "帮助提升阅读理解能力"
生成内容: 交互式故事工作室,包含:
- 选择式冒险故事格式
- 嵌入式阅读理解问题
- 词汇高亮
- 角色分析工具
- 故事排序活动
Gamification System
游戏化系统
Rewards & Stars
奖励与星星
- Letter Stars (1 star): Learn a new letter
- Word Stars (5 stars): Read a new word
- Story Stars (10 stars): Complete a story
- Speed Stars (3 stars): Quick recognition
- Perfect Stars (20 stars): 100% accuracy
- 字母星星(1颗):学会新字母
- 单词星星(5颗):读出新单词
- 故事星星(10颗):完成一个故事
- 速度星星(3颗):快速识别单词
- 完美星星(20颗):准确率100%
Achievement Badges
成就徽章
- 🌟 ABC Master: Learn all 26 letters
- 📖 First Reader: Read first complete sentence
- 🏆 Word Wizard: Master 50 sight words
- 🎯 Perfect Week: Practice 7 days in a row
- 🚀 Speed Reader: Read 20 words in 1 minute
- 📚 Story Time: Complete 10 stories
- 🎨 Creative Writer: Build own story
- ⭐ Super Star: Earn 1000 total stars
- 🌟 字母大师:学会全部26个字母
- 📖 初读者:读出第一个完整句子
- 🏆 单词巫师:掌握50个高频词
- 🎯 完美一周:连续练习7天
- 🚀 快速读者:1分钟内读出20个单词
- 📚 故事达人:完成10个故事
- 🎨 创意作家:创作自己的故事
- ⭐ 超级明星:累计获得1000颗星星
Progress Tracking
进度追踪
- Letters learned (26 total)
- Sight words mastered
- Stories completed
- Reading streak (days)
- Time spent reading
- Accuracy percentage
- Reading level advancement
- 已学字母总数(共26个)
- 已掌握高频词数量
- 已完成故事数量
- 连续练习天数
- 阅读时长
- 准确率
- 阅读水平提升
Celebration Animations
庆祝动画
- Confetti for achievements
- Star explosions for correct answers
- Character animations
- Sound effects (optional)
- Progress bar fills
- Level-up animations
- 成就解锁时的彩屑效果
- 答对题目时的星星爆炸动画
- 角色动画
- 音效(可选)
- 进度条填充动画
- 等级提升动画
Learning Activities by Type
按类型划分的学习活动
Letter Recognition
字母识别
Activities:
- Alphabet song with animations
- Letter matching games
- Upper/lowercase pairing
- Letter tracing (touch/mouse)
- Find the letter challenges
- Letter sorting activities
Example Code:
javascript
function createLetterMatch() {
const uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
const lowercase = 'abcdefghijklmnopqrstuvwxyz'.split('');
// Shuffle and match pairs
const pairs = uppercase.map((u, i) => ({
upper: u,
lower: lowercase[i],
matched: false
}));
return pairs;
}相关活动:
- 带动画的字母歌
- 字母匹配游戏
- 大小写配对
- 字母描红(触摸/鼠标)
- 找字母挑战
- 字母分类活动
示例代码:
javascript
function createLetterMatch() {
const uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
const lowercase = 'abcdefghijklmnopqrstuvwxyz'.split('');
// Shuffle and match pairs
const pairs = uppercase.map((u, i) => ({
upper: u,
lower: lowercase[i],
matched: false
}));
return pairs;
}Phonics Practice
自然拼读练习
Activities:
- Sound matching (letter to sound)
- CVC word building (cat, dog, run)
- Word families (-at, -an, -ig)
- Rhyming word games
- Blend practice (bl, cr, st)
- Digraph detection (ch, sh, th)
Example:
javascript
const wordFamilies = {
'at': ['cat', 'bat', 'rat', 'hat', 'mat', 'sat'],
'an': ['can', 'man', 'pan', 'ran', 'van', 'fan'],
'ig': ['big', 'dig', 'fig', 'pig', 'wig', 'jig']
};
function generateWordFamily(family) {
return wordFamilies[family].map(word => ({
word: word,
letters: word.split(''),
sound: `/${family}/`
}));
}相关活动:
- 发音匹配(字母与发音)
- CVC单词构建(cat, dog, run)
- 词族练习(-at, -an, -ig)
- 押韵词游戏
- 辅音连缀练习(bl, cr, st)
- 双辅音识别(ch, sh, th)
示例代码:
javascript
const wordFamilies = {
'at': ['cat', 'bat', 'rat', 'hat', 'mat', 'sat'],
'an': ['can', 'man', 'pan', 'ran', 'van', 'fan'],
'ig': ['big', 'dig', 'fig', 'pig', 'wig', 'jig']
};
function generateWordFamily(family) {
return wordFamilies[family].map(word => ({
word: word,
letters: word.split(''),
sound: `/${family}/`
}));
}Sight Word Training
高频词训练
High-Frequency Words (Dolch/Fry Lists):
Pre-K:
javascript
const preK = ['a', 'and', 'away', 'big', 'blue', 'can', 'come',
'down', 'find', 'for', 'funny', 'go', 'help', 'here',
'I', 'in', 'is', 'it', 'jump', 'little', 'look', 'make',
'me', 'my', 'not', 'one', 'play', 'red', 'run', 'said',
'see', 'the', 'three', 'to', 'two', 'up', 'we', 'where',
'yellow', 'you'];First Grade:
javascript
const firstGrade = ['after', 'again', 'an', 'any', 'as', 'ask', 'by',
'could', 'every', 'fly', 'from', 'give', 'going',
'had', 'has', 'her', 'him', 'his', 'how', 'just',
'know', 'let', 'live', 'may', 'of', 'old', 'once',
'open', 'over', 'put', 'round', 'some', 'stop',
'take', 'thank', 'them', 'then', 'think', 'walk',
'were', 'when'];Interactive Sight Word Game:
javascript
function createSightWordChallenge(wordList, timeLimit = 60) {
let score = 0;
let currentWord = '';
let timeRemaining = timeLimit;
function nextWord() {
currentWord = wordList[Math.floor(Math.random() * wordList.length)];
displayWord(currentWord);
}
function checkAnswer(userInput) {
if (userInput.toLowerCase() === currentWord.toLowerCase()) {
score++;
celebrate();
nextWord();
}
}
return { nextWord, checkAnswer, score };
}高频词列表(Dolch/Fry列表):
学前班:
javascript
const preK = ['a', 'and', 'away', 'big', 'blue', 'can', 'come',
'down', 'find', 'for', 'funny', 'go', 'help', 'here',
'I', 'in', 'is', 'it', 'jump', 'little', 'look', 'make',
'me', 'my', 'not', 'one', 'play', 'red', 'run', 'said',
'see', 'the', 'three', 'to', 'two', 'up', 'we', 'where',
'yellow', 'you'];一年级:
javascript
const firstGrade = ['after', 'again', 'an', 'any', 'as', 'ask', 'by',
'could', 'every', 'fly', 'from', 'give', 'going',
'had', 'has', 'her', 'him', 'his', 'how', 'just',
'know', 'let', 'live', 'may', 'of', 'old', 'once',
'open', 'over', 'put', 'round', 'some', 'stop',
'take', 'thank', 'them', 'then', 'think', 'walk',
'were', 'when'];交互式高频词游戏:
javascript
function createSightWordChallenge(wordList, timeLimit = 60) {
let score = 0;
let currentWord = '';
let timeRemaining = timeLimit;
function nextWord() {
currentWord = wordList[Math.floor(Math.random() * wordList.length)];
displayWord(currentWord);
}
function checkAnswer(userInput) {
if (userInput.toLowerCase() === currentWord.toLowerCase()) {
score++;
celebrate();
nextWord();
}
}
return { nextWord, checkAnswer, score };
}Reading Comprehension
阅读理解
Strategies:
- Predicting what happens next
- Identifying main characters
- Recalling story details
- Understanding cause/effect
- Making inferences
- Visualizing scenes
Interactive Questions:
javascript
const comprehensionQuestions = {
'The Cat and the Hat': [
{
question: 'Who are the main characters?',
type: 'multiple-choice',
options: ['Cat, Kids', 'Dog, Bird', 'Fish, Mom'],
answer: 'Cat, Kids'
},
{
question: 'Where does the story take place?',
type: 'multiple-choice',
options: ['Outside', 'At home', 'At school'],
answer: 'At home'
},
{
question: 'What did you like about the story?',
type: 'open-ended',
encouragement: 'Great thinking!'
}
]
};教学策略:
- 预测后续情节
- 识别主要角色
- 回忆故事细节
- 理解因果关系
- 推理判断
- 场景可视化
交互式问题示例:
javascript
const comprehensionQuestions = {
'The Cat and the Hat': [
{
question: 'Who are the main characters?',
type: 'multiple-choice',
options: ['Cat, Kids', 'Dog, Bird', 'Fish, Mom'],
answer: 'Cat, Kids'
},
{
question: 'Where does the story take place?',
type: 'multiple-choice',
options: ['Outside', 'At home', 'At school'],
answer: 'At home'
},
{
question: 'What did you like about the story?',
type: 'open-ended',
encouragement: 'Great thinking!'
}
]
};Story Building
故事创作
Components:
- Character selection
- Setting choices
- Problem/solution structure
- Sequence of events
- Ending options
- Illustration tools
javascript
const storyElements = {
characters: ['🐱 Cat', '🐶 Dog', '🦊 Fox', '🐻 Bear', '🦁 Lion'],
settings: ['🏠 House', '🌳 Forest', '🏖️ Beach', '🏰 Castle', '🚀 Space'],
problems: ['Lost something', 'Made a friend', 'Went on adventure', 'Solved mystery'],
solutions: ['Found it!', 'Worked together', 'Used creativity', 'Never gave up']
};
function buildStory(selections) {
return `Once upon a time, there was a ${selections.character}.
The ${selections.character} lived in a ${selections.setting}.
One day, the ${selections.character} ${selections.problem}.
In the end, ${selections.solution}!`;
}核心组件:
- 角色选择
- 场景选择
- 问题/解决方案结构
- 事件顺序
- 结局选项
- 插画工具
javascript
const storyElements = {
characters: ['🐱 Cat', '🐶 Dog', '🦊 Fox', '🐻 Bear', '🦁 Lion'],
settings: ['🏠 House', '🌳 Forest', '🏖️ Beach', '🏰 Castle', '🚀 Space'],
problems: ['Lost something', 'Made a friend', 'Went on adventure', 'Solved mystery'],
solutions: ['Found it!', 'Worked together', 'Used creativity', 'Never gave up']
};
function buildStory(selections) {
return `Once upon a time, there was a ${selections.character}.
The ${selections.character} lived in a ${selections.setting}.
One day, the ${selections.character} ${selections.problem}.
In the end, ${selections.solution}!`;
}Parent/Teacher Tools
家长/教师工具
Progress Reports
进度报告
javascript
const progressReport = {
childName: 'Emma',
age: 6,
level: 'Beginning Reader',
stats: {
lettersLearned: 26,
sightWordsMastered: 45,
storiesCompleted: 12,
currentStreak: 7,
totalTimeMinutes: 240
},
strengths: ['Letter recognition', 'Phonics', 'Enthusiasm'],
workingOn: ['Sight words', 'Reading fluency'],
nextSteps: ['Practice high-frequency words', 'Read aloud daily']
};javascript
const progressReport = {
childName: 'Emma',
age: 6,
level: 'Beginning Reader',
stats: {
lettersLearned: 26,
sightWordsMastered: 45,
storiesCompleted: 12,
currentStreak: 7,
totalTimeMinutes: 240
},
strengths: ['Letter recognition', 'Phonics', 'Enthusiasm'],
workingOn: ['Sight words', 'Reading fluency'],
nextSteps: ['Practice high-frequency words', 'Read aloud daily']
};Customization Options
自定义选项
- Adjust difficulty level
- Select word lists
- Choose themes/characters
- Set time limits
- Enable/disable sound
- Track multiple children
- Export progress data
- 调整难度级别
- 选择单词列表
- 选择主题/角色
- 设置时间限制
- 启用/禁用音效
- 追踪多个孩子的进度
- 导出进度数据
Technical Implementation
技术实现
Text-to-Speech (Web Speech API)
文本转语音(Web Speech API)
javascript
function speakText(text, rate = 1.0) {
if ('speechSynthesis' in window) {
const utterance = new SpeechSynthesisUtterance(text);
utterance.rate = rate;
utterance.pitch = 1.2; // Higher pitch for kids
utterance.volume = 1.0;
speechSynthesis.speak(utterance);
} else {
// Fallback: show text with pronunciation guide
showPronunciation(text);
}
}javascript
function speakText(text, rate = 1.0) {
if ('speechSynthesis' in window) {
const utterance = new SpeechSynthesisUtterance(text);
utterance.rate = rate;
utterance.pitch = 1.2; // Higher pitch for kids
utterance.volume = 1.0;
speechSynthesis.speak(utterance);
} else {
// Fallback: show text with pronunciation guide
showPronunciation(text);
}
}Interactive Word Building
交互式单词构建
javascript
function createWordBuilder(targetWord) {
const letters = targetWord.split('');
const scrambled = shuffle([...letters]);
let builtWord = [];
function addLetter(letter) {
builtWord.push(letter);
updateDisplay();
if (builtWord.join('') === targetWord) {
celebrate('Correct!');
return true;
}
return false;
}
function removeLetter() {
builtWord.pop();
updateDisplay();
}
return { addLetter, removeLetter, scrambled };
}javascript
function createWordBuilder(targetWord) {
const letters = targetWord.split('');
const scrambled = shuffle([...letters]);
let builtWord = [];
function addLetter(letter) {
builtWord.push(letter);
updateDisplay();
if (builtWord.join('') === targetWord) {
celebrate('Correct!');
return true;
}
return false;
}
function removeLetter() {
builtWord.pop();
updateDisplay();
}
return { addLetter, removeLetter, scrambled };
}Reading Fluency Timer
阅读流利度计时器
javascript
class FluencyTracker {
constructor(text) {
this.text = text;
this.wordCount = text.split(' ').length;
this.startTime = null;
this.endTime = null;
}
start() {
this.startTime = Date.now();
}
stop() {
this.endTime = Date.now();
return this.calculate();
}
calculate() {
const seconds = (this.endTime - this.startTime) / 1000;
const minutes = seconds / 60;
const wpm = Math.round(this.wordCount / minutes);
return {
wordsPerMinute: wpm,
timeSeconds: seconds,
wordCount: this.wordCount,
rating: this.getRating(wpm)
};
}
getRating(wpm) {
// Age-appropriate WPM benchmarks
if (wpm >= 100) return '🏆 Excellent!';
if (wpm >= 70) return '⭐ Great job!';
if (wpm >= 50) return '👍 Good work!';
return '💪 Keep practicing!';
}
}javascript
class FluencyTracker {
constructor(text) {
this.text = text;
this.wordCount = text.split(' ').length;
this.startTime = null;
this.endTime = null;
}
start() {
this.startTime = Date.now();
}
stop() {
this.endTime = Date.now();
return this.calculate();
}
calculate() {
const seconds = (this.endTime - this.startTime) / 1000;
const minutes = seconds / 60;
const wpm = Math.round(this.wordCount / minutes);
return {
wordsPerMinute: wpm,
timeSeconds: seconds,
wordCount: this.wordCount,
rating: this.getRating(wpm)
};
}
getRating(wpm) {
// Age-appropriate WPM benchmarks
if (wpm >= 100) return '🏆 Excellent!';
if (wpm >= 70) return '⭐ Great job!';
if (wpm >= 50) return '👍 Good work!';
return '💪 Keep practicing!';
}
}Reference Materials
参考资料
All included in :
/references- phonics.md - Phonics patterns, rules, and activities
- sight_words.md - Dolch and Fry word lists by level
- comprehension.md - Reading strategies and question types
- stories.md - Decodable texts and story templates
所有资料均位于目录:
/references- phonics.md - 自然拼读模式、规则和活动
- sight_words.md - 分级别Dolch和Fry高频词列表
- comprehension.md - 阅读策略和问题类型
- stories.md - 可解码文本和故事模板
Scripts
脚本工具
All in :
/scripts- generate_playground.sh - Create interactive reading playground
- generate_game.sh - Build phonics or sight word game
- generate_story.sh - Create interactive story
所有脚本均位于目录:
/scripts- generate_playground.sh - 创建交互式阅读学习场景
- generate_game.sh - 构建自然拼读或高频词游戏
- generate_story.sh - 创建交互式故事
Best Practices
最佳实践
DO:
建议:
✅ Use large, clear fonts (minimum 24pt for beginners)
✅ Include audio pronunciation
✅ Provide immediate positive feedback
✅ Use colorful, engaging visuals
✅ Celebrate every success
✅ Keep sessions short (5-15 minutes)
✅ Make it playful and fun
✅ Track progress visibly
✅ 使用大尺寸清晰字体(初学者最小24pt)
✅ 包含音频发音
✅ 提供即时正向反馈
✅ 使用色彩丰富的趣味视觉设计
✅ 庆祝每一次成功
✅ 保持学习时长简短(5-15分钟)
✅ 设计得有趣且充满游戏性
✅ 可视化展示学习进度
DON'T:
避免:
❌ Use complex vocabulary
❌ Show negative feedback
❌ Make activities too long
❌ Use small or hard-to-read text
❌ Skip audio support
❌ Make it feel like work
❌ Overwhelm with too many choices
❌ Forget to celebrate progress
❌ 使用复杂词汇
❌ 展示负面反馈
❌ 活动时长过长
❌ 使用小字体或难以阅读的文本
❌ 跳过音频支持
❌ 让学习感觉像任务
❌ 提供过多选择导致孩子不知所措
❌ 忘记庆祝学习进度
Example Interactions
互动示例
Toddler (Age 2):
"Teach my toddler the alphabet"
Generates: Interactive Letter Land with clickable letters, sounds, animations, and tracking
Kindergarten (Age 5):
"Help with CVC words"
Generates: Word family game with cat, bat, rat - drag-and-drop letter building with sounds
First Grade (Age 6):
"Practice sight words"
Generates: Sight Word Safari with timed challenges, sentences, and progress badges
Second Grade (Age 7):
"Reading comprehension practice"
Generates: Interactive story with embedded questions, vocabulary help, and rewards
幼儿(2岁):
"教我的孩子学字母"
生成内容:交互式字母乐园,包含可点击字母、发音、动画和进度追踪
幼儿园学生(5岁):
"帮助练习CVC单词"
生成内容:词族游戏,包含cat、bat、rat等单词,可拖拽字母构建单词并发音
一年级学生(6岁):
"练习高频词"
生成内容:高频词探险游戏,包含限时挑战、句子练习和进度徽章
二年级学生(7岁):
"练习阅读理解"
生成内容:交互式故事,包含嵌入式问题、词汇帮助和奖励机制
Summary
总结
This skill transforms reading education by:
- Instant Engagement - Generates playgrounds immediately
- Multi-Sensory - Visual, audio, interactive elements
- Developmentally Appropriate - Age 1-10 coverage
- Systematic - Phonics-based progression
- Gamified - Stars, badges, celebrations
- Effective - Research-based methods
- Fun - Play-based learning
"Every child can learn to read with the right support and encouragement." 📚
Usage: Ask for help with any reading skill - letter recognition, phonics, sight words, comprehension - and get an instant, interactive learning experience tailored to your child's level!
该Skill通过以下方式变革阅读教育:
- 即时吸引注意力 - 即时生成学习场景
- 多感官体验 - 视觉、音频、互动元素结合
- 适龄设计 - 覆盖1-10岁全年龄段
- 系统化教学 - 基于自然拼读的进阶学习
- 游戏化设计 - 星星、徽章、庆祝机制
- 高效教学 - 基于研究的教学方法
- 充满乐趣 - 游戏化学习模式
“只要有合适的支持和鼓励,每个孩子都能学会阅读。” 📚
使用方法: 提出任何阅读技能相关需求——字母识别、自然拼读、高频词、阅读理解等,即可获得为孩子量身定制的即时交互式学习体验!