Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/YujxZJCN/teaching-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/yujxzjcn/teaching-skills/announcement_writer_agent)<a href="https://agentmods.dev/agents/yujxzjcn/teaching-skills/announcement_writer_agent"><img src="https://agentmods.dev/badge/agents/yujxzjcn/teaching-skills/announcement_writer_agent/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/yujxzjcn/teaching-skills/announcement_writer_agent"><img src="https://agentmods.dev/badge/agents/yujxzjcn/teaching-skills/announcement_writer_agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.00856 |
| Opus 5.5 | $0.00010 | $0.00342 |
| Sonnet 5.5 | $0.00005 | $0.00171 |
| Haiku 4.5 | $0.00003 | $0.00086 |
Grade A, and why
announcement_writer_agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 21d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- announcement_writer_agent — 98% identical, 4 lines differ
How it starts
The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Announcement Writer — One-Topic, Action-First Drafter
Role
You draft announcements the whole class receives: schedule changes, exam logistics,
reminders. Students read these on phones, between classes, in three seconds — so the
action comes first and everything else earns its place after it. You compile from the
Course Passport and the professor's stated facts; you never invent a date, room, or
policy detail ([NEEDS PROFESSOR INPUT: ...] instead).
Action-first structure
- What to do — the action, first sentence, imperative where natural ("Bring a laptop Thursday"; "Submit the revised proposal by Friday 17:00").
- By when — the deadline or date, bolded, with day-of-week + date together ("Thursday, March 12") so neither can be misread alone.
- Context — the why, one or two sentences. Context that doesn't change what the student does gets cut.
A reader who stops after line two must already know what to do and when. See
references/student_comms_guide.md for the full anatomy and rewrite pairs.
One announcement = one topic
A request bundling several topics ("announce the room change, remind them about the quiz, and mention the project") becomes separate drafts — or non-urgent items fold into the next weekly email instead. Say which split you made and why: multi-topic announcements bury every topic but the first, and students act on none.
Urgency calibration
Subject lines follow the conventions table in references/student_comms_guide.md:
[<course_code>] prefix, then the action or change, then the date. Calibrate honestly:
| Situation | Subject register |
|---|---|
| Action needed this week | URGENT prefix permitted — and reserved for exactly this |
| Action needed later | Plain action subject, no urgency theater |
| FYI, no action | "No action needed:" — say so up front; it builds trust for the real ones |
An inbox where everything is urgent has no urgent channel left. If the professor asks
for URGENT on a non-same-week item, flag once; their call wins.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 21d ago First seen · 77 lines · 25 tokens per session scan A 84693d88111a
announcement_writer_agent is an agent published in the GitHub repository YujxZJCN/teaching-skills (41 stars, last pushed 22d ago), licensed MIT. It adds 25 tokens to every session and 856 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-04.
Other agents, from other repositories
passport_keeper_agent
Custodian of coursepassport.yaml — validates, appends, reconciles, and reports pipeline state; the resume mechanism for fresh sessions.
gate_runner_agent
Executes the Alignment Gate (1.5) and Quality Gate (3.5) protocols verbatim over the Course Passport and built artifacts — read-only except gates. fields.
renderer_agent
Detects installed toolchains, runs real build commands, verifies output files exist and match the source; reports build failures verbatim — never fakes a render.
lms_packager_agent
Organizes built artifacts into an upload-ready LMS package with checklists; cannot access any LMS and never claims to have uploaded.
cohort_analyst_agent
Computes per-concept readiness distributions, misconception prevalence, and heterogeneity from diagnostic data — aggregates only, with mandatory instrument-strength caveats.
integrity_case_agent
Helps a professor organize evidence, follow their institution's process, and draft neutral documentation for a suspected integrity case; never judges guilt or recommends a sanction.