zulip-mark-feedback

Automate Zulip homework grading and feedback delivery via DMs.

7|3|Updated May 8, 2026
One-click install
npx skills add https://github.com/TDAA-Go/TDAA-Go --skill zulip-mark-feedback
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zulip-mark-feedback
Source: https://github.com/TDAA-Go/TDAA-Go/tree/main/.claude/skills/zulip-mark-feedback
Command: npx skills add https://github.com/TDAA-Go/TDAA-Go --skill zulip-mark-feedback

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires zulip, requests, and includes scripts (resource) components.

What problem does it solve?

This skill automates the end-to-end Zulip-based grading workflow: pulling students' submitted photos from Zulip DMs into weekN/submissions, routing to the grader, generating an optional report, and delivering per-question feedback via DMs.

Core Features & Use Cases

  • End-to-end grading orchestration: pull submissions from Zulip, delegate to the grader (/grade-homework), optionally generate a report (/homework-report), and send per-question feedback DMs.
  • Robust handling of unknown senders: unknown senders are surfaced for roster updates and can be added to the roster, ensuring all participants can receive feedback.
  • Idempotent, auditable workflow: state files such as weekN/zulip-pull.json and weekN/zulip-feedback-sent.json ensure safe re-runs and incremental processing.
  • Prerequisites and safety: requires /setup-zulip-grading and a roster at coursedesign/roster.csv; guards against missing bot config or roster entries.

Quick Start

Run the weekly Zulip grading workflow for a given week to pull submissions, grade them, optionally generate a report, and DM per-question feedback to students.

Frequently Asked Questions about zulip-mark-feedback

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate homework grading and feedback delivery through Zulip DMs?

Zulip grading automation orchestrates the end-to-end workflow by pulling student photo submissions from DMs, routing them to a grader, and sending per-question feedback back to students directly via Zulip. It requires a configured Zulip bot and a populated course roster.

What is the best way to handle unknown senders when collecting homework submissions from Zulip?

Handling unknown senders during Zulip homework collection surfaces unregistered users for roster updates, allowing instructors to add them so all participants can receive grading feedback. This ensures no submissions are lost due to missing roster entries.

Do I need a specific directory structure to automate weekly course grading with Zulip?

Yes, weekly Zulip grading automation requires week-based directories to organize submissions and state files. It uses a populated roster at coursedesign/roster.csv and configuration files like .zuliprc to process batches safely.

Can I safely re-run Zulip feedback automation without sending duplicate messages to students?

Yes, Zulip feedback automation is idempotent and auditable, using state files like zulip-feedback-sent.json to track processed submissions. This ensures safe re-runs and incremental processing without sending duplicate grading DMs.

How to resend feedback to students who did not receive their homework grading results in Zulip?

You can resend missing homework feedback in Zulip by running the grading workflow with the --resend flag. This utilizes the existing state files to identify students who have not yet received their per-question feedback DMs.

What are the limitations of automating course grading via Zulip bots?

Zulip grading automation guards against missing bot configurations or empty roster entries, requiring strict prerequisites like /setup-zulip-grading. It cannot process submissions from unknown senders until the instructor manually updates the course roster.