Live Research
brightdata/skills
Produce a deep, multi-source, cited research brief on a topic from live web data using Bright Data's Discover API (intent-ranked web search + parsed page content).
This skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey…
$ npx skills add shepherdjerred/monorepo --skill deep-research -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install shepherdjerred/monorepo deep-research --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/shepherdjerred/monorepo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/deep-research .claude/skills/deep-research && 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 "deep-research" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/deep-research into .claude/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", 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/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/deep-researchType 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 shepherdjerred/monorepo --skill deep-research -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install shepherdjerred/monorepo deep-research --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/deep-research .agents/skills/deep-research && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deep-research" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/deep-research into .agents/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", 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 shepherdjerred/monorepo --skill deep-research -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install shepherdjerred/monorepo deep-research --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/deep-research .cursor/skills/deep-research && 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 "deep-research" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/deep-research into .cursor/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", 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/shepherdjerred/monorepo.git --path packages/dotfiles/dot_agents/skills/deep-research--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 shepherdjerred/monorepo --skill deep-research -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install shepherdjerred/monorepo deep-research --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/deep-research .gemini/skills/deep-research && 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 "deep-research" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/deep-research into .gemini/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", 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 shepherdjerred/monorepo deep-researchInstalls 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 shepherdjerred/monorepo --skill deep-research -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/deep-research .github/skills/deep-research && 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 "deep-research" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/deep-research into .github/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", 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 shepherdjerred/monorepo --skill deep-research -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install shepherdjerred/monorepo deep-research --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/deep-research .opencode/skills/deep-research && 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 "deep-research" agent skill from https://github.com/shepherdjerred/monorepo/tree/main/packages/dotfiles/dot_agents/skills/deep-research into .opencode/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", 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.
deep-researchThis skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey…
Deep Research is an agent skill from shepherdjerred/monorepo. This skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey the landscape of", "compare approaches to", "write a report on", "gather information about", or wants multi-source investigation with synthesis and citations. Also triggers on "what are the best practices for", "how do others solve", or "state of the art in" when the user clearly wants breadth and depth beyond a simple…
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/academic-sources.md`, `references/evidence-standards.md` and `references/research-patterns.md`).
It sits in Research & Science, covering Deep research, Report writing and Literature review. The repository describes itself as: Monorepo for all of my projects. The licence is GPL-3.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 46ddf2f. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteBashGlobGrepAgentWebSearchWebFetchTaskCreateTaskUpdate…and 1 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From 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.
Deep Research loads about 4.7k tokens when it runs, and up to ~9.2k if it reads all its reference files. Until then it costs about 135 tokens; SKILL.md has 2,049 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Bash, Glob, Grep, Agent, WebSearch, WebFetch, TaskCreate, TaskUpdate, TaskListAutomated 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 shepherdjerred/monorepo at commit 46ddf2f, republished under its GPL-3.0 licence (© shepherdjerred). 2,049 words, ~4,731 tokens.
.claude/skills/deep-research/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Conduct thorough, multi-source research on a topic with iterative investigation, cross-verification, and structured synthesis into a cited report.
Deep research goes beyond a single search query. It decomposes a question into sub-topics, investigates each through multiple sources, identifies gaps, iterates to fill them, and synthesizes findings into a structured report with citations. The process is designed for transparency — the user sees the plan, approves it, and can steer the investigation.
Use TaskCreate and TaskUpdate throughout the research process to give the user visibility into progress. This is mandatory — do not skip task creation.
activeForm to show what's happening in the spinner (e.g., "Investigating [sub-question]").in_progress when you begin working on them and completed when done.Keep task subjects short and specific. The description field should include enough context to understand scope.
Research intensity is controlled by an effort parameter: low, medium (default), high, or ultra. This acts as an exponential multiplier across the entire process.
| Parameter | Low | Medium | High | Ultra |
|---|---|---|---|---|
| Sub-questions | 3-5 | 5-7 | 8-12 | 15-20 |
| Parallel agents | 2 | 3-4 | 6-8 | 10+ |
| Sources per question | ~4 | ~8 | ~15 | ~25+ |
| Iteration rounds (max) | 2 | 3 | 4 | 6 |
| Adversarial review | Lightweight (no source verification) | Full | Full + source verification | Full + multiple reviewers + source verification |
| Output format | Markdown + PDF | Markdown + PDF | Markdown + PDF | Markdown + PDF (detailed) |
| Report length | 3-5 pages | 6-12 pages | 15-25 pages | 30+ pages |
Determining effort:
/deep-research high: topic)All parameters in the workflow below (sub-question count, agent count, iteration limits, etc.) must follow the effort level table. When launching sub-agents, pass the effort level so they calibrate their depth accordingly.
Execute these phases in order. Do not skip Phase 1 or Phase 2.
Before any searching, decompose the user's question:
## Research Plan: [Topic]
### Sub-questions
1. [Sub-question] — Sources: [where to look]
2. [Sub-question] — Sources: [where to look]
...
### Effort: [low/medium/high/ultra]
- Sub-questions: [N] (per effort table)
- Sources per question: ~[M]
- Parallel agents: [P]
- Max iterations: [I]
Proceed with this plan?For each sub-question, execute this loop:
SEARCH → READ → EXTRACT → EVALUATE → (iterate if gaps remain)Search strategy:
WebSearch for broad discoveryWebFetch if lightpanda fails on a particular URLreferences/research-patterns.mdAgent tool to parallelize independent sub-question investigations — launch multiple research sub-agents for unrelated sub-questions simultaneouslygh search repos, gh search code, and browse READMEs directlySource priorities (per user preferences):
Per-source extraction:
Gap analysis after each round:
Context management:
When multiple agents investigated overlapping sub-questions, reconcile before drafting:
Compile findings into a structured markdown draft report:
# [Research Topic]
## Summary
[2-3 paragraph executive summary of key findings]
## Findings
### [Sub-topic 1]
[Synthesized findings with inline citations as numbered references, e.g. [1]]
### [Sub-topic 2]
...
## Key Takeaways
- [Actionable insight 1]
- [Actionable insight 2]
- ...
## Open Questions
- [What remains unknown or contested]
## Sources
1. [Title](URL) — [brief description]
2. [Title](URL) — [brief description]
...Synthesis principles:
After drafting the report, perform an adversarial review scaled to the effort level (see effort table: lightweight at low, full at medium, full + source verification at high, full + multiple reviewers at ultra). This is a separate, critical pass whose sole job is to find problems. The adversary has no attachment to the draft — it exists to stress-test it.
Launch a review sub-agent with this mandate:
Act as a skeptical, adversarial reviewer of the following research report. Your job is to find every weakness, not to be polite. Evaluate:
- Factual accuracy — Are any claims unsupported, exaggerated, or contradicted by the cited sources? Are citations used correctly or do they misrepresent the source?
- Missing perspectives — What important angles, counterarguments, or stakeholder viewpoints are absent? What would a knowledgeable critic say is missing?
- Logical gaps — Are there non-sequiturs, unwarranted conclusions, or leaps in reasoning? Does the evidence actually support the takeaways?
- Source quality — Are any sources low-credibility, outdated, or over-relied upon? Is the source diversity sufficient?
- Bias detection — Does the report favor one side without acknowledging trade-offs? Is it selling a conclusion rather than presenting evidence?
- Staleness risk — Are any claims likely outdated given the current date? Are there fast-moving areas where the findings may already be wrong?
Return a structured critique with severity ratings (critical / major / minor) for each issue found. Be specific — cite the exact claim or section that is problematic and explain why.
You have access to WebSearch, WebFetch, and Bash (for lightpanda). For any claim you flag as potentially inaccurate or exaggerated, spot-check it by visiting the cited source URL or searching for counter-evidence. Do not rely solely on logical analysis — verify at least the 3 most critical factual claims directly.
The adversary must NOT:
Take the original draft report and the adversarial critique, and produce the final report. This is an editorial pass, not a rubber stamp.
For each adversarial finding:
| Severity | Action |
|---|---|
| Critical | Must be resolved — correct the claim, add the missing evidence, or remove the unsupported assertion. If resolution requires additional research, do a targeted follow-up search. |
| Major | Should be resolved — add the missing perspective, strengthen the sourcing, or add a caveat. |
| Minor | Use judgment — fix if straightforward, otherwise note in Open Questions. |
Editorial principles:
The final report should read as if it was written correctly the first time — the adversarial process is invisible to the reader.
Before proceeding to Phase 6, walk through the Quality Checklist item by item. For each item, note pass/fail. If any item fails, fix it before delivering. This is a gate, not a suggestion.
Every research report is delivered in three formats: Markdown (.md), Typst (.typ), and PDF (.pdf).
mkdir -p ~/.claude-extra/research/ to ensure the directory exists.~/.claude-extra/research/[topic-slug].md.typst-authoring skill (especially references/visualizations.md) and invest effort in:~/.claude-extra/research/[topic-slug].typ.typst compile ~/.claude-extra/research/[topic-slug].typ ~/.claude-extra/research/[topic-slug].pdf. If compilation fails, fix the Typst source (common issues: unescaped special characters #, @, $ need \#, \@, \$ in content text) and retry.open ~/.claude-extra/research/[topic-slug].pdf to open the rendered PDF for the user. This step is mandatory — always open the PDF. Only open the PDF once the entire research process is 100% complete — all phases finished, editorial synthesis done, quality checklist passed, and final PDF compiled without errors. Never open intermediate or draft versions.Maximize throughput by running independent work concurrently:
| Task | Parallelizable? | How |
|---|---|---|
| Investigating unrelated sub-questions | Yes | Launch multiple Agent sub-agents |
| Searching + reading within one sub-question | Sequential | Each search informs the next |
| Cross-verifying a claim across sources | Yes | Fetch multiple URLs in parallel |
| Gap analysis | Sequential | Requires all prior findings |
| Adversarial review | Yes | Launch as sub-agent while preparing delivery notes |
| Editorial fixes requiring new research | Yes | Targeted searches in parallel |
When launching parallel sub-agents, give each a focused prompt:
Important: Do not use SendMessage to communicate status updates about background agents. Plain text output is directly visible to the user — just output text normally. SendMessage is for team communication between agents, not for status updates to the user.
Before delivering the final report, verify:
| Research Type | Emphasis | Example |
|---|---|---|
| Technology comparison | Feature matrices, trade-offs, community sentiment | "Compare X vs Y vs Z" |
| Best practices survey | Consensus patterns, anti-patterns, practitioner advice | "How do teams handle X?" |
| Landscape survey | Categorization, major players, trends | "What tools exist for X?" |
| Deep dive | Architecture, implementation details, edge cases | "How does X work internally?" |
| Decision support | Pros/cons, risk assessment, recommendations | "Should we use X?" |
Adjust source priorities and report structure to match the research type. For comparisons, use tables. For best practices, lead with the consensus view. For landscape surveys, categorize before detailing.
references/research-patterns.md — Source evaluation heuristics, iteration patterns, and report structure templates by research typeWhen generating Typst output, load the typst-authoring skill for language reference and document templates.
© shepherdjerred, GPL-3.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 3 other files (references) in packages/dotfiles/dot_agents/skills/deep-research of shepherdjerred/monorepo.
Open the folder on GitHubat commit 46ddf2f
Deep Research 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 |
|---|---|---|---|---|---|---|
| Deep Research this skillshepherdjerred/monorepo | 112 | — | ~4.7k | Automated safety check: Notes | GPL-3.0 | |
| Live Researchbrightdata/skills | 264 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Deep Research WorkflowTokenRhythm/opensquilla | 7.1k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Deep Researchsanjay3290/ai-skills | 430 | 10 repos | ~683 | Automated safety check: Notes | Apache-2.0 | |
| Horizontal-Vertical Deep ResearchKKKKhazix/khazix-skills | 21k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Academic Research PipelineImbad0202/academic-research-skills | 51k | — | ~15k | Automated safety check: Pass | Custom licence |
brightdata/skills
Produce a deep, multi-source, cited research brief on a topic from live web data using Bright Data's Discover API (intent-ranked web search + parsed page content).
TokenRhythm/opensquilla
Runs multi-round research in three stages with a persisted state file, evidence tracking and a long-form report with per-claim citations.
sanjay3290/ai-skills
Execute autonomous multi-step research using Google Gemini Deep Research Agent.
KKKKhazix/khazix-skills
Runs a two-axis deep research method on a product, company, concept or person: its full history over time, compared with peers today, delivered as a typeset PDF report.
Imbad0202/academic-research-skills
Orchestrates a ten-stage academic workflow from research to finished manuscript, including integrity checks, two rounds of peer review and revision.
Imbad0202/academic-research-skills-codex
A router skill that sends academic work such as literature reviews, drafting, citation checks, peer review and revision to the right workflow in the ARS suite.
shepherdjerred/monorepo
Bun runtime APIs and current operational patterns for files, processes, modules, networking, databases, tests, and deployment.
shepherdjerred/monorepo
Current Bun test runner guidance for discovery, isolation, parallelism, sharding, changed tests, mocks, timers, snapshots, coverage, DOM Testing Library, and integration teardown.
shepherdjerred/monorepo
Current Bun workspace guidance for isolated and hoisted linkers, catalogs, filters, scripts, dependency classes, lockfiles, lifecycle trust, caches, publishing, TypeScript package exports, and…
shepherdjerred/monorepo
This skill should be used when the user asks to "create a Figma design", "design in Figma", "make a Figma mockup", "create an app icon", "design UI", "render JSX to Figma", "export from Figma"…
shepherdjerred/monorepo
Current Fish shell scripting, functions, abbreviations, completions, variables, events, configuration, plugins, testing, and safety guidance.
shepherdjerred/monorepo
Complete GitHub operations via gh CLI - repos, issues, PRs, code search, releases, file management When user mentions GitHub, repositories, issues, PRs, gh command, code search, commits, file contents
Categories
This skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey…. Deep Research is an agent skill from shepherdjerred/monorepo. This skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey the landscape of", "compare approaches to", "write a report on", "gather information about", or wants multi-source investigation with synthesis and citations.
Deep Research fits situations like: asks to deep research; research this topic; investigate thoroughly; do a deep dive on.
Run `npx skills add shepherdjerred/monorepo --skill deep-research -a claude-code`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/deep-research in shepherdjerred/monorepo) into .claude/skills/deep-research in your project. Claude Code loads it when a task matches its description.
Run `npx skills add shepherdjerred/monorepo --skill deep-research -a codex`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/deep-research in shepherdjerred/monorepo) into .agents/skills/deep-research 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 shepherdjerred/monorepo --skill deep-research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deep-research, .gemini/skills/deep-research, .github/skills/deep-research and .opencode/skills/deep-research in your project.
Going by SKILL.md and its folder, Deep Research needs the command-line tools its instructions call (gh). Its frontmatter pre-approves these tools: Read, Write, Bash, Glob, Grep, Agent, WebSearch, WebFetch, TaskCreate, TaskUpdate, TaskList.
SKILL.md contains no URLs. Its commands use gh, 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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Deep Research is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k 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 4.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Deep Research: Live Research (brightdata/skills, 264 stars), Deep Research Workflow (TokenRhythm/opensquilla, 7.1k stars), Deep Research (sanjay3290/ai-skills, 430 stars) and Horizontal-Vertical Deep Research (KKKKhazix/khazix-skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
shepherdjerred (a GitHub user) maintains it in shepherdjerred/monorepo, which has 112 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on October 7, 2026.
Source: shepherdjerred/monorepo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.