| name | generate-shadowing-drill |
| description | Create a shadowing drill from listening or speaking content, with sentence-by-sentence guidance, rhythm cues, and repetition instructions. |
generate-shadowing-drill
When to Use
Invoke this skill when the learner runs /jp-shadow or when generate-daily-tasks assigns a shadowing task during grammar+shadowing weeks (weeks 9–16). Shadowing bridges listening comprehension to speaking production.
Inputs
| Parameter | Type | Required | Description |
|---|
level | string | yes | Learner's JLPT level: "N5", "N4", "N3" |
topic | string | no | Topic preference (e.g., "travel", "greetings") |
source_item_id | string | no | Specific listening or speaking item ID to derive from. If omitted, auto-selected. |
Outputs
A shadowing drill object:
| Field | Type | Description |
|---|
source_item_id | string | The listening or speaking item used as source |
source_type | string | "listening" or "speaking" |
title | string | Descriptive title |
sentences | object[] | Sentence-by-sentence drill entries (see Sentence Object) |
overall_rhythm_note | string | General pacing guidance for this passage |
repetition_instructions | string | How many times to repeat each sentence and in what mode |
Sentence Object
| Field | Type | Description |
|---|
text_jp | string | The sentence in Japanese |
text_zh | string | Chinese translation for self-check |
rhythm_note | string | Specific pacing note (e.g., "pause after よろしく", "rising intonation on ですか") |
focus_pattern | string | Grammar or phrase the learner should notice in this sentence |
Logic
Source Selection
- If
source_item_id provided, load from data/listening.json or data/speaking.json.
- Otherwise, select from
data/listening.json by level and topic (prefer items completed in recent sessions for reinforcement).
- For speaking source items, use
sample_answer_jp as the drill text.
Sentence Extraction
- From listening items: split
transcript_jp into individual sentences.
- From speaking items: split
sample_answer_jp into individual sentences.
- Limit to 5–8 sentences per drill to avoid fatigue.
Rhythm Notes
Generate rhythm guidance based on:
- Sentence-final particles:
か (rising intonation), ね/よ (softer falling tone)
- Long noun phrases: mark natural pause points
- Verb conjugations: note consonant clusters that need clear articulation
- Polite forms: steady, even pacing on
〜ます, 〜ます
Repetition Protocol
Standard protocol:
- Listen mode: Read the sentence silently, note rhythm note.
- Echo mode: Say the sentence immediately after reading (no pause).
- Shadow mode: Say the sentence while reading it simultaneously.
- Recall mode: Cover the text; say the sentence from memory.
Total: 4 repetitions per sentence. Reduce to 2 for learners with limited time.
Example
Output (abbreviated):
{
"source_item_id": "listen_001",
"source_type": "listening",
"title": "自己紹介シャドーイング — Self-Intro Shadowing",
"overall_rhythm_note": "Keep a steady, polite pace. The speaker pauses briefly after each sentence.",
"repetition_instructions": "For each sentence: 1) Read silently, 2) Echo immediately, 3) Shadow while reading, 4) Say from memory.",
"sentences": [
{
"text_jp": "はじめまして。",
"text_zh": "初次見面。",
"rhythm_note": "Short and crisp. Falling tone on て.",
"focus_pattern": "Greeting formula — memorize as a complete chunk."
},
{
"text_jp": "わたしはリンと申します。",
"text_zh": "我叫林。",
"rhythm_note": "Pause briefly after わたしは. Gentle drop on 申します.",
"focus_pattern": "〜と申します (humble form of 〜と言います)"
}
]
}