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.
npx skills add Canvas-LMS-MCP/canvas-teacher-mcp --skill git-asmtgit clone --depth 1 https://github.com/Canvas-LMS-MCP/canvas-teacher-mcpWrote 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/skills/canvas-lms-mcp/canvas-teacher-mcp/git-asmt)<a href="https://agentmods.dev/skills/canvas-lms-mcp/canvas-teacher-mcp/git-asmt"><img src="https://agentmods.dev/badge/skills/canvas-lms-mcp/canvas-teacher-mcp/git-asmt/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/skills/canvas-lms-mcp/canvas-teacher-mcp/git-asmt"><img src="https://agentmods.dev/badge/skills/canvas-lms-mcp/canvas-teacher-mcp/git-asmt.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.00126 | $0.01213 |
| Opus 5 | $0.00063 | $0.00607 |
| Sonnet 5 | $0.00025 | $0.00243 |
| Haiku 4.5 | $0.00013 | $0.00121 |
Grade A, and why
git-asmt 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 11d 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.
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.
git-asmt — L1 dispatcher (entry point)
The single door for "make a git coding assignment." It holds no mechanics — it decides ORDER and
routes to the two children. Language = L2 (git-asmt-repo/languages/*); course coords = L3 wrapper.
git-asmt (this — dispatch + order)
├─ git-asmt-repo build solution/tests · audit (§0 fidelity) · prove 100/100 · Starter · hub register
└─ git-asmt-page Canvas assignment page + parts (test-items · per-item points · guide · instruction · prototype)
Order (repo BEFORE page)
The page needs the repo done first — the Request link only resolves once the CODE is registered in the org-hub config, and the page's test-items table + rubric come from the actual tests. So:
git-asmt-repo→ source+tests audited, 100/100 proven, Starter cut, CODE registered in the hub.git-asmt-page→ fill theasmtdict from the same source/instruction →git_page→ upload.
(If the repo is already done in a prior session, confirm it is registered, then go straight to page.)
Shared inputs (passed to both children)
CODE(e.g.A71), the instruction source (Canvas/gDoc/gSlides, via canonical readers), and the L3 course wrapper (course id, org, repo/dir naming,language, chapter→model map). Everything coordinate-shaped comes fromcourse_config.load(<course>); nothing is hardcoded here.
Resolving the instruction source — read the WHOLE assignment page, then compose
When the assignment already exists in Canvas, the spec is not one artifact — it is everything the page carries, and no single part is complete on its own. Read all of it, then compose one instruction from the union:
canvas_rest.fetch_assignment(...)→ the description body text (what the page itself states).- Every EMBEDDED document in that body — a slide deck (follow the iframe's
slide=id.<objectId>to the exact page it points at), an instruction gDoc, a PDF. Read the embedded content, not just the fact that an embed exists. - Every LINKED document — a
[link]to a gDoc/deck/file that is not embedded is still part of the instruction; students open it too.
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.
- 11d ago First seen · 77 lines · 126 tokens per session scan A fd72bf7efb59
git-asmt is a skill published in the GitHub repository Canvas-LMS-MCP/canvas-teacher-mcp (1 stars, last pushed 26d ago), licensed MIT. It adds 126 tokens to every session and 1,213 once invoked, about $0.0006 per session on Opus 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-08-31.
Other skills, from other repositories
magpie-newcomer-issue-explainer
Given an open good-first-issue on the configured repo, explain it in beginner terms and sketch a concrete approach: which files to read first, what "done" looks like, and where to ask follow-up questions — without writing any code or fix. First runs an issue assessment to confirm the issue is open, non-security, and…
github-contributor
Find suitable open-source contribution opportunities and prepare focused GitHub pull requests with project-specific validation and review context.
lesson-close
A workflow for finishing the day's lesson file, recording its status and duration, then saving it to the personal-guide GitHub repository.
stage-and-commit
Stage changed files and create a commit following the repo's translation, formatting, and git workflow rules. Use when the user asks to stage, commit, or both.
textbook-init
A setup assistant for starting a textbook project or a workspace for several textbooks. It asks about the project, creates the directory structure, and can add version control and a README.
conflict-resolver
Résolution de conflits entre agents ou sous-agents quand les résultats sont contradictoires, avec workflow de détection, arbitrage, merge et feedback loop. Se déclenche avec "conflit agent", "agent conflict", "résultats contradictoires", "agent disagreement", "contradiction agents", "arbitrage agent", "résoudre…