Observed since 20 Oct, 21:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A local, source-cited course vault for AI agents
Your own course material, on your own machine, as a vault your coding agent can read and cite.
Agent2Learn turns the material available through your own University of Waterloo LEARN account into a durable local vault: original files beside Markdown twins, a stable index, and citations that resolve to ordinary paths and line numbers. Your agent stops guessing about your course and starts quoting it.
This documentation describes Agent2Learn 0.1.9. For the measured macOS workflow, repaired defects, PDF coverage gaps, and still-unverified human/platform checks, see the release validation scope. Automated cross-platform tests are not a claim that every live login or course conversion works.
For most students, use the command for your operating system. In a real terminal it installs Agent2Learn and starts guided setup immediately. If you already have uv, use the uv option below.
macOS and Linux
(installer="$(curl -fsSL https://raw.githubusercontent.com/ManagementMO/agent2learn/main/install.sh)" && bash -c "$installer")
Windows (PowerShell)
irm https://raw.githubusercontent.com/ManagementMO/agent2learn/main/install.ps1 | iex
Already have uv?
Bash or zsh:
uv tool install agent2learn && uv tool run --from agent2learn a2l init
Windows PowerShell:
uv tool install agent2learn; if ($LASTEXITCODE -eq 0) { uv tool run --from agent2learn a2l init } else { throw "Agent2Learn installation failed" }
These uv commands start setup through uv itself, so a newly installed a2l does not need to be
on the current shell's PATH first. uv tool install agent2learn remains the install-only command.
These commands install the published package from PyPI, not an unreleased repository checkout.
Python 3.11–3.14 is supported. If uv selects an older system Python or your shell cannot find
a2l, see setup troubleshooting.
install.sh and install.ps1 install a pinned Agent2Learn release, verify that a2l runs,
and then continue straight into interactive a2l init in the same command. The
macOS/Linux launcher waits for a successful download and preserves your terminal for setup prompts.
If a script runs without a terminal on both ends, such as in CI or a headless agent tool, it stops
after verification and prints the next step instead of setting anything up.
Neither script needs administrator rights or creates a vault, installs agent skills, or opens a browser by itself. Onboarding does those things after showing you a preview and asking; you still complete LEARN sign-in and Duo yourself. Already-open terminals or agents may need to be restarted to pick up the new executable path, but you do not need to repeat completed setup.
a2l init offers to run a2l skills install, which writes the four Agent2Learn skills into the
agent directories it finds, after previewing exactly what it will touch. You can rerun
a2l skills install at any time. When run without --project, the standalone command targets
detected global user-level agent directories by default; use a2l skills install --project PATH
for an explicit project-local install. --global remains available as an explicit spelling of the
default global scope. a2l init continues to offer a separate, explicitly consented project-local
installation for the vault being set up.
Separately, npx skills add ManagementMO/agent2learn is an optional skills-only route through the
skills ecosystem. It does not install the a2l engine — only the skill documents — so the
commands they describe will not exist until you install Agent2Learn itself with one of the three
options above. That route also runs a third-party CLI with its own network behaviour; see
docs/PRIVACY.md.
Once a2l init finishes, talk to your agent normally:
Your agent has the skills to run the right commands. If you would rather drive it yourself:
a2l sync [--all|--priority] metadata, outlines, files, twins, index, snapshot, audit
a2l today deadlines, overdue work, changes, and exam countdowns
a2l diff [--since SNAPSHOT] changes between local sync snapshots
a2l calendar [-o FILE] deterministic deadlines/exams/office-hours .ics export
a2l where QUERY fuzzy topic search across every local term
a2l open COURSE reveal one known course folder
a2l ground COURSE ITEM assemble a cited grounding pack for one assignment
a2l check DRAFT experimental lexical evidence scan of a draft
a2l courses the offline view of your enrolment
a2l fetch SOURCE_ID repair one missing file
a2l auth sign in, or --paste a session, or --clear-profile
a2l doctor diagnose one problem and get one next step
a2l skills install install/refresh global agent skills by default
a2l skills install --project PATH install/refresh project-local agent skills
a2l privacy status collection flags and redacted storage locations
a2l privacy purge CATEGORY preview an exact grades/discussions/logs purge
a2l upgrade [--check] the only command that contacts the network on its own
a2l completions SHELL print a completion script; installs nothing
a2l enable-submit one-time local acknowledgement for uploads
a2l submit COURSE ITEM FILE preview an upload, then require your typed confirmation
It does:
It does not:
a2l upgrade contacts PyPI only when you run it.a2l check reports what lexical retrieval matched in your own
course files, with citations, and says plainly when it found nothing. It does not grade, and no
status it prints means your work is correct, incorrect, or academically acceptable.Agent2Learn is not affiliated with, endorsed by, or supported by the University of Waterloo or D2L Corporation. You are responsible for using it within your course rules and your institution's policies. See DISCLAIMER.md.
| Setting | Default |
|---|---|
| Course files, outlines, assignment metadata | collected |
| Discussions | off |
| Grades | off |
| Uploads to LEARN | disabled in this build, and always confirmation-gated |
| Agent2Learn telemetry | none |
| Passive version or update checks | none |
Turning collection off does not delete what is already on disk; a2l privacy purge does that, and
it previews the exact targets and requires a typed phrase first. Full detail, including every
external request Agent2Learn can make, is in docs/PRIVACY.md.
School protocol and a worked reference.Agent2Learn is available on PyPI.
The latest GitHub release carries the
same verified wheel and source distribution. Use one install command above to start guided setup.
If you are already installed or resuming setup, run a2l init in your terminal.
The project remains in active development. Release checks are documented in docs/LAUNCH.md, including same-device authentication and a fresh supervised upload test before submission capability can be enabled. LEARN uploads remain disabled in this build.
Licensed under Apache-2.0.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.9 | 16 Sept 2026 | 14 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:6241a69cba76729a120ab1f846185b789ae0b57e68758b9f8794d29cf12f9a96