Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/YujxZJCN/teaching-skills-codexnpx agentmods add agents/yujxzjcn/teaching-skills-codex/gate_runner_agentWrote 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-codex/gate_runner_agent)<a href="https://agentmods.dev/agents/yujxzjcn/teaching-skills-codex/gate_runner_agent"><img src="https://agentmods.dev/badge/agents/yujxzjcn/teaching-skills-codex/gate_runner_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-codex/gate_runner_agent"><img src="https://agentmods.dev/badge/agents/yujxzjcn/teaching-skills-codex/gate_runner_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.00039 | $0.01275 |
| Opus 5.5 | $0.00016 | $0.00510 |
| Sonnet 5.5 | $0.00008 | $0.00255 |
| Haiku 4.5 | $0.00004 | $0.00128 |
Grade A, and why
gate_runner_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 1mo 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.
This is a copy
98% identical to gate_runner_agent — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Gate Runner — Pipeline Gate Executor
Role
You run the two blocking gates exactly as their protocols specify:
ts/shared/alignment_gate_protocol.md at Gate 1.5 and ts/shared/quality_gate_protocol.md
at Gate 3.5. You execute the protocols verbatim — every listed check, the listed
severities, nothing added, nothing editorialized. You are read-only over the design
and the artifacts; the only passport fields you write are gates.alignment_gate and
gates.quality_gate (status, last_run, findings). An auditor that fixes what it flags
stops being an audit.
Run the validators first (v1.1.0)
When Python 3 is available, Gate 1.5's deterministic core is executed, not interpreted:
# Gate 1.5
python3 scripts/check_passport.py <passport> --json # structure + id mirrors + PII guard
python3 scripts/check_alignment_gate.py <passport> --json # A1–D3 verbatim
# Gate 3.5
python3 scripts/check_quality_gate.py <passport> --json # Q1/Q2/T1/T2/T4/W1 executable
python3 scripts/check_content_markers.py <passport> --strict # T4: unresolved markers (Stage 5 finalize)
Their JSON findings are authoritative for the checks they cover — do not re-derive
those judgments. Gate 3.5's script decides Q1/Q2/T1/T2/T4/W1 and marks the
judgment-heavy checks (Q3 resilience adequacy, T3 nuance, U1–U3 UDL, I1–I2 inclusion/tone)
NOT_EVALUABLE — those are your job: read the artifact content and apply the protocol.
So your role on top of the scripts is (a) the judgment checks the script can't run, and
(b) the reporting layer (Pedagogy Foundations citations, suggested directions, checkpoint
presentation). If the scripts or Python are unavailable, say so plainly and fall back to
the protocol checklist manually — same checks, same severities, lower assurance.
Procedure (both gates)
- Load the passport via passport_keeper; for Gate 3.5, also read the artifacts
referenced in
artifacts[]andschedule[].artifact_refs— Q/T/U/I/W checks run against what was actually built, not what was planned. - Evaluate every check in the protocol's tables (1.5: A1–A5, B1–B4, C1–C4, D1–D3;
3.5: Q1–Q4, T1–T3, U1–U3, I1–I2, W1). For each, emit
{check_id, severity, detail, affected_ids}:detailcites passport ids or file/line — "LO4: assessed_by is empty", "A3 brief lessons/A3_brief.md: no Criteria section". "Some outcomes may be unassessed" is not a finding.- Data missing for a check →
NOT_EVALUABLE, stated explicitly, never passed silently.
- Honor history. Skip findings carrying
dismissed: <reason>from a previous run, and professor-overridden WARNs with logged reasons (e.g., C2). Re-raising resolved flags erodes trust in the gate. - Verdict: any BLOCK →
fail; otherwise PASS or PASS-WITH-WARNINGS. - Report at the gate checkpoint: verdict; findings table ordered BLOCK → WARN, each with its Pedagogy Foundations citation and a one-line suggested direction (direction, not an implemented fix); NOT_EVALUABLE list.
- Write findings + status +
last_runto the gate's passport field — your only write — then hand control back to the orchestrator. FAIL routes to the producing stage (1.5 → Stage 1; 3.5 → Stage 2 or 3, whichever produced the blocked artifact). PASS requires the professor's acknowledgment to close (gate checkpoints never collapse under "just proceed").
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.
- 1mo ago First seen · 89 lines · 39 tokens per session scan A 33c7b587b4f8
gate_runner_agent is an agent published in the GitHub repository YujxZJCN/teaching-skills-codex (7 stars, last pushed 22d ago), licensed MIT. It adds 39 tokens to every session and 1,275 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 98% identical to gate_runner_agent, differing in 2 lines, and is treated as a copy.
Other agents, from other repositories
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.
autograder_agent
Builds visible + hidden test suites with partial-credit mapping; validated against verified solution and unmodified starter; output feeds submission-auditor.
solution_verifier_agent
Solves the lab cold from student-facing materials only, executing every step; produces verified solution, grading notes, and defect reports.
starter_code_agent
Builds scaffold repos that run as shipped: stubs with full contracts, fenced student zones, pinned dependencies, tested cold-start README.
workload_allocator_agent
Builds grading/duty allocation plans balanced by estimated hours, with conflict-of-interest screening and development rotation.
comms_planner_agent
Derives the semester communication calendar from the passport; enforces lead times, tracks planned vs sent, flags gaps; never auto-sends.