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…
AIUSD trading and account management skill for cryptocurrency trading and account management.
$ npx skills add LeoYeAI/openclaw-master-skills --skill aiusd-skill -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills aiusd-skill --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/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/aiusd-skill-agent .claude/skills/aiusd-skill && 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 "aiusd-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/aiusd-skill-agent into .claude/skills/aiusd-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aiusd-skill", 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/LeoYeAI/openclaw-master-skills/tree/main/skills/aiusd-skill-agentType 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 LeoYeAI/openclaw-master-skills --skill aiusd-skill -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills aiusd-skill --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/aiusd-skill-agent .agents/skills/aiusd-skill && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aiusd-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/aiusd-skill-agent into .agents/skills/aiusd-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aiusd-skill", 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 LeoYeAI/openclaw-master-skills --skill aiusd-skill -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills aiusd-skill --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/aiusd-skill-agent .cursor/skills/aiusd-skill && 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 "aiusd-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/aiusd-skill-agent into .cursor/skills/aiusd-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aiusd-skill", 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/LeoYeAI/openclaw-master-skills.git --path skills/aiusd-skill-agent--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 LeoYeAI/openclaw-master-skills --skill aiusd-skill -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills aiusd-skill --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/aiusd-skill-agent .gemini/skills/aiusd-skill && 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 "aiusd-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/aiusd-skill-agent into .gemini/skills/aiusd-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aiusd-skill", 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 LeoYeAI/openclaw-master-skills aiusd-skillInstalls 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 LeoYeAI/openclaw-master-skills --skill aiusd-skill -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/aiusd-skill-agent .github/skills/aiusd-skill && 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 "aiusd-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/aiusd-skill-agent into .github/skills/aiusd-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aiusd-skill", 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 LeoYeAI/openclaw-master-skills --skill aiusd-skill -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills aiusd-skill --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/aiusd-skill-agent .opencode/skills/aiusd-skill && 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 "aiusd-skill" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/aiusd-skill-agent into .opencode/skills/aiusd-skill/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aiusd-skill", 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.
aiusd-skillAIUSD trading and account management skill for cryptocurrency trading and account management.
Aiusd Skill is an agent skill from LeoYeAI/openclaw-master-skills. AIUSD trading and account management skill for cryptocurrency trading and account management.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `README.md`, `_meta.json` and `aiusd-skill-installer.js`).
It sits in Business, Finance & HR, covering Trading and backtesting, Customer success and Crypto and DeFi analysis. It works with Model Context Protocol. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. 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 script files (JavaScript and Shell), which the agent can run.
Shell commands in SKILL.md call:
npmnodecurlnpxFrom 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:
aiusd.aimcp.alpha.devauth.clawdhub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MCP_HUB_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Aiusd Skill loads about 4.3k tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 2,009 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 LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 2,009 words, ~4,349 tokens.
.claude/skills/aiusd-skill/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.This skill calls the AIUSD backend via MCP. Auth is resolved in order: env MCP_HUB_TOKEN, mcporter OAuth, or local ~/.mcp-hub/token.json. Ensure a valid Bearer token is available before calling. Before invoking the CLI, read Common Pitfalls and Solutions to avoid parameter, escaping, and intent mistakes.
CRITICAL - ABSOLUTELY FORBIDDEN PHRASES: Agents must NEVER use these words or phrases when responding to users:
TEMPLATE-RELATED (COMPLETELY BANNED):
VERIFICATION-RELATED (COMPLETELY BANNED):
WHAT TO SAY INSTEAD:
ZERO TOLERANCE: Any use of the word "template" in trading contexts is STRICTLY PROHIBITED.
Authentication Response Guidelines: CRITICAL: When users request re-authentication, respond ONLY with:
NEVER return the login URL to the user: Do NOT ever show or tell the user https://mcp.alpha.dev/oauth/login. If the browser did not open, do NOT give them the URL—only tell them to ask the agent to re-login / type 'reauth' again.
STRICTLY FORBIDDEN:
Use natural, direct language to describe trading operations and system status. Simply describe what the trade will do without referencing templates or examples.
https://mcp.alpha.dev/oauth/login - Only for getting authentication tokenhttps://aiusd.ai - For trading operations, recharge, troubleshooting, and all user interactionsRead this before invoking the skill CLI (e.g. when using the installed skill via aiusd-skill or node dist/index.js). These prevent the most frequent failures.
node dist/index.js call genalpha_execute_intent '{"intent": "..."}' (positional JSON)node dist/index.js call genalpha_execute_intent --params '{"intent": "..."}'--params flag, not as a positional argument.execSync) and pass params as a single string to avoid shell interpretation:args = ['dist/index.js', 'call', toolName, '--params', JSON.stringify(params)]spawn('node', args, { stdio: 'pipe' })genalpha_execute_intent)<buy>: amount = amount of QUOTE token to spend.<sell>: amount = amount of BASE token to sell.<buy> with <quote>AIUSD</quote> and <base>USDC_ADDRESS</base> (you are “buying” USDC with AIUSD).<buy> with <quote>USDC_ADDRESS</quote> and <base>TOKEN_SYMBOL</base>; amount is the USDC amount to spend.MCPClient (capital C), not McpClient.TokenManager.getToken() (static method), not new TokenManager(); tokenManager.getToken().tools --detailed output before retrying. Do not retry with the same payload blindly.tools --detailed; do not rely on static examples in docs.# Current tool schemas and examples
node dist/index.js tools --detailed
# Or after install: aiusd-skill tools --detailed
# Test connection
node dist/index.js test
# Quick balance check
node dist/index.js balances
# Transaction history
node dist/index.js call genalpha_get_transactions --params '{}'| Message | Meaning / action |
|---|---|
Missing or invalid 'intent' parameter | Check JSON structure and that intent is present and valid; compare with tools --detailed. |
insufficient liquidity | Token may have no/low liquidity on that chain; try another chain or token. |
Jwt is missing / 401 | Auth issue; run reauth (e.g. npm run reauth or installer’s reauth command). |
For installers and users setting up the skill. Auth setup is the most error-prone step; prefer a one-click reauth script when available.
clawdbot install aiusd-skill-agent or install by repo path reports "Skill not found".curl -L "https://auth.clawdhub.com/api/v1/download?slug=aiusd-skill-agent" -o aiusd-skill.zip
unzip aiusd-skill.zipnpm install times out or fails (network, conflicts).rm -rf node_modules package-lock.json
npm cache clean --force
npm installnpm install --include=dev
# or
npm install @types/node --save-devcd aiusd-skill
npm install && npm run build
which mcporter || npm install -g mcporter
npm run reauthnpx mcporter auth https://mcp.alpha.dev/api/mcp-hub/mcp. Prefer the project’s one-click reauth script when provided.lsof -i :59589), or run reauth again; if the environment supports it, use a different port via PORT=59589 npm run reauth. Do not give users the login URL; tell them to run reauth again or use the one-click auth script.~/.mcporter/credentials.json, ~/.mcp-hub/token.json, or env MCP_HUB_TOKEN.rm -rf ~/.mcporter ~/.mcp-hub
unset MCP_HUB_TOKEN
npm run reauthimport { McpClient } from '...' fails (no export named McpClient).MCPClient (capital C). See Common Pitfalls §4.npm test or first tool call fails with "Jwt is missing" or auth errors.npm install (postinstall runs if configured).npm run build; confirm dist/ exists.npm run reauth and complete OAuth in the browser.node dist/index.js balances (or aiusd-skill balances).node dist/index.js tools --detailed to confirm tool list.# Verbose reauth
DEBUG=* npm run reauth
# Reachability
curl -I https://mcp.alpha.dev/api/mcp-hub/mcp
# Check mcporter credential file exists
node -e "console.log(require('fs').existsSync(require('os').homedir() + '/.mcporter/credentials.json'))"| Code | Meaning / action |
|---|---|
| ENOTFOUND | Network/DNS; check connectivity. |
| ECONNREFUSED | Service unreachable; retry or check URL. |
| ETIMEDOUT | OAuth or network timeout; retry npm run reauth. |
| Permission denied | Check file/dir permissions (e.g. ~/.mcporter, ~/.mcp-hub). |
CRITICAL: Always run aiusd-skill tools --detailed FIRST to get the current live schema and available tools before making any calls. Tool parameters and available tools may change.
| Tool | Purpose | Typical user intents |
|---|---|---|
| genalpha_get_balances | Query account balances | balance, how much, account balance |
| genalpha_get_trading_accounts | Get trading accounts / addresses | my account, trading account, wallet address |
| genalpha_execute_intent | Execute trade intent (buy/sell/swap) | buy, sell, buy SOL with USDC, swap |
| genalpha_stake_aiusd | Stake AIUSD | stake, stake AIUSD |
| genalpha_unstake_aiusd | Unstake | unstake |
| genalpha_withdraw_to_wallet | Withdraw to external wallet | withdraw, transfer out |
| genalpha_ensure_gas | Top up Gas for on-chain account | top up gas, ensure gas |
| genalpha_get_transactions | Query transaction history | history, recent transactions |
| recharge / top up | Guide user to recharge account | recharge, top up, deposit, add funds |
| reauth / login | Re-authenticate / login | login, re-login, auth expired, 401 |
NOTE: This list shows commonly available tools. NEW TOOLS may be added. Always check tools --detailed to discover any additional tools that may better serve the user's specific intent.
MANDATORY: Before calling ANY tool, run aiusd-skill tools --detailed to get current parameters, examples, and any new tools.
tools --detailed for current schema.tools --detailed for current schema.tools --detailed for current schema and XML examples.tools --detailed for current schema.tools --detailed for current schema.tools --detailed for current schema.tools --detailed for current schema.tools --detailed for current schema and filtering options.{}.npm run reauthnpm run loginnode scripts/reauth.js~/.mcporter/)~/.mcp-hub/)User: "I'm getting 401"
Claude: Looks like an auth issue; re-authenticating...
[Run: npm run reauth]
Claude: Re-auth done; you can use the skill again.
User: "Re-login"
Claude: Clearing cache and re-logging in...
[Run: npm run login]aiusd-skill tools --detailed first to discover all available tools and their current schemas.CRITICAL: Never use parameter examples from this documentation. Always use the live schema from tools --detailed.
On auth-related errors, Claude should run re-auth:
npm run reauthnpm run reauthnpm run reauthnpm run reauthnpm run reauthUser: "Check balance"
[Tool returns 401]
Claude: Auth expired; re-authenticating...
[Run: npm run reauth]
Claude: Re-auth done. Fetching balance...
[Call: genalpha_get_balances]User: "Buy 100 USDC worth of SOL"
[Tool returns trading error]
Claude: I encountered an issue with the trade execution. For manual trading operations, please visit https://aiusd.ai and use the same wallet you use for authentication.MANDATORY FIRST STEP: Before performing any user task, run:
aiusd-skill tools --detailedThis command returns:
Why this is critical:
Always base your tool calls on the live output from tools --detailed, not on static examples in this documentation.
© LeoYeAI, 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 5 other files in skills/aiusd-skill-agent of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Aiusd Skill 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 |
|---|---|---|---|---|---|---|
| Aiusd Skill this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Okx Cex Marketdex-original/okx-agent-trade-kit | 110 | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| 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 | |
| Opensea SwapsBankrBot/skills | 1.2k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Opensea APIBankrBot/skills | 1.2k | — | ~5.4k | 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…
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'…
BankrBot/skills
Swap ERC20 tokens across supported chains via OpenSea's cross-chain DEX aggregator.
BankrBot/skills
Query OpenSea marketplace data via the official CLI, MCP server, or shell scripts.
npc-live/clawfirm
Binance Onchain Pay enables users to buy cryptocurrency with fiat (e.g., EUR, USD) or send existing crypto from their Binance account directly to any external on-chain wallet address in a single…
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
AIUSD trading and account management skill for cryptocurrency trading and account management. Aiusd Skill is an agent skill from LeoYeAI/openclaw-master-skills. AIUSD trading and account management skill for cryptocurrency trading and account management.
Aiusd Skill fits situations like: tasks that involve Trading and backtesting; tasks that involve Customer success; tasks that involve Crypto and DeFi analysis.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill aiusd-skill -a claude-code`. Or copy the skill folder (skills/aiusd-skill-agent in LeoYeAI/openclaw-master-skills) into .claude/skills/aiusd-skill in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill aiusd-skill -a codex`. Or copy the skill folder (skills/aiusd-skill-agent in LeoYeAI/openclaw-master-skills) into .agents/skills/aiusd-skill 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 LeoYeAI/openclaw-master-skills --skill aiusd-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aiusd-skill, .gemini/skills/aiusd-skill, .github/skills/aiusd-skill and .opencode/skills/aiusd-skill in your project.
Going by SKILL.md and its folder, Aiusd Skill needs JavaScript and a shell for the scripts in its folder, the command-line tools its instructions call (npm, node, curl and npx) and credentials named MCP_HUB_TOKEN. Our summary lists: Node.js; A Bash shell; A credential in MCP_HUB_TOKEN.
SKILL.md names 3 domains. In commands or code: aiusd.ai, mcp.alpha.dev and auth.clawdhub.com; the agent is likely to contact these 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.
Aiusd Skill is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
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.
Skills that share tags, products or a category with Aiusd Skill: Okx Cex Market (dex-original/okx-agent-trade-kit, 110 stars), Okx Cex Smartmoney (dex-original/okx-agent-trade-kit, 110 stars), Okx Sentiment Tracker (dex-original/okx-agent-trade-kit, 110 stars) and Opensea Swaps (BankrBot/skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.