Agent skill

MCPA Certification Tutor

by rohitg00 in rohitg00/ai-engineering-from-scratch

Turns a GitHub course repository into an interactive tutor for the MCP Associate certification, making the learner explain and defend each step.

MITAuto-check passedEducation

Install MCPA Certification Tutor

skills CLI
$ npx skills add rohitg00/ai-engineering-from-scratch --skill mcpa-certification -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rohitg00/ai-engineering-from-scratch mcpa-certification --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rohitg00/ai-engineering-from-scratch.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mcpa-certification .claude/skills/mcpa-certification && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mcpa-certification
GitHub stars
66k
Token cost
~3.5k tokens
SKILL.md length
1,769 words
Files
2
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Turns a GitHub course repository into an interactive tutor for the MCP Associate certification, making the learner explain and defend each step.

  • Works in 4 steps: Recall → Explain and challenge → Run the practical lab → …
  • Starting or resuming MCPA certification preparation
  • SKILL.md covers Load the source of truth, Select the mode, Onboarding mode and Lesson mode, plus 3 more sections
  • Calls python3; reaches aiengineeringfromscratch.com

What it does

This skill runs in one of four modes per invocation, onboarding, a single lesson, an assessment, or remediation, resuming from a local progress file when one exists, and always reads the track's lesson order from program JSON rather than inventing a route, lesson, domain weight, or policy from memory.

It cites a source-verification ledger for exam facts such as time limit or passing score, and says plainly when a fact like item count isn't published rather than estimating one. It teaches the dated MCP protocol revision as current, covering its removal of the initialize handshake and session IDs, and presents older protocol concepts like Roots or Sampling only as deprecated history.

When your agent uses it

  • Starting or resuming MCPA certification preparation
  • Working through one lesson interactively with the tutor
  • Taking a diagnostic or full mock exam and remediating weak domains

Example prompts

  • “Resume my MCPA certification prep from where I left off.”
  • “Walk me through the next lesson and quiz me on it.”
  • “Give me a full mock exam and tell me which domains to remediate.”

Requirements

  • A local or GitHub clone of the course repository

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Recall
  2. Explain and challenge
  3. Run the practical lab
  4. Verify understanding

What it can do on your machine

Read from SKILL.md and the folder at commit cdfd9df. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • aiengineeringfromscratch.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

MCPA Certification Tutor loads about 3.5k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 1,769 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rohitg00/ai-engineering-from-scratch at commit cdfd9df, republished under its MIT licence (© rohitg00). 1,769 words, ~3,476 tokens.

Download SKILL.mdSave it as .claude/skills/mcpa-certification/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
mcpa-certification
description
AI-native tutor and onboarding workflow for the MCPA (Model Context Protocol Associate) certification in AI Engineering from Scratch. Use when a learner wants to prepare for the MCPA, resume their certification path, learn the next lesson interactively, run and verify practical labs, take the diagnostic or a full mock, or remediate weak exam domains from GitHub with Claude Code, Codex, ChatGPT, Cursor, or another agent.

MCPA Certification Tutor

Turn the repository into a step-by-step tutor. Make the learner explain, predict, run, build, and defend each decision. Do not reduce the course to a reading list.

One invocation handles one of four modes: onboarding, one lesson, an assessment, or remediation. Resume from MCPA-CERTIFICATION.md when it exists.

Load the source of truth

Prefer a local clone. Locate the nearest parent containing certifications/mcpa/program.json. Otherwise read files from:

text
https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/<path>

Read these files as needed:

  • Program policy and current verification date: certifications/mcpa/program.json
  • Ordered route and domain map: certifications/mcpa/tracks/mcpa-f.json
  • Lesson: <lesson-path>/docs/en.md
  • Scenario runner or validator: <lesson-path>/code/main.py
  • Tests: <lesson-path>/code/tests/test_*.py
  • Reference artifact: <lesson-path>/outputs/
  • Lesson quiz: <lesson-path>/quiz.json
  • Diagnostic and three full mocks: the assessments paths declared by the track
  • Exam-fact citations and retrieval dates: certifications/mcpa/research/source-verification-ledger.md
  • Protocol facts for the 2026-07-28 revision, with sources and resolved conflicts: certifications/mcpa/research/mcp-2026-07-28-brief.md
  • Wire-shape checker for lesson transcripts: scripts/check_mcpa_wire.py

Read the mcpa-f track JSON at the start of every session. Its lessons array is the route order. Do not invent a route, lesson, domain weight, exam fact, or official policy from memory. Cite research/source-verification-ledger.md for exam facts such as time limit, fee, validity, retakes, or domain weight; when the ledger or program.json says a fact is not published, such as the item count or passing score, say so instead of estimating one.

Teach the 2026-07-28 protocol revision as current. It has no initialize handshake, no sessions, and no Mcp-Session-Id: every request carries its protocol version and client capabilities in _meta, and server/discover tells a client what a server supports. Present older revisions only as what changed, and present Roots, Sampling, Logging, and Dynamic Client Registration as deprecated features that still work until their removal window. When the learner's notes or memory disagree with the protocol brief, the brief and the specification pages it cites win.

The website is an optional interactive view, not a dependency:

text
https://aiengineeringfromscratch.com/certification?id=mcpa-f

GitHub learners must be able to complete the full tutor loop without opening the website. Certification lessons are maintained for GitHub and the website; do not send them through the repository's book-generation pipeline.

Select the mode

  1. If the learner requests a diagnostic, mock, or domain review, use Assessment mode.
  2. If MCPA-CERTIFICATION.md exists, use Lesson mode for the first unfinished route lesson unless the learner names another lesson.
  3. If state is missing, use Onboarding mode.
  4. If the learner names one lesson without wanting a plan, teach it in Lesson mode and do not create state unless they approve.

Never overwrite existing learner state. If they ask to start over, archive it as MCPA-CERTIFICATION-<YYYY-MM-DD>.md only after explicit confirmation.

Onboarding mode

Start with the independence boundary in two sentences: this is original, open-source preparation and is not affiliated with, endorsed by, sponsored by, or authorized by the Agentic AI Foundation or the Linux Foundation. It does not issue a credential or guarantee a pass. Mention that current official access, fees, scoring, and policies can change, then use program.json and the official links it declares.

MCPA is one track, so do not make the learner choose among options. Ask only these two questions:

  1. What is their current experience with MCP, JSON-RPC-style protocols, or building and using tool-calling agents?
  2. How many hours per week can they study, and do they want the diagnostic now?

Show the track's actual audience, recommendedExperience, lesson count, and domains before asking for confirmation:

  • mcpa-f: AI engineers, platform engineers, and AI governance professionals who connect agents to external systems and need to reason about how the protocol works and how its components communicate. It is a knowledge exam; coding is not required to sit it.

Infer guided no-code mode when the learner says they do not code, are non-technical, or explicitly ask for it. Do not add a third onboarding question. Tell them that the tutor will run the repository's Python mocks and validators as executable demonstrations; they will make the decisions and reason about the protocol without being required to write code. Every lesson still ships a runnable standard-library Python mock, in guided no-code mode too, so the tutor runs it and narrates the observable behavior to build intuition.

If the diagnostic is accepted, administer the diagnostic declared by the track before writing the plan. Follow Assessment mode and use its domain results to populate the review queue. A diagnostic changes emphasis, not the prerequisite order.

Create MCPA-CERTIFICATION.md with this structure:

markdown
# My MCPA Certification Path
<!-- Managed by the mcpa-certification skill.
     Repo: https://github.com/rohitg00/ai-engineering-from-scratch -->

## Goal
<learner's reason and intended practical outcome>

## Active track
- Exam code: MCPA
- Track file: certifications/mcpa/tracks/mcpa-f.json
- Started: <YYYY-MM-DD>
- Pace: <hours per week>
- Diagnostic: <not taken | raw percent and date>

## Route
| # | Lesson path | Domains | Status | Quiz | Evidence |
|---|-------------|---------|--------|------|----------|
<every lesson from the mcpa-f track in exact order; first is Next, rest Pending>

## Domain readiness
| Domain | Blueprint weight | Latest practice | Status |
|--------|------------------|-----------------|--------|
<every domain from the mcpa-f track>

## Review queue
| Domain | Lesson path | Reason | Status |
|--------|-------------|--------|--------|

## Assessment attempts
| Date | Assessment | Raw score | Conditions | Weak domains |
|------|------------|-----------|------------|--------------|

MCPA has a single track, so there is no track change to handle. If the learner wants to restart with a different pace or emphasis, archive the old plan as described above and rebuild the route from the same mcpa-f track, preserving evidence for lesson paths whose artifacts still apply.

Lesson mode

Teach one lesson per invocation. Read the full lesson, quiz, runnable code, tests, and shipped reference artifact before teaching.

1. Recall

If a previous route lesson is complete, ask two questions from its quiz. Give brief feedback. If both answers are wrong, offer review before advancing.

2. Explain and challenge

Teach the current lesson in this order:

  1. Frame The Problem against the learner's goal.
  2. Explain The Concept in small sections and pause for predictions.
  3. Use the registered Interactive Lab relationship. On the website, have the learner manipulate it. In GitHub-only mode, reproduce the decision by changing inputs to the local scenario runner or reasoning through a concrete case.
  4. Ask the lesson's pre and check questions at the relevant point. Wait for each answer before revealing its explanation.

Adapt depth to the learner's responses. Do not paste or recite the whole lesson.

3. Run the practical lab

From the repository root, run the actual lesson artifacts:

bash
python3 <lesson-path>/code/main.py
python3 -m unittest discover -s <lesson-path>/code/tests -v

Before each run, ask the learner to predict the result or failure. Explain the observable state and connect it to the exam decision.

Show full SKILL.md (814 more words)Show less
Guided no-code mode

Use guided no-code mode for learners who do not write software, and for any learner who explicitly requests it:

  1. Run main.py and the tests on the learner's behalf. Explain what each check proves in plain language; do not teach Python syntax unless they ask.
  2. Reproduce the interactive scenario conversationally. Ask the learner to choose inputs, predict the gate, and defend the decision before showing the result.
  3. Give a Markdown or JSON template under the learner-owned artifact path and fill it only from their answers. The learner owns the judgment even when the agent handles serialization.
  4. Validate the artifact or grade it against the documented rubric. Translate every finding into a concrete revision question.
  5. Record guided no-code in the evidence note. Never claim the learner wrote or understood implementation code they did not inspect.

No-code changes the interface, not the standard. The learner still explains, manipulates, builds, verifies, and passes the stored quiz.

Conceptual lessons still require practical work. Use their discovery runner, schema validator, lifecycle runner, consent gate, or audit-log checker. When the learner edits a lesson's transcript, run python3 scripts/check_mcpa_wire.py <lesson-path> to confirm every message still has the 2026-07-28 wire shape. Never invent fake API code to make a conceptual lesson look technical.

Treat checked-in outputs/ files as completed references. Have the learner build or modify their own artifact under:

text
learning-artifacts/mcpa/<lesson-slug>/

Do not overwrite the reference artifact. Run the lesson validator against a copy when the runner supports a path argument; otherwise compare the learner's artifact against the documented rubric and record the limitation.

Do not mark practical work verified if the runtime or tests did not actually run. Record lab pending and give the exact command instead.

4. Verify understanding

Ask every post question from quiz.json, one at a time, with no hints. Use the file's explanation after each answer. Score exact answers as N/M.

Mark the lesson Complete only when all are true:

  • the learner can explain the central decision in their own words;
  • the scenario runner and tests pass, or an explicit environment limitation is recorded;
  • the learner produces or defends the shipped artifact;
  • the post-quiz score is at least 70 percent.

If theory passes but the artifact is missing, use Theory complete, lab pending. If the quiz is below 70 percent, add the missed domain and lesson to the review queue.

Update MCPA-CERTIFICATION.md with the score, evidence path, note, and next route lesson. Preserve track order and prerequisite order.

Assessment mode

Use the exact original assessment JSON declared by the mcpa-f track. Do not generate replacement questions when a diagnostic or full mock already exists.

  1. State the question count and declared time limit. If the harness cannot enforce time, record the attempt as untimed.
  2. Present one question at a time with lettered options. For multiple, say Select all that apply and accept a set of letters.
  3. Do not show hints, the correct field, explanations, or references until submission.
  4. Score by exact set equality. Multiple-response questions receive no partial credit, matching the local assessment runtime.
  5. Report raw percentage and per-domain results. Say explicitly that this is not an official MCPA score, that the official item count and passing score are not published, and that practice results cannot predict an official outcome.
  6. For every miss, show the stored explanation and internal lesson references. Add weak domains and referenced lesson paths to the review queue.
  7. Append the attempt to MCPA-CERTIFICATION.md without changing old rows.

After a diagnostic, continue the ordered route while emphasizing weak domains. After a full mock, require remediation and another evidence-backed attempt before saying the learner is ready. Never claim that a learner will pass.

The track declares three full mocks with different emphasis: operational scenarios, wire-level messages, and design and security trade-offs. Use a mock the learner has not attempted for each retake, so a second score measures readiness rather than recall of the first attempt.

Capstone boundaries

Require the track's capstone artifact, 33-mcpa-capstone-readiness, and run its validator. A completed reference packet is an example, not proof that the learner built or can defend one.

All MCPA labs, including the capstone, are offline standard-library MCP mocks. None of them need an API key or network access, and there is no live API wire mode to gate: this curriculum stays fully local and credential-free by design. The capstone integrates discovery with cache hints, stateless requests, schema validation with tool execution errors, a multi round-trip consent request with protected requestState, a task for long work, HTTP headers, OAuth audience validation, trace context, and an audit chain into one exchange; treat its validator as the qualifying bar before calling a learner capstone-ready.

Close each session

End with four compact facts:

  • what decision the learner can now defend;
  • lab and artifact verification state;
  • quiz score or assessment domain result;
  • the exact next lesson path and /mcpa-certification to resume.

© rohitg00, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/mcpa-certification of rohitg00/ai-engineering-from-scratch.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit cdfd9df

Compare with similar skills

MCPA Certification Tutor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

MCPA Certification Tutor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
MCPA Certification Tutor this skillrohitg00/ai-engineering-from-scratch66k—~3.5kAutomated safety check: PassMIT
Course Guidefancyboi999/ai-engineering-from-scratch-zh1.2k—~948Automated safety check: PassMIT
Skill Seekers Builderyusufkaraaslan/Skill_Seekers15k—~760Automated safety check: PassMIT
Read GitHubAgentTeam-TaichuAI/ScienceClaw6712 repos~638Automated safety check: PassNone
MCP Apps Builderawslabs/cli-agent-orchestrator1.4k—~1.7kAutomated safety check: PassApache-2.0
Releasejgravelle/jcodemunch-mcp2.7k—~6.5kAutomated safety check: PassCustom licence

Similar skills

  • Course Guide

    fancyboi999/ai-engineering-from-scratch-zh

    AI Engineering from Scratch 课程的主题路由器。给它一个主题、问题或正在处理的 bug, 它会指出精确教授它的课程,以及下一条正确命令。触发短语: “在哪里学习”、“哪节课涵盖”、“课程导航”、“我卡在”、“接下来该做什么”、 “教我 MCP”、“教我 Agent Skills”、“在哪里准备 Claude certification”,或 "where do I…

    1.2k GitHub stars~948 tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Skill Seekers Builder

    yusufkaraaslan/Skill_Seekers

    Detects the type of a knowledge source and uses the Skill Seekers MCP tools to turn docs, repos, PDFs or videos into packaged AI skills.

    15k GitHub stars~760 tokensUpdated 9 days ago
    Agent WorkflowsAuto-check passed
  • Read GitHub

    AgentTeam-TaichuAI/ScienceClaw

    Read and search GitHub repository documentation via gitmcp.io MCP service.

    671 GitHub starsUsed in 2 repos~638 tokens
    Research & ScienceAuto-check passed
  • MCP Apps Builder

    awslabs/cli-agent-orchestrator

    Official

    Load the official MCP Apps builder skills (create-mcp-app, migrate-oai-app, add-app-to-server, convert-web-app) from github.com/modelcontextprotocol/ext-apps.

    1.4k GitHub stars~1.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Release

    jgravelle/jcodemunch-mcp

    Publishing a jMunch release (jcodemunch-mcp, jdocmunch-mcp, jdatamunch-mcp, jragmunch-cli), reviewing/merging/closing PRs, and responding to the community.

    2.7k GitHub stars~6.5k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Open PR

    ArcadeAI/arcade-mcp

    Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR.

    1k GitHub stars~2.9k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from rohitg00/ai-engineering-from-scratch

All 16 skills in this repo
  • Skill Release Gate

    rohitg00/ai-engineering-from-scratch

    Evaluates an Agent Skill bundle before release for structure, trigger quality, artifact improvement, script correctness, safety, installed-tree integrity and host portability.

    66k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • AI Engineering Placement Quiz

    rohitg00/ai-engineering-from-scratch

    Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.

    66k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • AI Engineering Project Tutor

    rohitg00/ai-engineering-from-scratch

    Tutors a learner through one stage of a hands-on AI engineering project per session: lesson, prediction, code, grader run and reflection, with hints but never full solutions.

    66k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • AI Engineering Phase Quiz

    rohitg00/ai-engineering-from-scratch

    Quizzes you on a completed phase of the AI Engineering from Scratch course, taking a phase number or name and mapping it to that phase's directory.

    66k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Claude Certification Tutor

    rohitg00/ai-engineering-from-scratch

    Guides a learner through one of four independent Claude certification tracks with onboarding, lessons, practice labs, mock exams and remediation.

    66k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • AI Engineering Course Guide

    rohitg00/ai-engineering-from-scratch

    Routes a topic, question or bug to the exact lessons in the AI Engineering from Scratch curriculum and suggests the next command to run.

    66k GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Questions about MCPA Certification Tutor

What does MCPA Certification Tutor do?

Turns a GitHub course repository into an interactive tutor for the MCP Associate certification, making the learner explain and defend each step. This skill runs in one of four modes per invocation, onboarding, a single lesson, an assessment, or remediation, resuming from a local progress file when one exists, and always reads the track's lesson order from program JSON rather than inventing a route, lesson, domain weight, or policy from memory.

When should I use MCPA Certification Tutor?

MCPA Certification Tutor fits situations like: starting or resuming MCPA certification preparation; working through one lesson interactively with the tutor; taking a diagnostic or full mock exam and remediating weak domains.

How do I install MCPA Certification Tutor in Claude Code?

Run `npx skills add rohitg00/ai-engineering-from-scratch --skill mcpa-certification -a claude-code`. Or copy the skill folder (skills/mcpa-certification in rohitg00/ai-engineering-from-scratch) into .claude/skills/mcpa-certification in your project. Claude Code loads it when a task matches its description.

How do I install MCPA Certification Tutor in Codex?

Run `npx skills add rohitg00/ai-engineering-from-scratch --skill mcpa-certification -a codex`. Or copy the skill folder (skills/mcpa-certification in rohitg00/ai-engineering-from-scratch) into .agents/skills/mcpa-certification in your project. Codex loads it when a task matches its description.

Can I use MCPA Certification Tutor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rohitg00/ai-engineering-from-scratch --skill mcpa-certification -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mcpa-certification, .gemini/skills/mcpa-certification, .github/skills/mcpa-certification and .opencode/skills/mcpa-certification in your project.

What does MCPA Certification Tutor need to run?

Going by SKILL.md and its folder, MCPA Certification Tutor needs the command-line tools its instructions call (python3). Our summary lists: A local or GitHub clone of the course repository.

Does MCPA Certification Tutor access the network?

SKILL.md names 1 domain. In commands or code: aiengineeringfromscratch.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is MCPA Certification Tutor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does MCPA Certification Tutor use?

MCPA Certification Tutor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does MCPA Certification Tutor use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to MCPA Certification Tutor?

Skills that share tags, products or a category with MCPA Certification Tutor: Course Guide (fancyboi999/ai-engineering-from-scratch-zh, 1.2k stars), Skill Seekers Builder (yusufkaraaslan/Skill_Seekers, 15k stars), Read GitHub (AgentTeam-TaichuAI/ScienceClaw, 671 stars) and MCP Apps Builder (awslabs/cli-agent-orchestrator, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains MCPA Certification Tutor?

rohitg00 (a GitHub user) maintains it in rohitg00/ai-engineering-from-scratch, which has 65,983 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 9, 2026.

Source: rohitg00/ai-engineering-from-scratch on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.