ahmtsahin/deutsch-dna

DeutschDNA: a German tutor skill for Claude Code and Codex that remembers your mistakes and the hints that helped.

Python

0

11 commits

updated Sep 24, 2026

See the code

See what people are saying

SourceMessageScoreDate

Show HN: DeutschDNA – German Tutor Skill for Claude Code and Codex

1

Sep 24, 2026

I built a German tutor skill for Claude Code that remembers your mistakes and the hints that helped (r/SideProject)

I'm learning German and kept repeating the same few mistakes, so I built DeutschDNA: an Agent Skill that turns Claude Code (or Codex) into a German tutor with a local memory. \*\*What it does\*\* \- Corrects your German minimally and files each mistake under its root cause. \- Gives you a small…

2

Sep 24, 2026

README

DeutschDNA

A German coaching skill for Claude Code and Codex.

Tests

You learn German. Your tutor remembers what helped.

Your tutor remembers your mistakes, the hints that helped, and your progress across conversations.

Install and start · Actual conversation · 103 days later

Progress first: yesterday, Ich spreche mit meinem Chef needed a hint; today, Wir haben mit unseren Kunden gesprochen is produced without help. The replay then shows the original mistake and self-repair.

Yesterday: with a hint. Today: a new sentence, without help.

Scripted learner inputs, real engine records. View the result without animation.

Install

Requires Python 3.10+ and Claude Code or Codex. No runtime packages, extra API key, server, or database to set up. Your existing model teaches; progress is stored locally in ~/.deutschdna.

Claude Code

git clone https://github.com/ahmtsahin/deutsch-dna.git "$HOME/.claude/skills/deutsch-dna"

Start a chat with /deutsch-dna.

Codex

git clone https://github.com/ahmtsahin/deutsch-dna.git "$HOME/.agents/skills/deutsch-dna"

Start a chat with $deutsch-dna.

The tutor gives you one small German task right away. You can ask for explanations in your own language. Your name and goals are optional.

The clone commands work in macOS/Linux terminals and PowerShell. For project-only installation, Python on Windows, or the one-time permission setup that lets the tutor save progress, see installation and permissions.

An actual conversation

Real Claude Code conversation excerpts: a learner writes mit mein Chef, receives a hint, repairs it to mit meinem Chef, and opens a fresh chat where the tutor recalls the same hint from saved memory.

A new chat remembers the old hint. This is a timed transcript replay of actual Claude Code replies to scripted learner messages. Both chats happened on the same day, using an isolated learning history. Displayed excerpts preserve the tutor's words; waiting time is compressed.

Full conversation · Captured replies and saved evidence · Static view

Every session starts with your board

The board that opens a session: DeutschDNA · Alex · B2 · 17 Tage in Folge · 2 von 14 gemeistert. Five patterns with their review ladders, error counts, a marker for mistakes that came back this week, and when each is due.

Your patterns, what is due first, and which mistakes came back. The tutor then quotes one of your own sentences and puts it in a new situation. This board belongs to the scripted four-month learner and comes straight from the engine.

What you can do

Say thisWhat happens
“Correct my German.”Minimal corrections, with related mistakes grouped by their root cause.
“Give me a hint.”You repair the sentence; the tutor remembers the help you needed.
“Let's review.”Due patterns return in fresh situations. Copying the old answer cannot advance mastery.
“I have a meeting tomorrow.”A roleplay can use your goal and a pattern you are practising.
“Let's practise words.”Vocabulary from your scenes returns in spaced reviews.
“How am I doing?”Your recorded progress, with the sentences behind it.
“That wasn't a mistake.”The tutor can undo the correction and restore its schedule.

During a roleplay, ordinary corrections wait until the debrief. Start with “Restoranda konuşalım” or “Roleplay Restaurant”; finish with “bitir” or “stop roleplay”. The reply includes up to three corrections and useful vocabulary.

Your first minute, roleplays, and more examples.

Memory over months

An old mistake returns after 103 days. DeutschDNA still has the first sentence, its correction, and the hint that helped, ready for renewed practice.

Your first mistake is still there when you need it. This scripted four-month story runs through the real engine. The callback, original sentence, and saved hint come from its records. Static view.

The first example and teaching milestones survive the rolling history limits. Progress scores describe tracked patterns, not overall German proficiency. Text practice works directly; microphone capture and pronunciation scoring are not included.

Try the engine

From the cloned skill folder:

python scripts/demo.py --learning-loop

This uses a fresh demo directory. For the four-month story, run python scripts/demo.py; for the restaurant scene, add --speak.

CLI guide · Command contract · Tests, recording, and GIF generation

Roadmap

  • Planned: Goethe B1/B2, telc B1/B2, and telc Deutsch Beruf exam modes.
  • Exploring: voice practice, pronunciation fingerprint, and a local dashboard.

License

MIT

agent-skills
ai-tutor
claude-code
claude-skills
codex
codex-skills
german-grammar
language-learning
learn-german
python
spaced-repetition

Contributors

ahmtsahin

11 commits

ahmtsahin/deutsch-dna

DeutschDNA: a German tutor skill for Claude Code and Codex that remembers your mistakes and the hints that helped.

Python

0

11 commits

updated Sep 24, 2026

See the code

See what people are saying

SourceMessageScoreDate

Show HN: DeutschDNA – German Tutor Skill for Claude Code and Codex

1

Sep 24, 2026

I built a German tutor skill for Claude Code that remembers your mistakes and the hints that helped (r/SideProject)

I'm learning German and kept repeating the same few mistakes, so I built DeutschDNA: an Agent Skill that turns Claude Code (or Codex) into a German tutor with a local memory. \*\*What it does\*\* \- Corrects your German minimally and files each mistake under its root cause. \- Gives you a small…

2

Sep 24, 2026

README

DeutschDNA

A German coaching skill for Claude Code and Codex.

Tests

You learn German. Your tutor remembers what helped.

Your tutor remembers your mistakes, the hints that helped, and your progress across conversations.

Install and start · Actual conversation · 103 days later

Progress first: yesterday, Ich spreche mit meinem Chef needed a hint; today, Wir haben mit unseren Kunden gesprochen is produced without help. The replay then shows the original mistake and self-repair.

Yesterday: with a hint. Today: a new sentence, without help.

Scripted learner inputs, real engine records. View the result without animation.

Install

Requires Python 3.10+ and Claude Code or Codex. No runtime packages, extra API key, server, or database to set up. Your existing model teaches; progress is stored locally in ~/.deutschdna.

Claude Code

git clone https://github.com/ahmtsahin/deutsch-dna.git "$HOME/.claude/skills/deutsch-dna"

Start a chat with /deutsch-dna.

Codex

git clone https://github.com/ahmtsahin/deutsch-dna.git "$HOME/.agents/skills/deutsch-dna"

Start a chat with $deutsch-dna.

The tutor gives you one small German task right away. You can ask for explanations in your own language. Your name and goals are optional.

The clone commands work in macOS/Linux terminals and PowerShell. For project-only installation, Python on Windows, or the one-time permission setup that lets the tutor save progress, see installation and permissions.

An actual conversation

Real Claude Code conversation excerpts: a learner writes mit mein Chef, receives a hint, repairs it to mit meinem Chef, and opens a fresh chat where the tutor recalls the same hint from saved memory.

A new chat remembers the old hint. This is a timed transcript replay of actual Claude Code replies to scripted learner messages. Both chats happened on the same day, using an isolated learning history. Displayed excerpts preserve the tutor's words; waiting time is compressed.

Full conversation · Captured replies and saved evidence · Static view

Every session starts with your board

The board that opens a session: DeutschDNA · Alex · B2 · 17 Tage in Folge · 2 von 14 gemeistert. Five patterns with their review ladders, error counts, a marker for mistakes that came back this week, and when each is due.

Your patterns, what is due first, and which mistakes came back. The tutor then quotes one of your own sentences and puts it in a new situation. This board belongs to the scripted four-month learner and comes straight from the engine.

What you can do

Say thisWhat happens
“Correct my German.”Minimal corrections, with related mistakes grouped by their root cause.
“Give me a hint.”You repair the sentence; the tutor remembers the help you needed.
“Let's review.”Due patterns return in fresh situations. Copying the old answer cannot advance mastery.
“I have a meeting tomorrow.”A roleplay can use your goal and a pattern you are practising.
“Let's practise words.”Vocabulary from your scenes returns in spaced reviews.
“How am I doing?”Your recorded progress, with the sentences behind it.
“That wasn't a mistake.”The tutor can undo the correction and restore its schedule.

During a roleplay, ordinary corrections wait until the debrief. Start with “Restoranda konuşalım” or “Roleplay Restaurant”; finish with “bitir” or “stop roleplay”. The reply includes up to three corrections and useful vocabulary.

Your first minute, roleplays, and more examples.

Memory over months

An old mistake returns after 103 days. DeutschDNA still has the first sentence, its correction, and the hint that helped, ready for renewed practice.

Your first mistake is still there when you need it. This scripted four-month story runs through the real engine. The callback, original sentence, and saved hint come from its records. Static view.

The first example and teaching milestones survive the rolling history limits. Progress scores describe tracked patterns, not overall German proficiency. Text practice works directly; microphone capture and pronunciation scoring are not included.

Try the engine

From the cloned skill folder:

python scripts/demo.py --learning-loop

This uses a fresh demo directory. For the four-month story, run python scripts/demo.py; for the restaurant scene, add --speak.

CLI guide · Command contract · Tests, recording, and GIF generation

Roadmap

  • Planned: Goethe B1/B2, telc B1/B2, and telc Deutsch Beruf exam modes.
  • Exploring: voice practice, pronunciation fingerprint, and a local dashboard.

License

MIT

agent-skills
ai-tutor
claude-code
claude-skills
codex
codex-skills
german-grammar
language-learning
learn-german
python
spaced-repetition

Contributors

ahmtsahin

11 commits

Languages

Python

100.0%