LangBot Deployment Guide
langbot-app/LangBot
Deploys and configures a LangBot instance with Docker Compose or Kubernetes, covering config.yaml, the Box sandbox runtime, the plugin runtime and the global API key.
Deploy Chat Question-and-Answer Core to Kubernetes using Helm (OpenVINO CPU, OpenVINO GPU, or Ollama), including values.yaml configuration, helm install/upgrade, deployment verification, uninstall…
$ npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries chatqna-helm-deploy --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy .claude/skills/chatqna-helm-deploy && rm -rf skills-srcUse ~/.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/
Install the "chatqna-helm-deploy" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy into .claude/skills/chatqna-helm-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chatqna-helm-deploy", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deployType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries chatqna-helm-deploy --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .agents/skills && cp -r skills-src/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy .agents/skills/chatqna-helm-deploy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "chatqna-helm-deploy" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy into .agents/skills/chatqna-helm-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chatqna-helm-deploy", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries chatqna-helm-deploy --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy .cursor/skills/chatqna-helm-deploy && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "chatqna-helm-deploy" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy into .cursor/skills/chatqna-helm-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chatqna-helm-deploy", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/open-edge-platform/edge-ai-libraries.git --path sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries chatqna-helm-deploy --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy .gemini/skills/chatqna-helm-deploy && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "chatqna-helm-deploy" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy into .gemini/skills/chatqna-helm-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chatqna-helm-deploy", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install open-edge-platform/edge-ai-libraries chatqna-helm-deployInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .github/skills && cp -r skills-src/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy .github/skills/chatqna-helm-deploy && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "chatqna-helm-deploy" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy into .github/skills/chatqna-helm-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chatqna-helm-deploy", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries chatqna-helm-deploy --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy .opencode/skills/chatqna-helm-deploy && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "chatqna-helm-deploy" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy into .opencode/skills/chatqna-helm-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chatqna-helm-deploy", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
chatqna-helm-deployDeploy Chat Question-and-Answer Core to Kubernetes using Helm (OpenVINO CPU, OpenVINO GPU, or Ollama), including values.yaml configuration, helm install/upgrade, deployment verification, uninstall…
Chatqna Helm Deploy is an agent skill from open-edge-platform/edge-ai-libraries. Deploy Chat Question-and-Answer Core to Kubernetes using Helm (OpenVINO CPU, OpenVINO GPU, or Ollama), including values.yaml configuration, helm install/upgrade, deployment verification, uninstall, and translation from Docker Compose setupenv.sh variables into Helm override values. Use this skill when the user says "deploy chatqna core to kubernetes", "helm install chatqna-core", "configure values.yaml", "convert compose config to helm", or "translate setupenv.sh to chart values".
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `benchmark/benchmark.md`, `evals/evals.json` and `evals/trigger-evals.json`).
It sits in DevOps & Cloud, covering Container orchestration and Deployment. It works with Kubernetes, Docker and Ollama. The repository describes itself as: Libraries, microservices, tools, and other reference software, supporting development of performance-optimized Edge AI applications. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3084578. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
kubectlhelmbashjqdockercurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use kubectl, helm, docker and curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
HUGGINGFACEHUB_API_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Chatqna Helm Deploy loads about 2.3k tokens when it runs, and up to ~2.9k if it reads all its reference files. Until then it costs about 127 tokens; SKILL.md has 450 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from open-edge-platform/edge-ai-libraries at commit 3084578, republished under its Apache-2.0 licence (© open-edge-platform). 450 words, ~2,294 tokens.
.claude/skills/chatqna-helm-deploy/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.<!--
SPDX-FileCopyrightText: (C) 2026 Intel Corporation
SPDX-License-Identifier: Apache-2.0
-->
Deploy the Chat Question and Answer Core sample application Helm chart at sample-applications/chat-question-and-answer-core/chart/ to Kubernetes using
Helm. The chart's dependencies are chatqna-core and chatqna-ui, which are built from the same source code as the Docker Compose deployment. Also it includes nginx as a reverse proxy for the backend and UI.
This skill operates on real ChatQnA source files, so the ChatQnA application must be present and commands must run from the app root. Do this before any Helm workflow, whether or not source is already in your workspace.
Run the bundled bootstrap. It searches for an existing ChatQnA checkout by
walking up from the current directory and checking the enclosing git repo, then
reuses it without re-cloning. Only when no checkout is found does it do a
shallow, single-branch, sparse checkout of just
sample-applications/chat-question-and-answer-core from main.
It prints the resolved app root on stdout:
# SKILL_DIR is this skill directory. In-repo it is:
# .github/skills/chatqna-helm-deploy
SKILL_DIR=".github/skills/chatqna-helm-deploy"
APP_ROOT="$(bash "$SKILL_DIR/scripts/chatqna-bootstrap.sh")"
cd "$APP_ROOT"Every command below assumes the working directory is this APP_ROOT.
To use a fork/branch or a specific clone path, override these before running the bootstrap script:
CHATQNA_REPO_URLCHATQNA_REPO_BRANCHCHATQNA_CLONE_DIRCHATQNA_FORCE_CLONE (set to 1 to force clone)Codebase root: sample-applications/chat-question-and-answer-core/
Confirm a reachable Kubernetes cluster is available and kubectl is configured to access it.
kubectl get nodesFor GPU, discover resource keys before writing values:
kubectl get nodes -o json | jq -r '.items[] | "\(.metadata.name):\n" + (.status.allocatable | to_entries | map(select(.key | test("gpu|npu|vpu|accel";"i"))) | map(" \(.key): \(.value)") | join("\n"))' Common Intel keys are gpu.intel.com/i915, gpu.intel.com/xe
values-override.yaml) that translates
Docker Compose and setup_env.sh style inputs to Helm values keys.Before running commands, confirm or infer these values:
openvino or ollamacpu or gpu (GPU valid only for OpenVINO)chatqna-core)./chart), oroci://registry-1.docker.io/intel/chat-question-and-answer-core)EMBEDDING_MODEL, LLM_MODEL, optional RERANKER_MODEL)HUGGINGFACEHUB_API_TOKEN) for OpenVINOhttp_proxy, https_proxy, no_proxy)If runtime/device values are missing, default to openvino + cpu.
If prebuilt images are used and tags are not specified by the user, default to
the tags in chart/values.yaml.
Use Helm and kubectl commands for deployment actions in this skill.
ollama:-f values.yaml -f values-ollama.yamlopenvino and device is gpu:-f values.yaml -f values-openvino.yamlgpu.enabled=truegpu.key from cluster labelsopenvino and device is cpu:-f values.yaml -f values-openvino.yamlgpu.enabled=falsegpu.enabled=false), correct values before install.Use the reference mapping in
./references/compose-setupenv-to-helm-mapping.md if the user asks to map Compose or setup_env.sh inputs to Helm values.
Run from sample-applications/chat-question-and-answer-core.
kubectl version --client
helm version
kubectl config current-contextIf using local source chart:
cd chart
helm dependency buildIf using OCI chart:
helm pull oci://registry-1.docker.io/intel/chat-question-and-answer-core --version <version>
tar -xvf chat-question-and-answer-core-<version>.tgz
cd chat-question-and-answer-core
helm dependency buildEnsure namespace exists:
kubectl create namespace <namespace> --dry-run=client -o yaml | kubectl apply -f -Create or update values-override.yaml by translating user intent or
Compose/setup_env style inputs using the reference mapping. Do not commit filled secrets or tokens.
If running behind a proxy, include these keys in values-override.yaml using
the values from your current system environment:
global:
http_proxy: "${http_proxy}"
https_proxy: "${https_proxy}"
no_proxy: "${no_proxy}"Select base files by runtime:
values.yaml + values-openvino.yaml + values-override.yamlvalues.yaml + values-ollama.yaml + values-override.yamlhelm template chatqna-core \
-f values.yaml \
-f values-<runtime>.yaml \
-f values-override.yaml \
.helm upgrade --install chatqna-core \
-f values.yaml \
-f values-<runtime>.yaml \
-f values-override.yaml \
. \
--namespace <namespace>kubectl get pods -n <namespace>
kubectl get services -n <namespace>
kubectl get events -n <namespace> --sort-by=.lastTimestamp | tail -n 30
kubectl rollout status deploy/chatqna-core -n <namespace>
kubectl rollout status deploy/chatqna-core-nginx -n <namespace>Health endpoint evidence:
chatqna_hostip=$(kubectl get pods -l app=chatqna-core-nginx -n <namespace> -o jsonpath='{.items[0].status.hostIP}')
chatqna_port=$(kubectl get service chatqna-core-nginx -n <namespace> -o jsonpath='{.spec.ports[0].nodePort}')
curl -sS -w "\nHTTP_STATUS:%{http_code}\n" "http://${chatqna_hostip}:${chatqna_port}/v1/chatqna/health"# UI
echo "http://${chatqna_hostip}:${chatqna_port}"
# API docs
echo "http://${chatqna_hostip}:${chatqna_port}/v1/chatqna/docs"
# Uninstall
helm uninstall chatqna-core -n <namespace>gpu.key missing:kubectl describe node and provide device plugin key,
then re-run with gpu.enabled=true.kubectl describe pod and kubectl logs for failing pods.chatqna-core logs for model download/config issues.values-override.yaml and re-run helm upgrade.values-override.yaml.HTTP_STATUS:200.kubectl get, rollout status,
health check output).© open-edge-platform, 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
SKILL.md and 5 other files (scripts, references) in sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy of open-edge-platform/edge-ai-libraries.
Open the folder on GitHubat commit 3084578
Chatqna Helm Deploy 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Chatqna Helm Deploy this skillopen-edge-platform/edge-ai-libraries | 169 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| LangBot Deployment Guidelangbot-app/LangBot | 18k | — | ~1.2k | Automated safety check: Notes | Apache-2.0 | |
| Debug Openshell ClusterNVIDIA/OpenShell | 15k | — | ~19k | Automated safety check: Notes | Apache-2.0 | |
| Aspire MonitoringCommunityToolkit/Aspire | 629 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Deploymentmatrixorigin/memoria | 608 | — | ~1.6k | Automated safety check: Notes | Apache-2.0 | |
| Onboarding Validationopen-edge-platform/edge-ai-suites | 140 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 |
langbot-app/LangBot
Deploys and configures a LangBot instance with Docker Compose or Kubernetes, covering config.yaml, the Box sandbox runtime, the plugin runtime and the global API key.
NVIDIA/OpenShell
Debug why an OpenShell gateway deployment is unhealthy, unreachable, or unable to create sandboxes.
CommunityToolkit/Aspire
ANALYSIS SKILL - Observe Aspire apps: logs, traces, metrics, resource state, telemetry export, browser telemetry, and the standalone dashboard.
matrixorigin/memoria
Deploy Memoria with Docker Compose or Kubernetes. An agent skill from matrixorigin/memoria.
open-edge-platform/edge-ai-suites
Validate the get-started experience of Open Edge Platform (OEP) software components from the perspective of a first-time user.
DemonDamon/AgenticX
Guide for deploying AgenticX agents to production including Docker containerization, Kubernetes orchestration, Volcengine AgentKit cloud deployment, and API server setup.
open-edge-platform/edge-ai-libraries
Build a new time-series analytics use case on top of the deployed Time Series Analytics microservice — bring it up with Docker Compose (from a repo clone, or by fetching the compose files from…
open-edge-platform/edge-ai-libraries
Scaffolds and wires a new NestJS service/module for the Video Search & Summarization sample app's pipeline-manager using the repo's real conventions.
open-edge-platform/edge-ai-libraries
Generates or updates CHANGELOG.md by analyzing git commit history between two branches, tags, or revisions in ANY git repository or folder.
open-edge-platform/edge-ai-libraries
Deploys and manages VSS through setup.sh and its Docker Compose overlays.
open-edge-platform/edge-ai-libraries
A skill your agent uses whenever a developer needs to deploy VSS to Kubernetes, helm install VSS, configure values.yaml for VSS, or run VSS on k8s with GPU/vLLM for the…
open-edge-platform/edge-ai-libraries
Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app.
Works with
Categories
Deploy Chat Question-and-Answer Core to Kubernetes using Helm (OpenVINO CPU, OpenVINO GPU, or Ollama), including values.yaml configuration, helm install/upgrade, deployment verification, uninstall…. Chatqna Helm Deploy is an agent skill from open-edge-platform/edge-ai-libraries.sh variables into Helm override values.
Chatqna Helm Deploy fits situations like: the user says deploy chatqna core to kubernetes; helm install chatqna-core; configure values.yaml; convert compose config to helm.
Run `npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a claude-code`. Or copy the skill folder (sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy in open-edge-platform/edge-ai-libraries) into .claude/skills/chatqna-helm-deploy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a codex`. Or copy the skill folder (sample-applications/chat-question-and-answer-core/.github/skills/chatqna-helm-deploy in open-edge-platform/edge-ai-libraries) into .agents/skills/chatqna-helm-deploy in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add open-edge-platform/edge-ai-libraries --skill chatqna-helm-deploy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chatqna-helm-deploy, .gemini/skills/chatqna-helm-deploy, .github/skills/chatqna-helm-deploy and .opencode/skills/chatqna-helm-deploy in your project.
Going by SKILL.md and its folder, Chatqna Helm Deploy needs a shell for the scripts in its folder, the command-line tools its instructions call (kubectl, helm, bash, jq, docker and curl) and credentials named HUGGINGFACEHUB_API_TOKEN. Our summary lists: A Bash shell; Docker; A credential in HUGGINGFACEHUB_API_TOKEN.
SKILL.md contains no URLs. Its commands use docker and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Chatqna Helm Deploy is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 576 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Chatqna Helm Deploy: LangBot Deployment Guide (langbot-app/LangBot, 18k stars), Debug Openshell Cluster (NVIDIA/OpenShell, 15k stars), Aspire Monitoring (CommunityToolkit/Aspire, 629 stars) and Deployment (matrixorigin/memoria, 608 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
open-edge-platform (a GitHub organization) maintains it in open-edge-platform/edge-ai-libraries, which has 169 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 8, 2026.
Source: open-edge-platform/edge-ai-libraries on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.