Agent skill

Nda Review

by LegalQuants in LegalQuants/lq-ai

A skill your agent uses when the user uploads or pastes a non-disclosure agreement and asks for review, redline, risk assessment, or a recommendation on whether to sign.

Apache-2.0Auto-check passedLegal & Compliance

Install Nda Review

skills CLI
$ npx skills add LegalQuants/lq-ai --skill nda-review -a claude-code

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

GitHub CLI
$ gh skill install LegalQuants/lq-ai nda-review --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/LegalQuants/lq-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/nda-review .claude/skills/nda-review && 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
nda-review
GitHub stars
150
Token cost
~4.3k tokens
SKILL.md length
1,623 words
Files
8
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when the user uploads or pastes a non-disclosure agreement and asks for review, redline, risk assessment, or a recommendation on whether to sign.

  • The user uploads
  • SKILL.md covers When this skill applies, Inputs, Workflow and Output, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Pastes a non-disclosure agreement and asks for review

What it does

Nda Review is an agent skill from LegalQuants/lq-ai. Use when the user uploads or pastes a non-disclosure agreement and asks for review, redline, risk assessment, or a recommendation on whether to sign. Identifies missing standard protections, one-sided or unusual provisions, and operational issues; produces a structured report with severity ratings and citations to specific clauses, calibrated to the user's perspective (discloser, recipient, or mutual).

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files (for example `examples/example_mutual.md`, `examples/example_unilateral_recipient.md` and `reference/issue_checklist.md`).

It sits in Legal & Compliance, covering Contract review. The repository describes itself as: Open-source AI for legal teams. Bring your own keys, run it where you want, own your data. The licence is Apache-2.0.

When your agent uses it

  • The user uploads
  • Pastes a non-disclosure agreement and asks for review
  • Risk assessment
  • A recommendation on whether to sign

Example prompts

  • “/nda-review”

What it can do on your machine

Read from SKILL.md and the folder at commit 7ac94dd. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

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

  • Network

    No URLs in SKILL.md.

    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

Nda Review loads about 4.3k tokens when it runs. Until then it costs about 104 tokens; SKILL.md has 1,623 words of instructions outside code blocks.

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

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 LegalQuants/lq-ai at commit 7ac94dd, republished under its Apache-2.0 licence (© LegalQuants). 1,623 words, ~4,305 tokens.

Download SKILL.mdSave it as .claude/skills/nda-review/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
nda-review
description
Use when the user uploads or pastes a non-disclosure agreement and asks for review, redline, risk assessment, or a recommendation on whether to sign. Identifies missing standard protections, one-sided or unusual provisions, and operational issues; produces a structured report with severity ratings and citations to specific clauses, calibrated to the user's perspective (discloser, recipient, or mutual).
lq_ai.title
NDA Review
lq_ai.version
1.0.1
lq_ai.author
LegalQuants
lq_ai.tags
contracts, nda, confidentiality, review
lq_ai.jurisdiction
US-default
lq_ai.trigger_examples
review this NDA, redline this confidentiality agreement, what should I watch for in this NDA, is this NDA okay to sign, summarize the risks in this NDA
lq_ai.output_format
markdown
lq_ai.self_improvement
false

NDA Review

Conduct a structured review of a non-disclosure agreement from the user's stated perspective and produce a report that an in-house lawyer can act on without redoing the analysis. The output is a draft for human review, not a final word; treat it accordingly.

When this skill applies

Apply when the user provides an NDA (sometimes called a confidentiality agreement, CDA, or confidential disclosure agreement) and asks for review, redline guidance, risk assessment, or a recommendation. The user's perspective — discloser, recipient, or mutual — fundamentally changes the analysis; require it before proceeding if not supplied.

Do not apply this skill to:

  • Confidentiality clauses inside larger agreements (MSAs, employment agreements, settlement agreements). Those clauses interact with the surrounding agreement; isolated review misleads. Tell the user a separate review of the parent agreement is needed.
  • Documents that are not NDAs, even if they touch on confidentiality (data processing agreements, security addenda, BAAs). Refer the user to the appropriate skill.
  • NDAs in employment contexts (employee confidentiality agreements, separation agreements with NDA components). These have employment-law overlays this skill does not cover.

Inputs

The skill requires the NDA itself and the user's perspective. If perspective is not provided, ask:

"Before I review, which side are you on? Discloser (you're sharing information and want strong protections on the recipient), recipient (you're receiving information and want narrow obligations on yourself), or mutual (both parties are exchanging information and you want balanced, symmetric terms)?"

If the user describes a situation that does not cleanly fit one of these (e.g., "we're sharing information but only a small amount; mostly we're receiving"), default to the perspective covering the larger exposure and note the asymmetry in the report. For mostly-receiving-with-some-sharing, treat as recipient and add a note about the discloser-side exposure.

Optional inputs (jurisdiction, deal_type, prior_agreements, standard_positions) refine the analysis if provided. Do not block on them.

The deal_type input materially affects severity calibration. The same provision can be material in one deal context and minor in another. Examples:

  • A non-solicit clause is material in vendor_evaluation or customer_engagement (the parties are not contemplating organizational integration; non-solicit is unbargained-for restraint), and minor-to-acceptable in ma_diligence or partnership (organizational integration is on the table; non-solicit is part of standard deal-protection package).
  • A standstill provision is material/critical outside ma_diligence (the parties are not contemplating an acquisition; standstill restricts conduct unrelated to the confidentiality purpose) and standard-and-acceptable in ma_diligence (it serves a legitimate deal-protection function).
  • IP assignment of feedback is critical in vendor_evaluation (recipient gives up IP rights to evaluate a product) and less unusual in partnership (where reciprocal IP exchange may be in scope, though still warrants scrutiny).
  • A 5-year confidentiality term is material in general_commercial (longer than standard) and minor-to-standard in ma_diligence (M&A-grade information warrants longer protection).

When deal_type is not provided, default to general_commercial and note in the report that severity calibration assumed general commercial context; calibration may differ if a specific deal type applies.

The prior_agreements input drives Pass 4's conflict-with-prior-agreements analysis. When provided, examine the document for:

  • Express references to the named prior agreements (and whether the references are accurate).
  • Integration / entire-agreement clauses that would extinguish protections in the prior agreement.
  • Provisions that conflict with terms the user mentioned in the prior agreement.

When prior_agreements is not provided, do not speculate about prior agreements; the conflict-with-prior-agreements analysis is skipped.

Workflow

Produce the review in five passes. Do them in this order — earlier passes inform later ones.

Pass 1: Document orientation

Before substantive review, read the document and orient:

  • Is this actually an NDA, or a different agreement type? If it's not an NDA, stop and tell the user.
  • Is it mutual, unilateral toward discloser, or unilateral toward recipient? Compare this to the user's stated perspective; flag any mismatch (e.g., user says "we're recipient" but document is unilateral toward the other party — meaning the user has obligations the user thinks the other side has).
  • Note governing law, jurisdiction, and term length at a glance.
  • Estimate document length and complexity. NDAs over ~5 pages typically have non-standard provisions worth flagging on length alone.
Pass 2: Standard-protection check

Walk through the standard NDA checklist in reference/issue_checklist.md. For each item, determine:

  • Present and standard: the document has this clause and it falls within the normal range.
  • Present but unusual: the document addresses this issue but with non-standard scope, severity, or carveouts.
  • Missing: the document does not address this issue.
  • N/A: this issue does not apply given the document type, perspective, or business context.

The standard checklist covers: definition of confidential information, exclusions from confidentiality, permitted uses, permitted disclosures (employees, advisors, legal compulsion), term and duration of confidentiality obligations, return/destruction of materials, residuals, no-license language, equitable remedies and injunctive relief, governing law and venue, assignment, integration and amendment, and notice requirements.

Pass 3: Asymmetry and one-sidedness check

Specifically examine the document for asymmetry against the user's perspective. Per reference/perspective_lens.md, certain provisions read very differently from each side:

  • Discloser perspective: weak definitions of confidential information, broad exclusions, short terms, narrow injunctive relief, weak return/destruction, broad permitted disclosures, residuals clauses — all favor the recipient and erode discloser protection.
  • Recipient perspective: broad definitions, narrow exclusions, long terms (especially perpetual obligations on trade secrets in the wrong jurisdictions), broad injunctive relief, harsh return/destruction with certifications, narrow permitted disclosures (especially blocking advisor disclosure), liquidated damages — all expand recipient obligations.
  • Mutual perspective: check that obligations and protections actually run symmetrically. Mutual NDAs that look mutual but have asymmetric exclusions, term, or remedies are a common drafting move worth flagging.
Show full SKILL.md (715 more words)Show less
Pass 4: Operational and red-flag check

Look for provisions that create operational risk regardless of perspective:

  • Non-solicitation clauses inside NDAs. Common in unilateral-toward-discloser drafts. Often unenforceable in California; problematic in other states. Flag whenever present.
  • Non-competition clauses. Same flagging — and stronger enforceability concerns. Flag as critical whenever present in an NDA outside an M&A context.
  • Non-circumvention clauses. Common in deal-broker contexts; often vague enough to create operational restrictions the user did not bargain for.
  • No-hire clauses. Increasingly disfavored in some jurisdictions; flag whenever present.
  • IP assignment language purporting to assign work product or feedback. Should not be in an NDA; flag as material.
  • Most-favored-nation clauses on confidentiality terms. Unusual; flag for context.
  • Consequential / liquidated damages for breach. Flag.
  • Indemnification provisions. Should not be in a standard NDA; flag as material.
  • Audit rights (recipient permitting discloser to audit recipient's compliance). Common in regulated-data NDAs; flag for proportionality.
  • Public-statement restrictions ("non-disparagement"). Out of scope for an NDA; flag.
  • Broad publicity restrictions ("you may not announce that we are talking"). Common; flag for whether the restriction is mutual and reasonable.
  • Survival provisions that cause obligations to outlive the rest of the agreement. Standard for confidentiality, but check what else survives.
  • Conflicts with existing agreements. If the user provided a prior_agreements input, examine the document for references to those agreements, integration clauses that would extinguish prior protections, and provisions that conflict with terms in the prior agreements. Flag any potential conflicts. If prior_agreements was not provided, this check is skipped.

See reference/red_flags.md for the full list.

Pass 5: Produce the report

The report has a fixed structure (specified in the Output section). Populate it with the findings from the prior passes. Calibrate severity using the rubric in reference/severity_rubric.md. Cite specific section/clause numbers for every finding so the user can navigate the document.

Output

Produce the report in markdown with this exact structure:

markdown
# NDA Review: [Document name or counterparty]

**Perspective:** [discloser | recipient | mutual]
**Document type:** [Mutual NDA | Unilateral NDA toward discloser | Unilateral NDA toward recipient]
**Governing law:** [jurisdiction or "not specified"]
**Term:** [duration or "perpetual" or "not specified"]

## Bottom line

[Two to four sentences. State the overall posture of the document toward the user's perspective (favorable, balanced, unfavorable, materially unfavorable). State whether it is signable as-is, signable with minor edits, requires negotiation, or should be rejected. Identify the single most important issue.]

## Critical issues

[Issues rated "critical" per the severity rubric. Each issue has its own subsection with: clause reference, what the document says, why it's a problem from the user's perspective, suggested redline language. Omit this section if there are no critical issues; do not pad.]

## Material issues

[Issues rated "material." Same subsection structure as Critical.]

## Minor issues and observations

[Issues rated "minor" or items that are present-and-standard but worth noting. May be a bulleted list rather than full subsections.]

## Missing standard protections

[Standard NDA elements that are absent and should be added. Each with suggested language or a reference to where to find it.]

## Operational red flags

[Items from Pass 4 — non-solicits, non-competes, IP assignments, indemnities, etc. Flagged whether or not they are objectionable; the user makes the business judgment.]

## Recommended next steps

[A short bulleted list. What should the user do next? Common options: sign as-is, sign with the redlines proposed above, send back with negotiation, escalate to outside counsel for a specific issue, decline to proceed.]

## Items requiring human judgment

[A short list of items the skill cannot resolve and that need the user's business judgment or jurisdiction-specific expertise. Examples: enforceability of a non-solicit in the user's actual jurisdiction; whether a particular use case falls within "permitted uses"; whether the business context warrants accepting an unfavorable term.]

If the perspective is mutual, the asymmetry analysis lives in the appropriate severity section (critical / material / minor) depending on how skewed the document is. Do not create a separate "Asymmetries" section — that buries severity signal.

If the document is signable as-is or with only minor changes, the report should be short. Do not pad. A two-page report on a clean NDA is correctly two pages, not five.

Edge cases and refusals

  • Document is not an NDA. Stop and tell the user. Suggest the appropriate skill if obvious (e.g., "this is a Data Processing Agreement; use the DPA Checklist Review skill").
  • Document is too short or fragmentary (e.g., only a confidentiality clause excerpted from a larger agreement). Tell the user the review needs the full document.
  • Document is in a language the user did not flag. If the document is not in English, flag and ask the user to confirm the language and whether translation is needed before proceeding.
  • Document contains unusual provisions outside the skill's coverage (e.g., complex residuals language, foreign-law-specific clauses, escrow arrangements). Flag these in the "Items requiring human judgment" section rather than producing potentially-wrong analysis.
  • Perspective is "mutual" but the document is clearly unilateral. Flag the mismatch. The user may have misidentified the document; ask before proceeding.
  • The user provides standard positions that conflict with the document. Use the user's positions as the benchmark, not generic standards. The user knows their organization's appetite better than a generic NDA review.
  • Critical issues that require legal advice the skill cannot give. For example, "this clause may be unenforceable in California" — note that this is a question for the user's judgment and, if material, suggest escalation. Never give a definitive enforceability opinion.

What this skill does not do

  • Give a final legal opinion. The output is a draft for human review.
  • Predict enforceability with confidence. Flags issues; the user determines enforceability with their own jurisdiction expertise.
  • Negotiate. Suggests redlines but does not draft side letters or counterproposals.
  • Replace counsel for unusual deal structures (M&A NDAs, government NDAs, classified-information NDAs). Recommend escalation.

Reference materials

  • reference/issue_checklist.md — the standard NDA element checklist used in Pass 2.
  • reference/perspective_lens.md — how to read each provision through discloser, recipient, or mutual eyes.
  • reference/red_flags.md — the full operational and red-flag list used in Pass 4.
  • reference/severity_rubric.md — the rubric for rating issues critical, material, minor.
  • examples/example_unilateral_recipient.md — worked example: receiving party reviewing a unilateral NDA from a vendor.
  • examples/example_mutual.md — worked example: mutual NDA in an early-stage acquisition discussion.

© LegalQuants, Apache-2.0. 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 7 other files in skills/nda-review of LegalQuants/lq-ai.

  • SKILL.md
  • examples/example_mutual.md
  • examples/example_unilateral_recipient.md
  • reference/issue_checklist.md
  • reference/perspective_lens.md
  • reference/red_flags.md
  • reference/severity_rubric.md
  • test-plan.md

Open the folder on GitHubat commit 7ac94dd

Compare with similar skills

Nda Review 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.

Nda Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Nda Review this skillLegalQuants/lq-ai150—~4.3kAutomated safety check: PassApache-2.0
Contract Reviewevolsb/claude-legal-skill4641 repos~3.6kAutomated safety check: PassMIT
Commercial Legal Plapiotrowski-afk/commercial-legal-pl1761 repos~4.1kAutomated safety check: PassApache-2.0
Hand Drawnthreerocks/hand-drawn-styles2.2k—~398Automated safety check: PassMIT
Tabular Document Reviewanthropics/claude-for-legal9.6k3 repos~4.3kAutomated safety check: PassApache-2.0
Tw Formal WritingImbad0202/tw-formal-writing179—~1kAutomated safety check: PassMIT

Similar skills

  • Contract Review

    evolsb/claude-legal-skill

    Review legal contracts, NDAs, employment agreements, SaaS terms, and M&A documents.

    464 GitHub starsUsed in 1 repo~3.6k tokens
    Legal & ComplianceAuto-check passed
  • Commercial Legal Pl

    apiotrowski-afk/commercial-legal-pl

    Skill do analizy i tworzenia umów według polskiego prawa, ze szczególnym uwzględnieniem umów B2B, IP i IT (body leasing, NDA, wdrożenia, SaaS, przeniesienie praw autorskich, ugody).

    176 GitHub starsUsed in 1 repo~4.1k tokens
    Legal & ComplianceAuto-check passed
  • Hand Drawn

    threerocks/hand-drawn-styles

    A skill your agent uses when users ask for a hand-drawn or illustrated image prompt, name one of the repository's 20 numbered styles or the 3.1 stable variant, or mention triggers such as…

    2.2k GitHub stars~398 tokensUpdated 2 days ago
    Legal & ComplianceAuto-check passed
  • Tabular Document Review

    anthropics/claude-for-legal

    Official

    Builds a review grid with one row per document and one column per data point, each cell cited to a verbatim quote, built for M&A diligence and other batch reviews.

    9.6k GitHub starsUsed in 3 repos~4.3k tokens
    Legal & ComplianceAuto-check passed
  • Tw Formal Writing

    Imbad0202/tw-formal-writing

    台灣正式文件撰寫助手 — 涵蓋政府公文、政府機關其他文件、法律文件、人民對政府文書四類中文正式文件的撰寫(不含學術論文、商業文書、私人書信等,見下方排除清單)。

    179 GitHub stars~1k tokensUpdated 16 days ago
    Legal & ComplianceAuto-check passed
  • Contract Review Pro

    CSlawyer1985/contract-review-pro

    专业合同审核 Skill:7步工作流(含立场声明、框架审阅、类型路由)、5类通用门禁+16个专项门禁、终稿三件套+HTML可视化报告、8维度风险评分、修订5分类路由。完全自包含,零外部依赖。

    277 GitHub stars~2.3k tokensUpdated 1 mo ago
    Legal & ComplianceAuto-check passed

More from LegalQuants/lq-ai

All 16 skills in this repo
  • A skill your agent uses when the user provides a client alert, regulatory bulletin, law firm memo, or similar legal update and wants the time-sensitive action items, deadlines, and obligations…

    150 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Case Law Research

    LegalQuants/lq-ai

    A skill your agent uses when the user asks to find, read, or cite U.S.

    150 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Comms Improver

    LegalQuants/lq-ai

    A skill your agent uses when the user has a piece of legal-jargon-heavy text and wants it rewritten in plain language for a specified non-legal audience.

    150 GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Contract QA

    LegalQuants/lq-ai

    A skill your agent uses when the user has a contract loaded and asks a specific question about it — what a clause means, where something is addressed, whether a term is unusual, how a provision…

    150 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Contract Snapshot

    LegalQuants/lq-ai

    A skill your agent uses when the user wants to compare the same handful of terms across N contracts side-by-side in a grid — what is the term, survival period, carveouts, and governing law in each…

    150 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Dpa Checklist Review

    LegalQuants/lq-ai

    A skill your agent uses when the user provides a Data Processing Agreement, Data Processing Addendum, or HIPAA Business Associate Agreement and asks whether it contains the terms required under the…

    150 GitHub stars~3.7k tokensUpdated today
    Auto-check passed

Questions about Nda Review

What does Nda Review do?

A skill your agent uses when the user uploads or pastes a non-disclosure agreement and asks for review, redline, risk assessment, or a recommendation on whether to sign. Nda Review is an agent skill from LegalQuants/lq-ai. Use when the user uploads or pastes a non-disclosure agreement and asks for review, redline, risk assessment, or a recommendation on whether to sign.

When should I use Nda Review?

Nda Review fits situations like: the user uploads; pastes a non-disclosure agreement and asks for review; risk assessment; A recommendation on whether to sign.

How do I install Nda Review in Claude Code?

Run `npx skills add LegalQuants/lq-ai --skill nda-review -a claude-code`. Or copy the skill folder (skills/nda-review in LegalQuants/lq-ai) into .claude/skills/nda-review in your project. Claude Code loads it when a task matches its description.

How do I install Nda Review in Codex?

Run `npx skills add LegalQuants/lq-ai --skill nda-review -a codex`. Or copy the skill folder (skills/nda-review in LegalQuants/lq-ai) into .agents/skills/nda-review in your project. Codex loads it when a task matches its description.

Can I use Nda Review 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 LegalQuants/lq-ai --skill nda-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nda-review, .gemini/skills/nda-review, .github/skills/nda-review and .opencode/skills/nda-review in your project.

What does Nda Review need to run?

SKILL.md names no scripts, command-line tools or credentials: Nda Review is instructions for the agent only.

Does Nda Review access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Nda Review 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 Nda Review use?

Nda Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Nda Review use?

About 4.3k tokens (SKILL.md is roughly 17k 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 Nda Review?

Skills that share tags, products or a category with Nda Review: Contract Review (evolsb/claude-legal-skill, 464 stars), Commercial Legal Pl (apiotrowski-afk/commercial-legal-pl, 176 stars), Hand Drawn (threerocks/hand-drawn-styles, 2.2k stars) and Tabular Document Review (anthropics/claude-for-legal, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Nda Review?

LegalQuants (a GitHub organization) maintains it in LegalQuants/lq-ai, which has 150 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 10, 2026.

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