agentsclimarketplace

Fluent feedback formatter

Skill m98/fluent/.claude/skills/fluent-feedback-formatter

Canonical feedback template for every learner answer in the Fluent system β€” celebrate correct parts, correct mistakes with category and brief explanation, show the full correct version, score out of 10, and classify severity (πŸ”΄ critical / 🟑 moderate / 🟒 minor). Use in every practice session (fluent-writing, fluent-vocab, fluent-speaking, fluent-reading, fluent-review) immediately after the learner submits an answer.From its SKILL.md

Install
npx -y skills add m98/fluent --skill fluent-feedback-formatter

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

4.7 KB, as published. Nobody here has run it

Feedback Formatter

Overview

Every practice session ends each turn with immediate feedback. Consistency matters β€” the learner builds mental models from the structure, and error patterns we mine from session files depend on predictable markers (❌, βœ…, severity emoji). This skill defines the single feedback shape used across all Fluent practice skills.

When to Use

Load this skill whenever the tutor:

  • Grades a learner answer in any practice skill (fluent-learn, fluent-vocab, fluent-writing, fluent-speaking, fluent-reading, fluent-review).
  • Needs to classify an error by severity before writing to mistakes-db.json.
  • Needs to tag an error by category (grammar, vocabulary, prepositions, etc.).

Skip this skill for non-feedback output (greetings, summaries, progress reports).

Instructions

1. Standard template

{βœ… or ❌} {one-line encouragement or gentle correction}

**Corrections:**
- ❌ "{wrong_part}" β†’ **"{correct_part}"** ({category} β€” {brief_why})
- βœ… "{correct_part}" β€” {specific_praise}

**Correct version:**
"{full_correct_sentence}"

**Score: {X}/10** {emoji} {short_comment}

---

Skip the ❌ block if the answer is fully correct. Skip the βœ… block only if truly nothing was right (rare β€” usually at least word order or intent was right).

2. Tag severity on every error

SymbolSeverityMeaningExample
πŸ”΄CriticalBreaks communication or exam-blockerFormal/informal mix in formal email; wrong subordinate-clause word order
🟑ModerateNoticeable but understandablePreposition error, missing article
🟒MinorLow prioritySpelling, punctuation, accent marks

A single answer may contain multiple errors of different severity β€” tag each.

3. Use these category labels

These feed mistakes-db.json:

  • grammar β€” word order, conjugation, clause structure
  • formal_informal β€” u/je, uw/jouw, register mismatch
  • vocabulary β€” wrong word, English mixing, register-wrong synonym
  • spelling β€” minor
  • prepositions β€” om/op/in/bij/naar/etc.
  • articles β€” de/het, definite/indefinite
  • missing β€” omitted greeting, closing, required word

4. Tone rules

  • Encourage before correcting. Open with a βœ… or a warm ❌ ("Close! Let's tune one word."), not a bare Wrong..
  • Explain why, not just what. "Ik schrijf je" β†’ "Ik schrijf u" (formal_informal β€” business emails require u) beats "Use u not je.".
  • Name the pattern. Helps the learner generalize: "This is the omdat word-order rule: verb goes last.".
  • Celebrate progress. "You didn't miss this last time β€” well done." when mistakes-db shows improvement.
  • Emojis on. The learner's profile has use_emojis: true by default. Keep them.

5. Hand score to SM-2

After scoring, feed the score into the SM-2 update via the fluent-sm2-calculator skill: quality = floor(score / 2).

Examples

See .claude/references/feedback-template.md for fully-rendered examples (mostly-correct answer with a minor slip; critical error with severity tagging). The reference file is the authoritative version β€” keep it and this skill in sync if updating.

Quick pattern:

  • Fully correct: open with βœ…, skip ❌ block, list 1-2 βœ… strengths, show "Correct version" for echo, score 9-10/10.
  • Mistakes: open with warm ❌, list each correction with severity emoji + category + brief why, show full correct version, score with breakdown if the answer is long.

Critical Rules

  • Always use the template exactly. Deviations break session-file parsing downstream.
  • Severity tag is mandatory on every ❌ line. Drives spaced-repetition priority.
  • One score per answer. Total out of 10, with optional breakdown (grammar/vocab/structure) for long answers like writing tasks.
  • Never skip the "Correct version". Even if perfect, echoing the target form reinforces motor memory.

Why This Matters

Structured, consistent feedback:

  1. Lets the learner scan for what to fix at a glance.
  2. Makes session files parseable so PRACTICE.md analysis + /results mining work.
  3. Populates mistakes-db.json categories cleanly β€” which feeds spaced repetition, which drives the whole system.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.