Okx Cex Market
dex-original/okx-agent-trade-kit
A skill your agent uses when the user asks for: price of any asset, ticker, order book, candles, OHLCV, funding rate, open interest, OI change scanner, market screener (top movers, high-volume…
Smart Money analytics on OKX: leaderboard traders, position tracking, trade records, closed-position history, aggregated consensus signals, and signal history.
$ npx skills add okx/agent-skills --skill okx-cex-smartmoney -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install okx/agent-skills okx-cex-smartmoney --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/okx/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/okx-cex-smartmoney .claude/skills/okx-cex-smartmoney && 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 "okx-cex-smartmoney" agent skill from https://github.com/okx/agent-skills/tree/github-main/skills/okx-cex-smartmoney into .claude/skills/okx-cex-smartmoney/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "okx-cex-smartmoney", 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/okx/agent-skills/tree/github-main/skills/okx-cex-smartmoneyType 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 okx/agent-skills --skill okx-cex-smartmoney -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install okx/agent-skills okx-cex-smartmoney --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/okx/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/okx-cex-smartmoney .agents/skills/okx-cex-smartmoney && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "okx-cex-smartmoney" agent skill from https://github.com/okx/agent-skills/tree/github-main/skills/okx-cex-smartmoney into .agents/skills/okx-cex-smartmoney/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "okx-cex-smartmoney", 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 okx/agent-skills --skill okx-cex-smartmoney -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install okx/agent-skills okx-cex-smartmoney --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/okx/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/okx-cex-smartmoney .cursor/skills/okx-cex-smartmoney && 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 "okx-cex-smartmoney" agent skill from https://github.com/okx/agent-skills/tree/github-main/skills/okx-cex-smartmoney into .cursor/skills/okx-cex-smartmoney/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "okx-cex-smartmoney", 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/okx/agent-skills.git --path skills/okx-cex-smartmoney--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 okx/agent-skills --skill okx-cex-smartmoney -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install okx/agent-skills okx-cex-smartmoney --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/okx/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/okx-cex-smartmoney .gemini/skills/okx-cex-smartmoney && 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 "okx-cex-smartmoney" agent skill from https://github.com/okx/agent-skills/tree/github-main/skills/okx-cex-smartmoney into .gemini/skills/okx-cex-smartmoney/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "okx-cex-smartmoney", 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 okx/agent-skills okx-cex-smartmoneyInstalls 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 okx/agent-skills --skill okx-cex-smartmoney -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/okx/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/okx-cex-smartmoney .github/skills/okx-cex-smartmoney && 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 "okx-cex-smartmoney" agent skill from https://github.com/okx/agent-skills/tree/github-main/skills/okx-cex-smartmoney into .github/skills/okx-cex-smartmoney/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "okx-cex-smartmoney", 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 okx/agent-skills --skill okx-cex-smartmoney -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install okx/agent-skills okx-cex-smartmoney --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/okx/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/okx-cex-smartmoney .opencode/skills/okx-cex-smartmoney && 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 "okx-cex-smartmoney" agent skill from https://github.com/okx/agent-skills/tree/github-main/skills/okx-cex-smartmoney into .opencode/skills/okx-cex-smartmoney/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "okx-cex-smartmoney", 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.
okx-cex-smartmoneySmart Money analytics on OKX: leaderboard traders, position tracking, trade records, closed-position history, aggregated consensus signals, and signal history.
Okx Cex Smartmoney is an agent skill from okx/agent-skills. Smart Money analytics on OKX: leaderboard traders, position tracking, trade records, closed-position history, aggregated consensus signals, and signal history. Use this skill when the user asks about 聪明钱, smart money, 牛人榜, leaderboard, top traders, 交易员排行, trader ranking, trader positions, trader PnL, 交易员持仓, 交易员收益, 历史平仓, closed positions, realized PnL track record, trade history, 成交记录, smart money signal, 聪明钱信号, long/short ratio, 多空比, capital flow, 资金流向, position conviction, 仓位强度, entry price distribution, smart…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/signal-commands.md`, `references/templates.md` and `references/trader-commands.md`).
It sits in Business, Finance & HR, covering Trading and backtesting. It works with OKX. The repository describes itself as: Plug-and-play AI agent skills for OKX — letting any LLM agent trade, manage portfolios, query live market data, and run grid/DCA bots through a single okx CLI, no API wiring… The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9c180cc. 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.
Shell commands in SKILL.md call:
npmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
okx.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Okx Cex Smartmoney loads about 2.8k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 172 tokens; SKILL.md has 1,093 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); files beside SKILL.md are not scanned.
The full file from okx/agent-skills at commit 9c180cc, republished under its MIT licence (© okx). 1,093 words, ~2,773 tokens.
.claude/skills/okx-cex-smartmoney/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Smart Money leaderboard, trader analytics, position tracking, and aggregated consensus signals.
Before running any command, follow ../_shared/preflight.md.
Use metadata.version from this file's frontmatter as the reference for Step 2.
okx CLI:npm install -g @okx_ai/okx-trade-cliokx config init # select site -> follow browser OAuth flowokx smartmoney traders-by-filter --limit 5Security: NEVER accept credentials in chat. Guide users to
okx config initfor setup.
Run both commands before any authenticated command — the apiKey field from okx auth status --json is the auth-binary's internal state and is always false regardless of whether ~/.okx/config.toml has an API-key profile. okx config show --json is the only authoritative source for API-key presence. The auth method is detected during preflight Step 2 and remembered for the session.
okx config show --json # reveals API-key profiles (TOML config)
okx auth status --json # reveals OAuth session state (auth-binary state)Apply in this order — first match wins:
config show --json has any profile with a non-empty api_key field → API Key mode. Proceed.auth status --json returns "status":"logged_in" → OAuth mode. Proceed."status":"pending" — login is in progress, wait for it to complete."status":"not_logged_in" — stop, load okx-cex-auth skill and follow login steps, wait for completion.Smart Money does not support demo mode (leaderboard data is live-only). Always use live mode silently — don't mention it unless there's an error.
--profile <live-profile> (the profile without demo=true).On authentication errors (401 / "Session expired" / "Run okx auth login first"): stop immediately, load okx-cex-auth skill and follow re-authentication steps, then retry.
| User intent | Route to skill |
|---|---|
| Market prices, tickers, candles | okx-cex-market |
| Spot / swap / futures / options orders | okx-cex-trade |
| Account balance, positions, transfers | okx-cex-portfolio |
| Grid / DCA trading bots | okx-cex-bot |
| Simple Earn, Flash Earn, On-chain Earn, Dual Investment (双币赢), or AutoEarn (自动赚币) | okx-cex-earn |
| Smart Money leaderboard, signals, trader analytics | This skill |
| Command | Type | Auth | Description |
|---|---|---|---|
smartmoney traders-by-filter | READ | Required | Leaderboard ranking by pool conditions (period / minPnl / minWinRate / maxDrawdown / minAum). Paginated by authorId. Names use min* / max* prefix — disjoint from signal-side *Tier namespace. |
smartmoney performance-by-trader --authorIds <id1,id2> | READ | Required | PnL / win-rate profile for one or more authorIds. --sortBy <pnl|pnlRatio> (default pnl) and --period <3|7|30|90> (default 90) drive ranking and lookback window. |
smartmoney search-trader --keyword <name> | READ | Required | Search Top Traders by nickname keyword (≤10 results, ranked by follower count). |
smartmoney trader-positions --authorId <id> | READ | Required | Current open positions for one trader. Filter by --instId <BTC-USDT-SWAP> (or bare base ccy). |
smartmoney trader-positions-history --authorId <id> | READ | Required | Closed-position history with realized PnL. Paginated by posId. |
smartmoney trader-orders-history --authorId <id> | READ | Required | Order / fill records. Paginated by ordId. |
| Command | Type | Auth | Description |
|---|---|---|---|
smartmoney signal-overview-by-filter | READ | Required | Multi-asset signal, tier-filtered pool. Pick coins via --topInstruments (top-N hottest) OR --instCcyList BTC,ETH,SOL (specific) — exactly one. Use this to discover the hottest coins among smart money. |
smartmoney signal-overview-by-trader --authorIds <id1,id2> | READ | Required | Multi-asset signal aggregated over a hand-picked set of traders (authorIds-direct-lookup). Pick coins via --topInstruments OR --instCcyList. --sortBy (default pnl) and --period (default 7) drive capability metrics. Capability tier filters (pnlTier / winRateTier / etc.) not exposed. |
smartmoney signal-trend-by-filter --instCcy <ccy> [--asOfTime <yyyyMMddHH>] | READ | Required | Single-coin smart-money signal time-series anchored at asOfTime (defaults to current UTC hour), tier-filtered pool. --granularity 1h|1d, --limit controls bucket count. |
smartmoney signal-trend-by-trader --authorIds <id1,id2> --instCcy <ccy> [--asOfTime <yyyyMMddHH>] | READ | Required | Single-coin smart-money signal time-series aggregated over a hand-picked set of traders (authorIds-direct-lookup). --granularity 1h|1d (default 1h), --sortBy (default pnl), --period (default 7). Capability tier filters not exposed. |
Time anchor:
signal-trend-by-{filter,trader}take an optional--asOfTime <yyyyMMddHH>(10-digit UTC hour, e.g.2026050100). Returns the latest--limitbuckets ending at that anchor. Omit--asOfTimeto use the current UTC hour.signal-overview-by-{filter,trader}does not expose any time input — handler always uses the current hour.
Multi-coin selection:
signal-overview-by-filterandsignal-overview-by-traderaccept--topInstruments(top-N hottest) or--instCcyList BTC,ETH,SOL(explicit base ccy list). The two flags are mutually exclusive. Passing neither defaults to--topInstruments=20.
⚠ Linear-only scope: All four
signal-*commands aggregate USDT-margined and USDS-margined contracts only. Coin-margined contracts (BTC-USD-SWAP,BTC-USD-DELIVERY,ETH-USD-SWAP, …) are excluded by upstream — a trader's coin-margined positions are silently dropped fromlongNotional/shortNotional/tradersWithPosition. If a trader holds large coin-margined exposure but no linear position on that coin, they will not appear in the signal at all. To see a trader's full position book including coin-margined, runsmartmoney trader-positions --authorId <id>.
Need a trader's full picture? The old
smartmoney tradercomposite command is removed. Runperformance-by-trader,trader-positions, andtrader-orders-historyin parallel.
For full command syntax and parameters, read {baseDir}/references/trader-commands.md and {baseDir}/references/signal-commands.md.
Before any authenticated command: see Credential & Profile Check. Always use live mode silently.
Trader discovery / ranking:
smartmoney traders-by-filter with sorting/filtering. See {baseDir}/references/trader-commands.md.performance-by-trader, trader-positions, trader-orders-history in parallel (the old composite smartmoney trader is removed).smartmoney search-trader --keyword <name> (returns ≤10 matches with authorId to feed into other tools).smartmoney performance-by-trader --authorIds <id1,id2> (direct lookup; --sortBy / --period honored, defaults pnl / 90).smartmoney trader-positions --authorId <id>.smartmoney trader-orders-history --authorId <id> (paginated).smartmoney trader-positions-history --authorId <id> (paginated).Signal analysis:
smartmoney signal-overview-by-filter --instCcyList BTC. See {baseDir}/references/signal-commands.md.smartmoney signal-overview-by-filter --instCcyList BTC,ETH,SOL.smartmoney signal-overview-by-trader --authorIds <id1,id2> (defaults to top-20 hottest among the group, or pass --instCcyList).smartmoney signal-overview-by-filter (defaults to --topInstruments=20). See {baseDir}/references/signal-commands.md.smartmoney signal-trend-by-filter --instCcy <ccy> [--asOfTime <yyyyMMddHH>] [--limit 24] (or signal-trend-by-trader --authorIds <ids> --instCcy <ccy> for an authorIds-scoped trend).All commands are READ-only — no confirmation needed. Always pass --json and render results as Markdown tables.
For multi-step workflows (recommend traders then drill down, signal analysis with context), read {baseDir}/references/workflows.md.
--json to list/query commands and render results as a Markdown table — never paste raw terminal output.curl -I https://www.okx.comsignal-trend-by-{filter,trader} take an optional --asOfTime <yyyyMMddHH> anchor (10-digit UTC hour); omit to use the current UTC hour. --limit controls how many buckets are returned ending at that anchor. signal-overview-by-{filter,trader} takes no time input — handler always uses the current hour.For number/time formatting and response structure conventions, read {baseDir}/references/templates.md.
© okx, MIT. 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 4 other files (references) in skills/okx-cex-smartmoney of okx/agent-skills.
Open the folder on GitHubat commit 9c180cc
Okx Cex Smartmoney 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 |
|---|---|---|---|---|---|---|
| Okx Cex Smartmoney this skillokx/agent-skills | 187 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Okx Cex Marketdex-original/okx-agent-trade-kit | 110 | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Fintoolsecond-state/fintool | 316 | — | ~5.9k | Automated safety check: Pass | None | |
| Okx Cex Smartmoneydex-original/okx-agent-trade-kit | 110 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Okx Sentiment Trackerdex-original/okx-agent-trade-kit | 110 | 1 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Okx Growth Competitioninternet-court/internet-court-skill | 6.6k | 2 repos | ~3k | Automated safety check: Pass | MIT |
dex-original/okx-agent-trade-kit
A skill your agent uses when the user asks for: price of any asset, ticker, order book, candles, OHLCV, funding rate, open interest, OI change scanner, market screener (top movers, high-volume…
second-state/fintool
Financial trading CLIs — spot and perp trading on Hyperliquid, Binance, Coinbase, OKX.
dex-original/okx-agent-trade-kit
Smart Money analytics on OKX: leaderboard traders, position tracking, trade records, aggregated consensus signals, and signal history.
dex-original/okx-agent-trade-kit
A skill your agent uses when the user asks about: 'any crypto news', 'latest news', 'market update', 'daily briefing', 'BTC news', 'ETH news', 'news on SOL', 'search SEC ETF', 'regulation news'…
internet-court/internet-court-skill
List OKX Agentic Wallet exclusive trading competitions, register users for contests, track participation and leaderboard rankings, and claim won rewards.
internet-court/internet-court-skill
Register for the OKX.AI Trading Hackathon or explain its entry requirements and eligibility.
okx/agent-skills
Manages OKX Simple Earn (flexible savings/lending), Flash Earn, On-chain Earn (staking/DeFi), Dual Investment (DCD/双币赢), and AutoEarn (自动赚币) via the okx CLI.
okx/agent-skills
Automatically monitors OKX Flash Earn, Fixed Earn and Flexible Earn opportunities, sends push notifications, and guides subscription.
okx/agent-skills
A skill your agent uses when the user wants to 'login/log in/sign in', 'authenticate', 'authorize', 'connect OKX account', 'set up credentials', 'first time setup', 'configure okx', '登录', '授权'…
okx/agent-skills
A skill your agent uses when the user asks for: price of any asset, ticker, order book, candles, OHLCV, funding rate, open interest, OI change scanner, market screener (top movers, high-volume…
okx/agent-skills
A skill your agent uses when the user asks to: 'find a trading skill', 'search for skills', 'install a skill', 'add a skill', 'download a skill', 'browse skill marketplace', 'what skills are…
okx/agent-skills
A skill your agent uses when the user asks to 'buy BTC', 'sell ETH', 'place a limit order', 'place a market order', 'cancel my order', 'amend my order', 'long BTC perp', 'short ETH swap', 'open a…
Works with
Categories
Smart Money analytics on OKX: leaderboard traders, position tracking, trade records, closed-position history, aggregated consensus signals, and signal history. Okx Cex Smartmoney is an agent skill from okx/agent-skills. Smart Money analytics on OKX: leaderboard traders, position tracking, trade records, closed-position history, aggregated consensus signals, and signal history.
Okx Cex Smartmoney fits situations like: the user asks about 聪明钱; trader positions; closed positions; realized PnL track record.
Run `npx skills add okx/agent-skills --skill okx-cex-smartmoney -a claude-code`. Or copy the skill folder (skills/okx-cex-smartmoney in okx/agent-skills) into .claude/skills/okx-cex-smartmoney in your project. Claude Code loads it when a task matches its description.
Run `npx skills add okx/agent-skills --skill okx-cex-smartmoney -a codex`. Or copy the skill folder (skills/okx-cex-smartmoney in okx/agent-skills) into .agents/skills/okx-cex-smartmoney 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 okx/agent-skills --skill okx-cex-smartmoney -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/okx-cex-smartmoney, .gemini/skills/okx-cex-smartmoney, .github/skills/okx-cex-smartmoney and .opencode/skills/okx-cex-smartmoney in your project.
Going by SKILL.md and its folder, Okx Cex Smartmoney needs the command-line tools its instructions call (npm and curl). Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: okx.com; the agent is likely to contact it when it follows the instructions. 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. Review the folder before installing.
Okx Cex Smartmoney is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k 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 9.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Okx Cex Smartmoney: Okx Cex Market (dex-original/okx-agent-trade-kit, 110 stars), Fintool (second-state/fintool, 316 stars), Okx Cex Smartmoney (dex-original/okx-agent-trade-kit, 110 stars) and Okx Sentiment Tracker (dex-original/okx-agent-trade-kit, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
okx (a GitHub organization) maintains it in okx/agent-skills, which has 187 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on September 23, 2026.
Source: okx/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.