Agent skill

Cs Web Promo Film

by ChenShuo2004 in ChenShuo2004/cs-skills

把真实网页做成 30–60 秒产品演示宣传片:Playwright 采集页面长截图,Remotion 用虚拟浏览器窗口做推进、平移、滚动和点击,渲染可交付 mp4,并可附口播稿。触发词包括 $cs-web-promo-film、网页宣传片、产品演示片、把这个网页做成视频、产品功能演示。不用于网页幻灯片、静态海报、真人出镜、电商对标复刻(改用 $cs-auto-videl)、ChatCut…

MITAuto-check passedMedia & Creative

Install Cs Web Promo Film

skills CLI
$ npx skills add ChenShuo2004/cs-skills --skill cs-web-promo-film -a claude-code

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

GitHub CLI
$ gh skill install ChenShuo2004/cs-skills cs-web-promo-film --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/ChenShuo2004/cs-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cs-web-promo-film .claude/skills/cs-web-promo-film && 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
cs-web-promo-film
GitHub stars
197
Token cost
~1.1k tokens
SKILL.md length
241 words
Files
22 (incl. scripts, references, assets)
Skills in repo
26
Repo updated
First seen
Licence
MIT

At a glance

把真实网页做成 30–60 秒产品演示宣传片:Playwright 采集页面长截图,Remotion 用虚拟浏览器窗口做推进、平移、滚动和点击,渲染可交付 mp4,并可附口播稿。触发词包括 $cs-web-promo-film、网页宣传片、产品演示片、把这个网页做成视频、产品功能演示。不用于网页幻灯片、静态海报、真人出镜、电商对标复刻(改用 $cs-auto-videl)、ChatCut…

  • Works in 9 steps: 先问清三件事,其余自己定 → 打开页面,摸清真实结构 → 采集:一次采全,采准 → …
  • Tasks that involve Video production
  • SKILL.md covers 交付边界, 先读什么, 工作方式 and 硬约束, plus 1 more section
  • Runs TypeScript scripts from its folder; calls node

What it does

Cs Web Promo Film is an agent skill from ChenShuo2004/cs-skills. 把真实网页做成 30–60 秒产品演示宣传片:Playwright 采集页面长截图,Remotion 用虚拟浏览器窗口做推进、平移、滚动和点击,渲染可交付 mp4,并可附口播稿。触发词包括 $cs-web-promo-film、网页宣传片、产品演示片、把这个网页做成视频、产品功能演示。不用于网页幻灯片、静态海报、真人出镜、电商对标复刻(改用 $cs-auto-videl)、ChatCut 策划或时间线剪辑(改用 $cs-chatcut)。

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 27 other files, including scripts, reference files and assets (for example `agents/openai.yaml`, `assets/capture.config.example.json` and `assets/promo-starter/src/index.ts`).

It sits in Media & Creative, covering Video production and Browser testing. It works with Playwright and Remotion. The repository describes itself as: 陈硕的 Codex Skills 与 AI 工作流手册:把产品、内容、调研与交付沉淀为可复用的智能工作流。 The licence is MIT.

When your agent uses it

  • Tasks that involve Video production
  • Tasks that involve Browser testing

Example prompts

  • “/cs-web-promo-film”

Requirements

  • Node.js

Workflow steps

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

  1. 先问清三件事,其余自己定
  2. 打开页面,摸清真实结构
  3. 采集:一次采全,采准
  4. 量坐标,不要目测
  5. 写分镜,再搭片子
  6. 渲染并逐段看图验收
  7. 需要口播时单独出稿
  8. 多画幅是两套取景,不是裁切
  9. 片中数字必须能从页面重新拉出来

What it can do on your machine

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

    Ships 1 file in scripts/ (TypeScript, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    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

Cs Web Promo Film loads about 1.1k tokens when it runs, and up to ~7.5k if it reads all its reference files. Until then it costs about 60 tokens; SKILL.md has 241 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.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); the scripts in this folder are not scanned.

SKILL.md

The full file from ChenShuo2004/cs-skills at commit 6f5009d, republished under its MIT licence (© ChenShuo2004). 241 words, ~1,086 tokens.

Download SKILL.mdSave it as .claude/skills/cs-web-promo-film/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.
name
cs-web-promo-film
description
把真实网页做成 30–60 秒产品演示宣传片:Playwright 采集页面长截图,Remotion 用虚拟浏览器窗口做推进、平移、滚动和点击,渲染可交付 mp4,并可附口播稿。触发词包括 $cs-web-promo-film、网页宣传片、产品演示片、把这个网页做成视频、产品功能演示。不用于网页幻灯片、静态海报、真人出镜、电商对标复刻(改用 $cs-auto-videl)、ChatCut 策划或时间线剪辑(改用 $cs-chatcut)。
<!-- CS Skills · 陈硕 | portable skill entry | https://github.com/ChenShuo2004/cs-skills -->

CS 网页宣传片

把真实页面做成有「产品演示」质感的短片。核心主张:不重绘产品界面,只决定镜头怎么看它。片中每一个像素都是页面上真实存在的东西,可信度全部来自这一点。

交付边界

  • 默认交付一个 Remotion 工程 + 一支 mp4:1920×1080、60fps、30–60 秒、H.264。
  • 默认无音轨(留给后期配 BGM)。用户要 BGM 或口播时才加,且口播稿单独出 VO.md。
  • 页面内容一律来自 Playwright 采集的长截图,禁止用 HTML/CSS 重画产品界面、禁止手打页面上的文案当作截图内容。
  • 只拍匿名访客能真实打开的公开页面。付费浮层、cookie 条、站方广告可以在采集时隐藏,产品功能区不得改动。
  • 调色(整体曝光)允许,改内容不允许。
  • 不部署、不上传、不发布。仅在用户明确要求后导出其他规格或分发。
  • 网页幻灯片不是本 skill。电商对标复刻交给 $cs-auto-videl。ChatCut 策划与剪辑交给 $cs-chatcut。

先读什么

按当前阶段读最少的资料:

把 scripts/ 拷到工程根;把 assets/promo-starter/src/ 拷到工程 src/;采集配置从 assets/capture.config.example.json 复制为工程根的 capture.config.json。不要从零手写窗口和动画工具。PromoFilm.tsx 是每个片子唯一需要真正手写的文件。

工作方式

1. 先问清三件事,其余自己定

只有这三件会改变片子的骨架,缺了必须问:

  1. 时长与用途(15/30/40/60 秒;投放在哪、给谁看)
  2. 叙事顺序(先讲什么后讲什么;哪个是主入口)
  3. 色调气质(暖深色 / 冷深色 / 明亮 / 跟随品牌页)

页面上能查到的(有几个板块、工具叫什么、链接指向哪)自己去页面上看,不要问用户。

2. 打开页面,摸清真实结构

动工前必须先采一轮截图并实际看图。常见的意外,早发现比返工便宜:

  • 用户给的链接不是他以为的那一页(分享链接常指向子页)。
  • 关键板块未登录不渲染(书架、收藏、个人数据),片子不能靠它承担叙事。
  • 页面在内层容器里滚动,fullPage: true 只截到一屏。
  • 浅色页面和深色页面混排,直接切会闪。

结构和用户的预期不一致时,带着截图说明现状,给出可行的替代取材,再继续。

3. 采集:一次采全,采准

运行 node scripts/capture.mjs,把目标写在工程根的 capture.config.json。要点见 capture.md,最关键的两条:

  • 先滚到底触发懒加载,再把 viewport 撑到 scrollHeight 高度截图,不要指望 fullPage。
  • deviceScaleFactor: 2,逻辑宽度固定 1440,之后所有坐标都用这套逻辑单位。

采完把每张图的真实像素高度填进 tokens.ts 的 PAGES,运镜全靠它换算。

4. 量坐标,不要目测

运行 node scripts/measure.mjs 产出 boxes.json,拿到每个关键元素的页面坐标。所有推进落点、平移目标、点击位置都从实测坐标算。目测的运镜一定会把四列网格裁成三列半,或者把指针点在链接旁边的空白上。

5. 写分镜,再搭片子

分镜先落成一张表:时间、画面、镜头动作、屏幕文案。一段只做一件事,一次只推进一个信息。若用户要求高级动效或提供参考片,先按 motion-direction.md 明确观看主次、关键事件、层间错相和可检验的禁止项,再实现镜头。

节奏基准(40 秒片):开场题字 3–4 秒,每个内容段 6–8 秒,转场 0.85 秒,收尾 3 秒。段落少于 6 秒观众来不及读完屏幕文案。

然后按 camera.md 搭 PromoFilm.tsx:每段一个 Layer,所有几何量用同一组 stops 打关键帧,转场用共享的 CUT 区间。

6. 渲染并逐段看图验收

渲染后必须抽帧并真的读图,不能只看渲染成功就交付。按 render-qa.md 做三项:

  1. 每段中点抽静帧,逐张检查取景是否裁切、文案是否叠压、指针是否落在链接上。
  2. node scripts/luma-sweep.mjs 扫全片亮度,确认转场处没有掉黑。
  3. ffprobe 确认时长、帧率、无音轨。

发现问题改参数重渲,不要在文档里记「已知瑕疵」蒙过去。

7. 需要口播时单独出稿

按 voiceover.md 写。铁律:口播不复述屏幕上已有的字,画面负责「是什么」,口播负责「为什么值得」。加了口播就要回头删掉画面里重复的正文行。

默认无音轨时,信息由底部字幕承担,规则相同:不复述页面上已有的字,每句 11–16 字。

8. 多画幅是两套取景,不是裁切

默认只做 1920×1080。用户明确要竖屏或 3:4 时:

  • 同一条叙事、同一套 CUT / 字幕 / 数字口径。
  • 另写一份 Film 文件重排窗口,不要把 16:9 裁成 9:16。桌面三栏页直接裁会切卡片。
  • 竖屏常见改法:网格改两列纵滚、落地页用短窗口避开会过期的模块、字幕上移躲开平台控件。
  • 规格:9:16 用 1080×1920;3:4 用 1080×1440。帧率仍 60。
9. 片中数字必须能从页面重新拉出来

专题数、工具数、节点数一律读自公开页,写进常量,采集当天记下日期。产品增减时先复核再重渲,不要用手写记忆。会随日期变化的模块(「今天一眼看懂」、黄历、个性化推荐)不要入镜。

硬约束

这些是踩过的坑,不要重犯:

  • 转场接黑:两层各自用 ease-out 曲线交叉淡化,不透明度之和小于 1,转场处会闪一下黑。必须用近线性曲线,且出场层的淡出区间与入场层的淡入区间完全相同。改完用 luma-sweep 验证,不要靠眼睛。
  • 浅色页混排:浅色页放到深色画布上要整体压曝光到 0.93–0.95,否则切过去像闪光灯。这是调色,不改内容。
  • 窗口消失在背景里:近黑的产品页放在近黑画布上会糊成一团,窗口后面需要一层暖光 halo 和足够强的投影把它托起来。
  • Remotion 自带 ffmpeg 阉割:fps、crop 等滤镜被禁用。抽帧用 -r 控制输出帧率,裁切一律用 CSS overflow 做,不要写滤镜。
  • 静音音轨:Remotion 即使没有音频源也会写一条静音轨。交付前用 remotion ffmpeg -i in.mp4 -c:v copy -an out.mp4 剥掉,不要重编码视频。
  • 字体:中文用 @remotion/google-fonts 载入并 waitUntilDone(),不要依赖系统字体,渲染机上不一定有。
  • Windows 浏览器路径:Playwright 会去找沙箱缓存。采集前先 $env:PLAYWRIGHT_BROWSERS_PATH="$env:LOCALAPPDATA\ms-playwright",否则报 Executable doesn't exist。
  • 浅色片不要压曝光:全程浅色页时 grade 保持 1,用略深于页面的画布加投影分层。只有深浅混排才压到 0.93–0.95。
  • 大图不要同时挂载:同一段里多张 2× 长截图 alpha 接近 0 时直接 return null。六张 2880px 图一起解码会报 EncodingError。
  • 渲染并发:出现解码错误时加 --concurrency=2,不要默默降画质。

最终回复

说明:成片路径与规格(分辨率/帧率/时长/有无音轨/体积)、叙事顺序、素材来源页面、做过的调色与隐藏处理、验收结论,以及改时长、改文案、改运镜分别改哪个文件。

© ChenShuo2004, 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 21 other files (scripts, references, assets) in cs-web-promo-film of ChenShuo2004/cs-skills.

  • SKILL.md
  • agents/openai.yaml
  • assets/capture.config.example.json
  • assets/promo-starter/src/Root.tsx
  • assets/promo-starter/src/index.ts
  • assets/promo-starter/src/promo/PromoFilm.tsx
  • assets/promo-starter/src/promo/Window.tsx
  • assets/promo-starter/src/promo/anim.ts
  • assets/promo-starter/src/promo/fonts.ts
  • assets/promo-starter/src/promo/tokens.ts
  • assets/promo-starter/src/promo/ui.tsx
  • references/camera.md
  • references/capture.md
  • references/motion-direction.md
  • references/quality-checklist.md
  • … and 7 more

Open the folder on GitHubat commit 6f5009d

Compare with similar skills

Cs Web Promo Film 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.

Cs Web Promo Film compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cs Web Promo Film this skillChenShuo2004/cs-skills197—~1.1kAutomated safety check: PassMIT
Playwright Browser Demo Recordingdigitalsamba/claude-code-video-toolkit2.2k1 repos~3.2kAutomated safety check: PassMIT
Eva Feature Screenshotvvedantb/eva101—~3.2kAutomated safety check: NotesMIT
Whiteboard Videotrustfuture/simon-skills382—~1.8kAutomated safety check: NotesMIT
Immersive Short Videoxrkseek/XRK-AGT138—~1kAutomated safety check: PassMIT
Michel UI Demo RecorderPackmindHub/packmind318—~6.4kAutomated safety check: PassApache-2.0

Similar skills

  • Playwright Browser Demo Recording

    digitalsamba/claude-code-video-toolkit

    Records browser interactions as video with Playwright, covering viewport sizing, cursor highlighting, and converting output for Remotion.

    2.2k GitHub starsUsed in 1 repo~3.2k tokens
    Media & CreativeAuto-check passed
  • Grab a single clean HD screenshot of a new eva feature from the real running app (Playwright at deviceScaleFactor 2, 1280 layout captured crisp at 2560×1440, dev overlays hidden) and write a tweet…

    101 GitHub stars~3.2k tokensUpdated today
    Media & CreativeAuto-check: notes
  • Whiteboard Video

    trustfuture/simon-skills

    手绘白板风"边画边讲"讲解视频出片 skill(Excalidraw 风格逐笔动画 + 火山引擎配音 + 烧录字幕 + 品牌水印与片尾卡 + 横竖两张封面 + 各平台发布文案)。当用户说"做一期白板视频 / 边画边讲 / 手绘讲解视频 / 用 excalidraw 做视频 / whiteboard video",或要在本仓库里新建一期、改场景、换贴纸或真实…

    382 GitHub stars~1.8k tokensUpdated 17 days ago
    Media & CreativeAuto-check: notes
  • Immersive Short Video

    xrkseek/XRK-AGT

    Produce immersive vertical short videos (口播/科普/产品讲解) without AI-slop aesthetics.

    138 GitHub stars~1k tokensUpdated 10 days ago
    Media & CreativeAuto-check passed
  • Michel UI Demo Recorder

    PackmindHub/packmind

    Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.

    318 GitHub stars~6.4k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated today
    Media & CreativeAuto-check passed

More from ChenShuo2004/cs-skills

All 26 skills in this repo
  • Cs Checkpoint Version

    ChenShuo2004/cs-skills

    A skill your agent uses when the user asks to save the current repository version, create a rollback point, checkpoint dirty worktree changes, preserve staged/unstaged/untracked files before risky…

    197 GitHub stars~1.1k tokensUpdated 3 days ago
    Auto-check passed
  • Cs Code Video

    ChenShuo2004/cs-skills

    用代码做动画视频:页面暴露 render(t),Playwright 逐帧截图 + FFmpeg 合成 mp4,可接合成配乐、出图和配音。通用模式先明确主题、规格、风格和声音,出风格卡、分镜与关键帧后逐镜制作;Vibe知识大赏模式额外查证来源、记录真实素材许可、先渲 10 秒样片。触发词包括…

    197 GitHub stars~2.1k tokensUpdated 3 days ago
    Auto-check passed
  • Cs Knowledge Film

    ChenShuo2004/cs-skills

    制作明确要求暗夜星空、衬线双语字幕与金色光点风格的知识解说片,或用户显式调用 $cs-knowledge-film:从概念与画面隐喻设计,到口播、场景 spec、配音和 1080p 渲染。普通科普视频不默认套用这一视觉模板;网页产品演示、ChatCut 策划和电商视频复刻各用对应 skill。

    197 GitHub stars~806 tokensUpdated 3 days ago
    Auto-check passed
  • Cs Auto Videl

    ChenShuo2004/cs-skills

    A skill your agent uses when the user types $cs-auto-videl or asks for Douyin/TikTok ecommerce video workflows, including competitor replication, strong-Hook nine-grid promptimage.md to image2…

    197 GitHub stars~2.1k tokensUpdated 3 days ago
    Auto-check passed
  • 当用户要把产品事实、口播、数字人、产品界面和 CTA 制作成可验收的数字人产品介绍视频时使用:统一预检 ChatCut、FFmpeg、ComfyUI、Fish/TTS 与 Remotion,按 plan、sample、batch 三种模式编排,先完成可审批样片再批量或出成片。用于有明确产品包的横版/竖版产品视频流水线;不要用于通用自动剪辑、电商短视频复刻、纯视频选题策划或未经确认的批量生成与发布。

    197 GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check passed
  • Cs Code Story Video

    ChenShuo2004/cs-skills

    把中文口播、角色和参考素材制作成可验收的 16:9 代码叙事视频:A-roll 角色讲述、全屏场景 B-roll、真实音频时码、Remotion 样片与成片、3:4/4:3 杂志风封面。仅用于代码驱动的叙事视频,不替代 ChatCut 剪辑、数字人产品片或电商复刻。

    197 GitHub stars~541 tokensUpdated 3 days ago
    Auto-check passed

Questions about Cs Web Promo Film

What does Cs Web Promo Film do?

把真实网页做成 30–60 秒产品演示宣传片:Playwright 采集页面长截图,Remotion 用虚拟浏览器窗口做推进、平移、滚动和点击,渲染可交付 mp4,并可附口播稿。触发词包括 $cs-web-promo-film、网页宣传片、产品演示片、把这个网页做成视频、产品功能演示。不用于网页幻灯片、静态海报、真人出镜、电商对标复刻(改用 $cs-auto-videl)、ChatCut…. Cs Web Promo Film is an agent skill from ChenShuo2004/cs-skills.

When should I use Cs Web Promo Film?

Cs Web Promo Film fits situations like: tasks that involve Video production; tasks that involve Browser testing.

How do I install Cs Web Promo Film in Claude Code?

Run `npx skills add ChenShuo2004/cs-skills --skill cs-web-promo-film -a claude-code`. Or copy the skill folder (cs-web-promo-film in ChenShuo2004/cs-skills) into .claude/skills/cs-web-promo-film in your project. Claude Code loads it when a task matches its description.

How do I install Cs Web Promo Film in Codex?

Run `npx skills add ChenShuo2004/cs-skills --skill cs-web-promo-film -a codex`. Or copy the skill folder (cs-web-promo-film in ChenShuo2004/cs-skills) into .agents/skills/cs-web-promo-film in your project. Codex loads it when a task matches its description.

Can I use Cs Web Promo Film 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 ChenShuo2004/cs-skills --skill cs-web-promo-film -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cs-web-promo-film, .gemini/skills/cs-web-promo-film, .github/skills/cs-web-promo-film and .opencode/skills/cs-web-promo-film in your project.

What does Cs Web Promo Film need to run?

Going by SKILL.md and its folder, Cs Web Promo Film needs TypeScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.

Does Cs Web Promo Film 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 Cs Web Promo Film 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Cs Web Promo Film use?

Cs Web Promo Film 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 Cs Web Promo Film use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 6.4k tokens, read only when the agent opens those files.

What are the alternatives to Cs Web Promo Film?

Skills that share tags, products or a category with Cs Web Promo Film: Playwright Browser Demo Recording (digitalsamba/claude-code-video-toolkit, 2.2k stars), Eva Feature Screenshot (vvedantb/eva, 101 stars), Whiteboard Video (trustfuture/simon-skills, 382 stars) and Immersive Short Video (xrkseek/XRK-AGT, 138 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cs Web Promo Film?

ChenShuo2004 (a GitHub user) maintains it in ChenShuo2004/cs-skills, which has 197 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 8, 2026.

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