Agent skill

Respond To Eval

by pedrohcgs in pedrohcgs/claude-code-my-workflow

Turn student course evaluations (free-text + numeric) into an actionable teaching-improvement plan — the teaching analogue of /respond-to-referees.

MITAuto-check: notesDocuments & Office

Install Respond To Eval

skills CLI
$ npx skills add pedrohcgs/claude-code-my-workflow --skill respond-to-eval -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pedrohcgs/claude-code-my-workflow respond-to-eval --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pedrohcgs/claude-code-my-workflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/respond-to-eval .claude/skills/respond-to-eval && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
respond-to-eval
GitHub stars
1.7k
Token cost
~2.6k tokens
SKILL.md length
1,212 words
Files
1
Skills in repo
59
Repo updated
First seen
Licence
MIT

At a glance

Turn student course evaluations (free-text + numeric) into an actionable teaching-improvement plan — the teaching analogue of /respond-to-referees.

  • Works in 5 steps: Load evals + prior plan (Pre-Flight) → Theme-cluster + weight by frequency → Classify + propose changes → …
  • User says respond to my evals
  • SKILL.md covers When to use, Inputs, Phases and Output / Report, plus 4 more sections
  • Calls pdftotext and pandoc

What it does

Respond To Eval is an agent skill from pedrohcgs/claude-code-my-workflow. 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.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering LLM evaluation, Curriculum and course design and Slides and decks. The repository describes itself as: A ready-to-fork Claude Code template for academics using LaTeX/Beamer + R. Multi-agent review, quality gates, adversarial QA, and replication protocols. The licence is MIT.

When your agent uses it

  • User says respond to my evals
  • What do these course evaluations tell me
  • Turn my teaching feedback into a plan
  • After a semesters evals arrive

Example prompts

  • “respond to my evals”
  • “what do these course evaluations tell me”
  • “turn my teaching feedback into a plan”
  • “/respond-to-eval”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Grep, Glob, Bash, Agent, Task

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Load evals + prior plan (Pre-Flight)
  2. Theme-cluster + weight by frequency
  3. Classify + propose changes
  4. Save the improvement plan
  5. 5: Post-Flight Verification (quotes + targets)

What it can do on your machine

Read from SKILL.md and the folder at commit ae72617. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Grep
    • Glob
    • Bash
    • Agent
    • Task

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pdftotext
    • pandoc

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Respond To Eval loads about 2.6k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 1,212 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Grep, Glob, Bash, Agent, Task

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from pedrohcgs/claude-code-my-workflow at commit ae72617, republished under its MIT licence (© pedrohcgs). 1,212 words, ~2,572 tokens.

Download SKILL.mdSave it as .claude/skills/respond-to-eval/SKILL.md (or your agent's skills folder).
name
respond-to-eval
description
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.
allowed-tools
Read, Write, Grep, Glob, Bash, Agent, Task
argument-hint
[eval-file(s)] [prior-plan-path] [--min-mentions N] [--no-verify]

Respond to Evaluations

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.

When to use

  • End of term, when numeric scores + open-text comments land and you want a revision plan, not a mood.
  • Assembling a teaching dossier / tenure file where you must show you acted on feedback.
  • Mid-stream (early-semester feedback) to course-correct before the term ends.

Not for: writing the syllabus from scratch (use /syllabus), or reviewing one deck's pedagogy (use /pedagogy-review).

Inputs

  • $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?).
FormatHow to read
.csv, .tsv, .txt, .mdRead directly; for CSV, note which column is numeric vs free-text.
.pdfTMP=$(mktemp -d)/evals.txt && pdftotext "$0" "$TMP" (poppler). Read/grep "$TMP".
.docxTMP=$(mktemp -d)/evals.txt && pandoc "$0" -t plain -o "$TMP".

If extraction fails or a tool is missing, ask for a plain-text export and stop. A scanned or partly scanned PDF extracts with exit 0 and blank pages, so also compare pdfinfo "$0" | grep Pages with the pages that returned text (awk 'BEGIN{RS="\f"} NF{n++} END{print n+0}' "$TMP"); read any blank pages directly with Read, or ask for a text version, and if you go on without them, say which pages were not read. When you are done, delete the extracted copy (rm -rf "$(dirname "$TMP")"): it is a plaintext copy of the document.

Phases

Phase 0: Load evals + prior plan (Pre-Flight)

Read the eval file(s) and the prior plan (if given). Produce a short Pre-Flight block before clustering:

markdown
## 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.

Phase 1: Theme-cluster + weight by frequency
  1. Split free-text into atomic comments (one student may raise several themes; one comment may belong to several themes).
  2. Cluster into themes (e.g., pacing, problem-set difficulty, grading clarity, real-world relevance, office hours, prerequisite gaps). Name each theme in the instructor's words, not the student's.
  3. For each theme record: mention count (distinct students), representative verbatim quote (~25 words, anonymized — strip names/identifying detail), valence (positive / negative / mixed), and numeric corroboration (which scale item, if any, moves with it).
  4. Signal vs noise: a theme with < --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.
Phase 2: Classify + propose changes

Assign each theme exactly one label (the teaching analogue of /respond-to-referees' coverage matrix):

LabelMeaningDrives
KeepWorking well; protect it from collateral damage when you change other things.A "do not break" note.
ChangeClear, agreed problem with a concrete fix you can name.A specific syllabus/deck edit.
InvestigateReal 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-scopeOutside 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.

Show full SKILL.md (476 more words)Show less
Phase 3: Save the improvement plan

Write the plan to quality_reports/teaching/YYYY-MM-DD_[course]_improvement-plan.md. Structure:

  1. Header — course, term, instrument, response rate, numeric summary vs benchmark.
  2. Prior-plan retrospective (if $1 given) — for each change promised last term: Landed / Partial / Not done, with the evidence from this term's evals.
  3. Theme matrix — one row per theme: theme · mentions · valence · numeric corroboration · classification · target (syllabus §/deck slide) · representative quote.
  4. Change list — the concrete edits, ordered by mention count then severity, each pointing at a syllabus section or deck/slide.
  5. Investigate list — open questions + the evidence to collect next.

The plan is a deliverable, not a transient report, so it lives under quality_reports/teaching/ and feeds next term's $1.

Phase 3.5: Post-Flight Verification (quotes + targets)

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 fresh-context verifier protocol in .claude/rules/post-flight-verification.md: spawn claim-verifier (fresh context, never a conversation 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).

Output / Report

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.

Exit behavior

  • A theme with no classification halts the report — there are no orphans, exactly as /respond-to-referees admits no unclassified concern.
  • Read-only on the syllabus and decks: this skill plans edits and writes the plan file; it does not edit teaching materials. Apply changes deliberately afterward (with /create-lecture or direct edits).
  • Numbers never auto-override text and text never auto-overrides numbers; conflicts become Investigate, not a silent winner.

Flags

  • --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.

Cross-references

What this skill does NOT do

  • It does not edit the syllabus or any deck — it produces a plan; you (or /create-lecture) apply it.
  • It does not compute new numeric scores or re-weight the instrument; it reads the institution's numbers as given.
  • It does not identify students or attempt to de-anonymize comments — quotes are stripped of identifying detail.
  • It does not auto-act on disagreement or on a single comment; both route to Investigate or a documented rationale.

© pedrohcgs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/respond-to-eval of pedrohcgs/claude-code-my-workflow.

Open the folder on GitHubat commit ae72617

Compare with similar skills

Respond To Eval next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Respond To Eval compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Respond To Eval this skillpedrohcgs/claude-code-my-workflow1.7k—~2.6kAutomated safety check: NotesMIT
Lineage SkillJuneYaooo/lineage-skill453—~3.3kAutomated safety check: NotesApache-2.0
HTML Ppt Course Modulesanqiufong/slides-from-anything132—~1.1kAutomated safety check: PassApache-2.0
OpenMAIC Deck Style CloneTHU-MAIC/OpenMAIC40k—~4.9kAutomated safety check: PassMIT
Mira Post Itsandeco/mira-animator218—~4.5kAutomated safety check: PassCustom licence
Paw Ps Knowledge Executorpawbytes/skill-suites113—~1.8kAutomated safety check: PassMIT

Similar skills

  • Lineage Skill

    JuneYaooo/lineage-skill

    Turn courses, books, video, audio, PDFs, slides, transcripts, OCR, notes, and long-form materials into source-grounded learning Skills that teach unseen concepts progressively with reliable terminal…

    453 GitHub stars~3.3k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check: notes
  • HTML Ppt Course Module

    sanqiufong/slides-from-anything

    Online-course / workshop module deck — warm paper background + Playfair serif, persistent left sidebar of learning objectives, MCQ self-check page.

    132 GitHub stars~1.1k tokensUpdated yesterday
    EducationAuto-check passed
  • OpenMAIC Deck Style Clone

    THU-MAIC/OpenMAIC

    Produces a new course in the look of an imported deck by copying the layout that fits each page and rewriting that copy's content element by element.

    40k GitHub stars~4.9k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Mira Post It

    sandeco/mira-animator

    Mural de POST-ITS AO VIVO no Mira, em dois slides: no primeiro a pergunta com um QR-code, no segundo cada resposta em TEXTO LIVRE da plateia vira um post-it que cola na parede, um a um.

    218 GitHub stars~4.5k tokensUpdated 26 days ago
    Documents & OfficeAuto-check passed
  • Paw Ps Knowledge Executor

    pawbytes/skill-suites

    Builder of knowledge products such as courses, ebooks, guides, memberships, and educational assets.

    113 GitHub stars~1.8k tokensUpdated 7 days ago
    Documents & OfficeAuto-check passed
  • Cn Promotion Defence

    mohitagw15856/pm-claude-skills

    Prepare a promotion defence (晋升答辩) for a level-based promotion process common at Chinese technology companies: the materials, the presentation structure, the evidence for the next level, and a…

    1.4k GitHub stars~972 tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from pedrohcgs/claude-code-my-workflow

All 59 skills in this repo
  • Devils Advocate

    pedrohcgs/claude-code-my-workflow

    Adversarial 5-7 question challenge to a deck's pedagogical choices — ordering, prerequisites, cognitive load, motivation.

    1.7k GitHub starsUsed in 2 repos~641 tokens
    Auto-check passed
  • Vaccinate

    pedrohcgs/claude-code-my-workflow

    Qualify a check before it is allowed to clear anything — prove it can detect the failure it is meant to catch.

    1.7k GitHub stars~2.1k tokensUpdated 13 days ago
    Auto-check: notes
  • Compile Latex

    pedrohcgs/claude-code-my-workflow

    Compile a Beamer LaTeX slide deck with XeLaTeX (3 passes + bibtex).

    1.7k GitHub starsUsed in 1 repo~492 tokens
    Auto-check: notes
  • Context Status

    pedrohcgs/claude-code-my-workflow

    Show current context status and session health. An agent skill from pedrohcgs/claude-code-my-workflow.

    1.7k GitHub starsUsed in 1 repo~613 tokens
    Auto-check: notes
  • Capture Environment

    pedrohcgs/claude-code-my-workflow

    Snapshot the computational environment for a replication package — detects the analysis stack (R / Stata / Python) and emits the right lockfiles (renv.lock + sessionInfo.txt, requirements.txt /…

    1.7k GitHub stars~2.8k tokensUpdated 13 days ago
    Auto-check: notes
  • Checkpoint

    pedrohcgs/claude-code-my-workflow

    Save a structured state snapshot before stopping or handing off.

    1.7k GitHub stars~2.8k tokensUpdated 13 days ago
    Auto-check: notes

Questions about Respond To Eval

What does Respond To Eval do?

Turn student course evaluations (free-text + numeric) into an actionable teaching-improvement plan — the teaching analogue of /respond-to-referees. Respond To Eval is an agent skill from pedrohcgs/claude-code-my-workflow. Turn student course evaluations (free-text + numeric) into an actionable teaching-improvement plan — the teaching analogue of /respond-to-referees.

When should I use Respond To Eval?

Respond To Eval fits situations like: user says respond to my evals; what do these course evaluations tell me; turn my teaching feedback into a plan; after a semesters evals arrive.

How do I install Respond To Eval in Claude Code?

Run `npx skills add pedrohcgs/claude-code-my-workflow --skill respond-to-eval -a claude-code`. Or copy the skill folder (.claude/skills/respond-to-eval in pedrohcgs/claude-code-my-workflow) into .claude/skills/respond-to-eval in your project. Claude Code loads it when a task matches its description.

How do I install Respond To Eval in Codex?

Run `npx skills add pedrohcgs/claude-code-my-workflow --skill respond-to-eval -a codex`. Or copy the skill folder (.claude/skills/respond-to-eval in pedrohcgs/claude-code-my-workflow) into .agents/skills/respond-to-eval in your project. Codex loads it when a task matches its description.

Can I use Respond To Eval in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pedrohcgs/claude-code-my-workflow --skill respond-to-eval -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/respond-to-eval, .gemini/skills/respond-to-eval, .github/skills/respond-to-eval and .opencode/skills/respond-to-eval in your project.

What does Respond To Eval need to run?

Going by SKILL.md and its folder, Respond To Eval needs the command-line tools its instructions call (pdftotext and pandoc). Its frontmatter pre-approves these tools: Read, Write, Grep, Glob, Bash, Agent, Task.

Does Respond To Eval access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Respond To Eval safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Respond To Eval use?

Respond To Eval is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Respond To Eval use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Respond To Eval?

Skills that share tags, products or a category with Respond To Eval: Lineage Skill (JuneYaooo/lineage-skill, 453 stars), HTML Ppt Course Module (sanqiufong/slides-from-anything, 132 stars), OpenMAIC Deck Style Clone (THU-MAIC/OpenMAIC, 40k stars) and Mira Post It (sandeco/mira-animator, 218 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Respond To Eval?

pedrohcgs (a GitHub user) maintains it in pedrohcgs/claude-code-my-workflow, which has 1,655 GitHub stars. The repository holds 59 skills in this directory. The repository was last updated on September 27, 2026.

Source: pedrohcgs/claude-code-my-workflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.