Turn student course evaluations (free-text + numeric) into an actionable teaching-improvement plan — the teaching analogue of /respond-to-referees. Clusters comments into themes, separates signal from noise, classifies each theme Keep / Change / Investigate / Out-of-scope, and drafts concrete changes mapped to the syllabus and slide decks. Use when user says "respond to my evals", "what do these course evaluations tell me", "turn my teaching feedback into a plan", or after a semester's evals arrive.
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill respond-to-eval
Convert a semester's course evaluations into a defensible teaching-improvement plan. Cluster free-text comments into themes, weight each theme by how many independent students raised it, classify what to do about it, and draft specific changes pointed at the syllabus and deck — so next semester's revision is a checklist, not a vibe.
Posture (echoes /respond-to-referees): one angry comment is not a trend, and a comment you disagree with is a signal to *investigate*, not a license to ignore or to auto-act. A single student's frustration may be the only one willing to say what twenty felt — frequency weights the theme, it does not gate it. Ground truth here is a process: the plan records *why* a theme was kept or changed, so the reasoning survives to the next round.
Not for: writing the syllabus from scratch (compose with /create-lecture and a course outline), or reviewing one deck's pedagogy (use /pedagogy-review).
$0 — the evaluation file(s): a CSV/TSV export, .txt/.md of pasted comments, or a .pdf/.docx report.$1 (optional) — the prior improvement plan, so this round is a diff (did last term's changes land?).| Format | How to read |
| --- | --- |
| .csv, .tsv, .txt, .md | Read directly; for CSV, note which column is numeric vs free-text. |
| .pdf | TMP=$(mktemp -t evals).txt && pdftotext "$0" "$TMP" (poppler). Read/grep "$TMP". |
| .docx | TMP=$(mktemp -t evals).txt && pandoc "$0" -t plain -o "$TMP". |
If extraction fails or a tool is missing, ask for a plain-text export and stop.
Read the eval file(s) and the prior plan (if given). Produce a short Pre-Flight block before clustering:
## Pre-Flight Report
**Evals loaded:** N responses (M with free-text), instrument: [name/term]
**Numeric items:** [list each scale item + mean, and the institution/department mean if present]
**Prior plan:** [path, or "none — first round"] — changes promised last term: [bullet list]
**Course artifacts in scope:** [syllabus path] · [deck(s) under Slides/ or Quarto/]
Numbers anchor the read but do not override text: a 4.2/5 with ten "I was lost by week 6" comments is a problem the mean is hiding.
< --min-mentions (default 2) distinct students is tagged low-frequency, not dropped — it carries to Phase 2 for a Keep/Investigate call. Frequency weights; it never silences.Assign each theme exactly one label (the teaching analogue of /respond-to-referees' coverage matrix):
| Label | Meaning | Drives |
| --- | --- | --- |
| Keep | Working well; protect it from collateral damage when you change other things. | A "do not break" note. |
| Change | Clear, agreed problem with a concrete fix you can name. | A specific syllabus/deck edit. |
| Investigate | Real signal but root cause unclear, or you disagree with the proposed remedy — gather evidence (a mid-term pulse poll, a look at the grade distribution, peer observation) before acting. | An investigation step, not an edit. |
| Out-of-scope | Outside your control (room, time slot, required textbook, prerequisite course) or contrary to a deliberate pedagogical choice you stand behind. | A documented rationale, not a change. |
For each Change, write a concrete revision mapped to a target: syllabus §X / Slides/LectureNN.tex slide K / a new worked example / an assessment reweighting — the same point-to-the-location discipline /respond-to-referees uses for "we added X on page Y". For Investigate, name the evidence you'll collect and the decision rule. For Out-of-scope, write the one-sentence rationale you'd stand behind in a dossier.
Disagreement is explicit and reasoned: "Students asked to drop proofs; retained because the course's stated objective is derivation fluency — added two scaffolded worked examples (LectureNN slide K) to ease the on-ramp instead" is a Keep-with-mitigation, not an Out-of-scope dismissal.
Write the plan to quality_reports/teaching/YYYY-MM-DD_[course]_improvement-plan.md. Structure:
$1 given) — for each change promised last term: Landed / Partial / Not done, with the evidence from this term's evals.The plan is a deliverable, not a transient report, so it lives under quality_reports/teaching/ and feeds next term's $1.
The plan's hallucination-prone content is (a) verbatim quotes attributed to students and (b) "edit syllabus §X / LectureNN slide K" targets that must actually exist. Run the forked-verifier protocol in .claude/rules/post-flight-verification.md: spawn claim-verifier (context: fork) with the quotes + the eval source and the edit-targets + the syllabus/deck paths. Reconcile — a quote that isn't in the source, or a "slide K" that doesn't exist, is corrected or dropped before the plan is final. Opt-out: --no-verify (not recommended).
After writing the plan, surface this in your final chat message (not inside the plan file):
## Teaching-improvement summary — [course], [term]
Themes: K total — C Change · I Investigate · P Keep · O Out-of-scope
Top 3 changes (by mentions): 1) … 2) … 3) …
Open investigations: …
Prior plan: x of y promised changes landed.
If all themes are classified and every Change names a target, say All themes classified; every Change mapped to a syllabus or deck target.
/respond-to-referees admits no unclassified concern./create-lecture or direct edits).--min-mentions — distinct-student threshold below which a theme is tagged *low-frequency* (default 2). Lowering it surfaces more singletons; it never drops them.--no-verify — skip Phase 3.5 Post-Flight Verification of quotes and edit-targets. Not recommended for a dossier-bound plan..claude/skills/respond-to-referees/SKILL.md — the research analogue; this skill borrows its map-classify-respond shape and "signal to investigate, not auto-act" posture..claude/skills/pedagogy-review/SKILL.md — once a Change targets a specific deck, run pedagogy-review on it before re-teaching..claude/skills/create-lecture/SKILL.md — to execute deck-level changes the plan proposes..claude/rules/post-flight-verification.md — the forked-verifier protocol Phase 3.5 reuses.templates/skill-template.md — house style for skills./create-lecture) apply it.VitePress static site generator powered by Vite and Vue. Use when building documentation sites, configuring themes, or writing Markdown with Vue components.
> organizing neuroscience and biomedical data (MRI, EEG, MEG, iEEG, PET, microscopy, NIRS, motion capture, EMG, MR spectroscopy, behavioral), querying BIDS layouts, validating compliance, converting DICOM to BIDS, writing metadata sidecars, or creating BIDS derivatives.
Complete Shopify development reference covering Liquid templating, OS 2.0 themes, GraphQL APIs, Hydrogen, Functions, and performance optimization (API v2026-01). Use when working with .liquid files, building Shopify themes or apps, writing GraphQL queries for Shopify, debugging Liquid errors, creating app extensions, migrating from Scripts to Functions, or building headless storefronts. Triggers on "Shopify", "Liquid template", "Hydrogen", "Storefront API", "theme development", "Shopify Functions", "Polaris". Do NOT use for non-Shopify e-commerce platforms.
Use this skill when you need to write code for a page layout in the Next.js
One-click contribution flow for Open Design (nexu-io/open-design) — even for non-coders. Pick one of four cards (ship a Skill or Design System you made with OD; translate docs; fix a typo / write a blog; report a bug), the agent validates and opens a PR (or issue) for you. Trigger words contribute to open design, ship my OD skill, ship my OD design system, translate OD docs, report an OD bug, od-contribute.
Use when creating, editing, or generating draw.io diagram files (.drawio, .drawio.svg, .drawio.png). Covers mxGraph XML authoring, shape libraries, style strings, flowcharts, system architecture, sequence diagrams, ER diagrams, UML class diagrams, network topology, layout strategy, the hediet.vscode-drawio VS Code extension, and the full agent workflow from request to a ready-to-open file.
>- component folder structure, styled-components, hooks, named exports, barrel files, layout components, and theme usage. Use when editing any file under redisinsight/ui/**, writing or modifying React components, Redux slices, styled-components, custom hooks, or when the user mentions UI, frontend, React, Redux, or styled-components.
Convert Markdown to WeChat Official Account HTML, inspect supported providers/themes/prompts, generate article images, create drafts, write with creator styles, prepare title suggestions, and remove AI writing traces.
Take pedrohcgs/respond-to-eval from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.