Marketing Os
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
Write a product positioning document and messaging framework.
$ npx skills add mohitagw15856/pm-claude-skills --skill product-positioning-doc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mohitagw15856/pm-claude-skills product-positioning-doc --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/mohitagw15856/pm-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/product-positioning-doc .claude/skills/product-positioning-doc && 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 "product-positioning-doc" agent skill from https://github.com/mohitagw15856/pm-claude-skills/tree/main/skills/product-positioning-doc into .claude/skills/product-positioning-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-positioning-doc", 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/mohitagw15856/pm-claude-skills/tree/main/skills/product-positioning-docType 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 mohitagw15856/pm-claude-skills --skill product-positioning-doc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mohitagw15856/pm-claude-skills product-positioning-doc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/product-positioning-doc .agents/skills/product-positioning-doc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "product-positioning-doc" agent skill from https://github.com/mohitagw15856/pm-claude-skills/tree/main/skills/product-positioning-doc into .agents/skills/product-positioning-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-positioning-doc", 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 mohitagw15856/pm-claude-skills --skill product-positioning-doc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mohitagw15856/pm-claude-skills product-positioning-doc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/product-positioning-doc .cursor/skills/product-positioning-doc && 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 "product-positioning-doc" agent skill from https://github.com/mohitagw15856/pm-claude-skills/tree/main/skills/product-positioning-doc into .cursor/skills/product-positioning-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-positioning-doc", 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/mohitagw15856/pm-claude-skills.git --path skills/product-positioning-doc--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 mohitagw15856/pm-claude-skills --skill product-positioning-doc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mohitagw15856/pm-claude-skills product-positioning-doc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/product-positioning-doc .gemini/skills/product-positioning-doc && 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 "product-positioning-doc" agent skill from https://github.com/mohitagw15856/pm-claude-skills/tree/main/skills/product-positioning-doc into .gemini/skills/product-positioning-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-positioning-doc", 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 mohitagw15856/pm-claude-skills product-positioning-docInstalls 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 mohitagw15856/pm-claude-skills --skill product-positioning-doc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/product-positioning-doc .github/skills/product-positioning-doc && 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 "product-positioning-doc" agent skill from https://github.com/mohitagw15856/pm-claude-skills/tree/main/skills/product-positioning-doc into .github/skills/product-positioning-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-positioning-doc", 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 mohitagw15856/pm-claude-skills --skill product-positioning-doc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mohitagw15856/pm-claude-skills product-positioning-doc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mohitagw15856/pm-claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/product-positioning-doc .opencode/skills/product-positioning-doc && 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 "product-positioning-doc" agent skill from https://github.com/mohitagw15856/pm-claude-skills/tree/main/skills/product-positioning-doc into .opencode/skills/product-positioning-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-positioning-doc", 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.
product-positioning-docWrite a product positioning document and messaging framework.
Product Positioning Doc is an agent skill from mohitagw15856/pm-claude-skills. Write a product positioning document and messaging framework. Use when asked to define product positioning, write a positioning statement, build a messaging framework, or create a messaging hierarchy. Produces a complete positioning doc with category definition, target customer, differentiation, proof points, messaging pillars, and persona-specific messaging.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/category-choice.md`, `references/worked-example.md` and `templates/positioning-canvas.md`).
It sits in Marketing & SEO, covering Positioning and messaging. The repository describes itself as: 1255 professional Agent Skills for Claude, ChatGPT, Gemini, Cursor & Codex — PRDs, postmortems, leases, medical bills, layoffs, go-bags, new countries. Plain markdown, MIT, in… The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1cbf1f0. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Product Positioning Doc loads about 3.6k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 96 tokens; SKILL.md has 1,866 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 mohitagw15856/pm-claude-skills at commit 1cbf1f0, republished under its MIT licence (© mohitagw15856). 1,866 words, ~3,569 tokens.
.claude/skills/product-positioning-doc/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This skill produces a complete product positioning document following the April Dunford positioning methodology. Output covers category definition, target customer, unique attributes, proof points, and a messaging hierarchy — ready to align GTM, marketing, sales, and product teams.
Ask the user for these if not provided:
Version: [1.0] Owner: [PMM / Founder / Marketing lead] Date: [Date] Status: [Draft / Reviewed / Approved] Approved by: [Names — this document must be signed off by product, marketing, and sales leadership before use]
[2–3 sentences describing why positioning is being done now. Is this a new product, a pivot, a segment expansion, or a rebrand? What triggered this work?]
Positioning objective: [e.g. Move from being perceived as a reporting tool to being the category leader in revenue intelligence for mid-market SaaS]
What category does this product compete in?
This is the frame of reference your customer uses to understand what the product is. Choose the wrong category and everything downstream — competitors, value, messaging — is wrong.
Category: [e.g. Customer data platform / Revenue intelligence / No-code automation / Modern data stack]
Why this category, not [alternative category]? [1–2 sentences on why this framing serves the customer's understanding better than adjacent categories]
Category maturity:
Be precise. Vague targeting produces vague positioning.
| Dimension | Description |
|---|---|
| Primary buyer / decision-maker | [e.g. VP of Revenue Operations at B2B SaaS companies with 100–500 employees] |
| Primary user | [e.g. Revenue operations analysts and sales ops managers] |
| Company profile | [Industry, size, growth stage, technology stack] |
| Business context | [What is happening in their world that makes them a buyer right now?] |
| Trigger event | [What just happened that makes them start looking for a solution? — e.g. Sales team grew past 20 reps, forecast accuracy became a board question] |
Who this is NOT for: [Be explicit about who to exclude — this sharpens the positioning for those who are a fit]
What do buyers use today when they don't have your product? List all real alternatives — not just direct competitors.
| Alternative | Who uses it | Why buyers choose it | What they sacrifice |
|---|---|---|---|
| [Direct competitor — e.g. Gong] | [Enterprise sales teams] | [Market leader, strong brand, sales coaching features] | [Price, complexity, implementation time] |
| [Adjacent tool — e.g. Salesforce reports] | [CRM-native users] | [Already have it, no additional cost] | [No AI analysis, manual reporting, siloed data] |
| [Status quo — e.g. spreadsheets + manual tracking] | [SMB, early-stage] | [Free, flexible, no change management] | [Time-consuming, error-prone, not scalable] |
| [Build in-house] | [Tech companies with data teams] | [Custom to their exact needs] | [Engineering cost, maintenance burden, 12+ month timeline] |
Key insight: [What does this competitive landscape tell you about what your positioning must emphasise? e.g. "Every alternative either costs too much or requires too much manual work — positioning must nail 'fast time to value' and 'right-sized for mid-market'"]
These are the features or capabilities your product has that alternatives genuinely cannot match — or cannot match at the same level. Do not list features that competitors also have.
| Attribute | What it is | What it enables (outcome) | Why competitors can't match it |
|---|---|---|---|
| [e.g. Real-time CRM sync] | [Bidirectional sync with any CRM in <5 min] | [Reps see clean data in the tools they already use — no toggle between systems] | [Legacy competitors require 3-month integration projects; Salesforce-native tools only work in SFDC] |
| [e.g. Natural language querying] | [Ask questions in plain English, get data visualisations] | [Anyone on the revenue team can answer their own questions without SQL or waiting for an analyst] | [BI tools require analyst training; direct competitors have rigid dashboards] |
| [...] | [...] | [...] | [...] |
The core differentiation thesis: [1–2 sentences that unite the above attributes into a single "why we win" statement — this is internal language, not customer-facing yet]
Back up the differentiation claims with evidence:
| Claim | Proof point | Source |
|---|---|---|
| [Fastest time to value] | [Average customer is live in 4 hours vs 3 months for legacy alternatives] | [Customer data — average across [X] accounts] |
| [Better forecast accuracy] | [Customers achieve X% improvement in forecast accuracy within 90 days] | [Case study: [Company Name] — link] |
| [Loved by operators, not just managers] | [NPS of X among end users; 4.8/5 on G2 for ease of use] | [G2 reviews, internal NPS survey] |
Proof gaps: [Are there claims you're making that you don't yet have evidence for? List them — they are either research projects or risks to the positioning]
The classic positioning template — internal only, never used verbatim in marketing:
For [target customer] who [trigger event or problem statement], [Product name] is a [category] that [primary differentiated value — the outcome, not the feature]. Unlike [primary alternative], [Product name] [the key thing that makes you different and better].
Draft positioning statement:
For [VP Revenue Ops at B2B SaaS companies with 50–500 reps] who [struggle to forecast accurately as the sales team scales], [Product Name] is a [revenue intelligence platform] that [gives every rep and manager accurate, real-time pipeline visibility without any analyst overhead]. Unlike [Salesforce dashboards and manual reporting], [Product Name] [syncs automatically, surfaces risks before they become missed quarters, and needs no configuration by IT or data teams].
Translate the positioning into customer-facing language at three levels:
[The simplest possible statement of what you do and for whom. Used in ads, hero sections, email signatures.]
Options to test:
[Used in the hero section of the website, email subject lines, and sales decks. Must be instantly clear.]
[e.g. "[Product Name] gives revenue teams real-time pipeline visibility and accurate forecasting — without spreadsheets, custom reports, or waiting for an analyst. Get live in 4 hours, not 4 months."]
[Used in PR, partnership briefs, longer sales emails, and About Us pages.]
[e.g. "[Product Name] is the revenue intelligence platform built for mid-market SaaS teams. Unlike legacy BI tools that require analyst configuration or CRM dashboards that only show what's already happened, [Product Name] automatically syncs your entire revenue stack, surfaces AI-driven risk signals, and lets any rep or manager ask questions in plain English. [X] customers use [Product Name] to call their quarters with confidence. Average time to live: 4 hours."]
The core positioning is the same, but different buyers care about different aspects:
| Persona | Their primary concern | Lead message | Proof point to use |
|---|---|---|---|
| VP Revenue Operations | Forecast accuracy, board credibility | "Call your quarter with confidence" | [X% improvement in forecast accuracy across N customers] |
| Head of Sales | Rep productivity, pipeline visibility | "Your reps close more, not admin more" | [X hours/week saved per rep] |
| CEO / CFO | Revenue predictability, cost | "Stop being surprised by quarters" | [ROI: £X saved vs X headcount required to replicate manually] |
| Sales Rep | Ease of use, not adding to workload | "It works in the tools you already use" | [Ease of use NPS, G2 reviews] |
Do say:
Don't say:
Positioning only works if it's implemented consistently:
| Team | What they need | Format | Owner | When |
|---|---|---|---|---|
| Marketing | Tagline, value prop, messaging hierarchy | This doc + messaging playbook | PMM | [Date] |
| Sales | Competitive positioning, objection responses | One-pager + deck | Sales enablement | [Date] |
| Product | Category definition, target customer | Shared doc + roadmap input | PMM + PM | [Date] |
| Leadership | Full positioning narrative | This doc | PMM | [Date] |
This skill ships with support files — use them when they are available:
references/category-choice.md — Choosing Your Category: the Highest-Leverage Positioning Decision. Apply it while producing the output; it carries the calibration and judgment calls the method summary above compresses.templates/positioning-canvas.md — a fill-in version of the deliverable with the quality gates inline. Offer it when the user wants to work the document themselves rather than have it generated.Score any output of this skill before handing it over; 32+ is ship-quality.
| Dimension | 0 | 5 | 10 |
|---|---|---|---|
| Differentiation specificity | Positioning could describe any competitor; attributes are feature names | Some genuinely unique attributes, but mixed with table-stakes features and no "why competitors can't match it" reasoning | Every attribute is an outcome, provable, paired with why alternatives can't copy it, and traceable to one primary claim |
| Category & alternatives honesty | Category asserted without justification; alternatives list only named competitors | Category justified, but status quo/DIY missing from alternatives or the key insight is generic | Category argued against a named adjacent category, alternatives include the status quo, and the key insight visibly drives the messaging |
| Evidence discipline | Proof points are unsourced claims ("customers say…") | Most claims sourced, but proof gaps unacknowledged and stale data undated | Every proof point cites a dated source, and gaps are listed with what sales may not claim until they close |
| Persona message fit | Same headline for every persona, written in company jargon | Personas differ but wording is internal vocabulary, or the "not for" section is missing | Each persona has a distinct lead message in the buyer's own words with a matched proof point, and "not for" works as a qualification tool |
© mohitagw15856, 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 3 other files (references) in skills/product-positioning-doc of mohitagw15856/pm-claude-skills.
Open the folder on GitHubat commit 1cbf1f0
Product Positioning Doc 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 |
|---|---|---|---|---|---|---|
| Product Positioning Doc this skillmohitagw15856/pm-claude-skills | 1.4k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Marketing OsYuzzyuk/marketing-os | 540 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Revenue Centric Designheliocosta-dev/revenue-centric-design | 740 | — | ~1.6k | Automated safety check: Pass | Custom licence | |
| Startup Positioningferdinandobons/startup-skill | 1.2k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Stanley Druckenmiller Investmenttradermonty/claude-trading-skills | 3k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| B2b Playbookweilun88313/B2B-Playbook | 203 | — | ~3.1k | Automated safety check: Pass | Proprietary |
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
heliocosta-dev/revenue-centric-design
Playbook for designing SaaS and startup products that convert, retain, and monetize — landing pages & CRO, checkout & forms, onboarding/activation, churn reduction, pricing psychology, dashboards…
ferdinandobons/startup-skill
Market positioning strategy using the April Dunford framework, enriched with JTBD discovery, Moore positioning statement, and Neumeier's Onliness Test.
tradermonty/claude-trading-skills
Druckenmiller Strategy Synthesizer - Integrates 8 upstream skill outputs (Market Breadth, Uptrend Analysis, Market Top, Macro Regime, FTD Detector, VCP Screener, Theme Detector, CANSLIM Screener)…
weilun88313/B2B-Playbook
Turn B2B marketing work into evidence-aware outputs using market, positioning, demand, account-program, lifecycle, and tool-selection guidance.
onvoyage-ai/gtm-engineer-skills
Researches a company from its URL and produces a Brand DNA file covering positioning, audience, competitors, voice, and messaging.
mohitagw15856/pm-claude-skills
Compare the total cost of car ownership across buy-new, buy-used, lease, and keep-your-current-car — depreciation, insurance, maintenance ramp, and fuel over a real horizon, not just the monthly…
mohitagw15856/pm-claude-skills
Build a customer health scorecard for a specific account. An agent skill from mohitagw15856/pm-claude-skills.
mohitagw15856/pm-claude-skills
Compute who gets what at each exit price from a cap table — liquidation preferences, conversion points, and where the founders' share collapses.
mohitagw15856/pm-claude-skills
Apply prioritisation frameworks (RICE, MoSCoW, Kano, ICE, Opportunity Scoring) to rank features and backlog items.
mohitagw15856/pm-claude-skills
Compute a financial-independence (FIRE) target and years-to-reach with every assumption labeled as an assumption — plus a sensitivity table instead of a single false-precision answer.
mohitagw15856/pm-claude-skills
Derive a freelance day/hourly rate backwards from target income, honest billable utilization, overhead, and the self-employment tax premium — the arithmetic that proves a rate is not salary÷2000.
Categories
Write a product positioning document and messaging framework. Product Positioning Doc is an agent skill from mohitagw15856/pm-claude-skills. Write a product positioning document and messaging framework.
Product Positioning Doc fits situations like: asked to define product positioning; write a positioning statement; build a messaging framework; create a messaging hierarchy.
Run `npx skills add mohitagw15856/pm-claude-skills --skill product-positioning-doc -a claude-code`. Or copy the skill folder (skills/product-positioning-doc in mohitagw15856/pm-claude-skills) into .claude/skills/product-positioning-doc in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mohitagw15856/pm-claude-skills --skill product-positioning-doc -a codex`. Or copy the skill folder (skills/product-positioning-doc in mohitagw15856/pm-claude-skills) into .agents/skills/product-positioning-doc 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 mohitagw15856/pm-claude-skills --skill product-positioning-doc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/product-positioning-doc, .gemini/skills/product-positioning-doc, .github/skills/product-positioning-doc and .opencode/skills/product-positioning-doc in your project.
SKILL.md names no scripts, command-line tools or credentials: Product Positioning Doc is instructions for the agent only.
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.
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.
Product Positioning Doc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k 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.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Product Positioning Doc: Marketing Os (Yuzzyuk/marketing-os, 540 stars), Revenue Centric Design (heliocosta-dev/revenue-centric-design, 740 stars), Startup Positioning (ferdinandobons/startup-skill, 1.2k stars) and Stanley Druckenmiller Investment (tradermonty/claude-trading-skills, 3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mohitagw15856 (a GitHub user) maintains it in mohitagw15856/pm-claude-skills, which has 1,434 GitHub stars. The repository holds 1,348 skills in this directory. The repository was last updated on October 9, 2026.
Source: mohitagw15856/pm-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.