Marketing Os
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
For churned accounts, research what has changed since they left — new funding, team growth, competitor dissatisfaction, product updates that address their pain — then assess re-engagement potential…
$ npx skills add gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills customer-win-back-sequencer --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/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/outreach/composites/customer-win-back-sequencer .claude/skills/customer-win-back-sequencer && 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 "customer-win-back-sequencer" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/customer-win-back-sequencer into .claude/skills/customer-win-back-sequencer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "customer-win-back-sequencer", 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/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/customer-win-back-sequencerType 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 gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills customer-win-back-sequencer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/outreach/composites/customer-win-back-sequencer .agents/skills/customer-win-back-sequencer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "customer-win-back-sequencer" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/customer-win-back-sequencer into .agents/skills/customer-win-back-sequencer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "customer-win-back-sequencer", 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 gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills customer-win-back-sequencer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/outreach/composites/customer-win-back-sequencer .cursor/skills/customer-win-back-sequencer && 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 "customer-win-back-sequencer" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/customer-win-back-sequencer into .cursor/skills/customer-win-back-sequencer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "customer-win-back-sequencer", 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/gooseworks-ai/goose-skills.git --path skills/outreach/composites/customer-win-back-sequencer--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 gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills customer-win-back-sequencer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/outreach/composites/customer-win-back-sequencer .gemini/skills/customer-win-back-sequencer && 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 "customer-win-back-sequencer" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/customer-win-back-sequencer into .gemini/skills/customer-win-back-sequencer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "customer-win-back-sequencer", 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 gooseworks-ai/goose-skills customer-win-back-sequencerInstalls 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 gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/outreach/composites/customer-win-back-sequencer .github/skills/customer-win-back-sequencer && 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 "customer-win-back-sequencer" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/customer-win-back-sequencer into .github/skills/customer-win-back-sequencer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "customer-win-back-sequencer", 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 gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gooseworks-ai/goose-skills customer-win-back-sequencer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/outreach/composites/customer-win-back-sequencer .opencode/skills/customer-win-back-sequencer && 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 "customer-win-back-sequencer" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/outreach/composites/customer-win-back-sequencer into .opencode/skills/customer-win-back-sequencer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "customer-win-back-sequencer", 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.
customer-win-back-sequencerFor churned accounts, research what has changed since they left — new funding, team growth, competitor dissatisfaction, product updates that address their pain — then assess re-engagement potential…
Customer Win Back Sequencer is an agent skill from gooseworks-ai/goose-skills. For churned accounts, research what has changed since they left — new funding, team growth, competitor dissatisfaction, product updates that address their pain — then assess re-engagement potential and generate a personalized win-back email sequence with timing recommendations. Chains web research and LinkedIn monitoring with email sequence generation.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.meta.json`).
It sits in Marketing & SEO, covering Referral and retention marketing and Email marketing. It works with LinkedIn. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c650c6d. 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:
makeFrom 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.
Customer Win Back Sequencer loads about 2.8k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 719 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 gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 719 words, ~2,801 tokens.
.claude/skills/customer-win-back-sequencer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Not every churned customer is gone forever. This skill identifies which ones to pursue, finds the right re-engagement angle, and generates a personalized win-back sequence. Timing and relevance are everything — no generic "we miss you" emails.
Built for: Startups that have churned customers sitting in a spreadsheet with no plan to re-engage them. The best win-back campaigns are triggered by change — this skill monitors for those changes and strikes when the timing is right.
For each account in the churn list, research what's changed:
Search: "[company name]" funding OR raised OR "series" OR acquisition 2025 2026
Search: "[company name]" hiring OR "we're hiring" OR "growing team"
Search: "[company name]" launch OR "new product" OR expansion OR pivotExtract:
Search: "[contact name]" "[company name]" OR linkedin.com
Search: "[company name]" "[relevant title]" new OR hired OR promotedDetermine:
If you know which competitor they switched to:
Search: "[competitor name]" complaints OR issues OR "looking for alternative"
Search: "[competitor name]" site:g2.com negative reviews
Search: "[company name]" "[competitor name]" OR "switched from"Look for:
Match what's changed in your product against their churn reason:
| Churn Reason | Product Update | Win-Back Angle |
|---|---|---|
| "Too expensive" | New pricing tier / startup discount | Price-based re-engagement |
| "Missing [feature]" | [Feature] shipped | Feature announcement |
| "Too complex" | Simplified onboarding / UX overhaul | "We listened" narrative |
| "Switched to [competitor]" | Competitive advantage developed | Competitive displacement |
| "Didn't see ROI" | New ROI dashboard / case studies | Proof-based approach |
| "Champion left" | N/A — find new champion | Fresh start narrative |
| "Company downsized" | Company now growing again (from research) | Timing-based re-engagement |
Score each churned account's re-engagement potential:
Win-Back Score = (Change Signal × Churn Reason Addressability × Account Value) / Time Decay
Change Signal (1-5):
5 = Multiple strong signals (funding + growth + competitor issues)
4 = One strong signal (funding or significant growth)
3 = Moderate signal (hiring, product launch)
2 = Minor signal (still operating, no major changes)
1 = No detectable change
Churn Reason Addressability (1-3):
3 = You've directly fixed the reason they left
2 = Partially addressed or different angle available
1 = Same issues exist / unknown churn reason
Account Value (multiplier):
2.0x = Was top 20% by MRR
1.5x = Mid-tier MRR
1.0x = Lower MRR
Time Decay (divisor):
1.0 = Churned 3-6 months ago (sweet spot)
1.2 = Churned 6-12 months ago
1.5 = Churned 12-18 months ago
2.0 = Churned 18+ months ago| Tier | Score | Action |
|---|---|---|
| High Priority | 8+ | Full personalized sequence + founder outreach |
| Medium Priority | 4-7 | Personalized sequence |
| Low Priority | 1-3 | Batch campaign or skip |
Email 1: The Relevant Update (Day 0)
Subject options:
A: "[First name], [specific thing] changed since we last spoke"
B: "We fixed the thing that made you leave"
C: "[Company] + [Your Product] — worth another look?"
---
Hi [First name],
[1 sentence acknowledging they left — no guilt, no desperation]
Since then, we've [specific improvement that addresses their churn reason]:
- [Change 1 — most relevant to their pain]
- [Change 2]
- [Change 3]
[If you have a relevant customer proof point]:
"[Company in their space] switched back and saw [result]."
Would it be worth a 15-minute look at what's different?
[Soft CTA — no pressure]
[Signature]Email 2: The Proof Point (Day 7)
Subject: "How [similar company] is using [product] now"
Hi [First name],
Quick follow-up — wanted to share something relevant.
[Case study or proof point from a company similar to theirs]:
- [What they achieved]
- [Metric that matters]
[1 sentence connecting this to their specific situation]
[CTA — slightly stronger: "Want me to show you the new [feature] in 10 minutes?"]
[Signature]Email 3: The Offer (Day 14)
Subject: "[Specific offer — e.g., 'Free migration + 30 days on us']"
Hi [First name],
I know switching tools is a pain — that's usually what keeps people from
coming back even when the product has improved.
So we're making it easy:
- [Offer detail 1 — e.g., "We'll handle the full migration"]
- [Offer detail 2 — e.g., "30 days free to test everything"]
- [Offer detail 3 — e.g., "Dedicated onboarding session"]
[If applicable: "This offer is available through [date]"]
Worth a conversation?
[Signature]Email 4: The Breakup (Day 28)
Subject: "Closing the loop"
Hi [First name],
Totally understand if the timing isn't right — just wanted to
make sure this didn't slip through the cracks.
Quick summary of what's new:
→ [Key improvement 1]
→ [Key improvement 2]
→ [Standing offer, if applicable]
If anything changes on your end, my inbox is always open.
[Signature]
P.S. [Genuinely helpful resource — e.g., "We just published [relevant content].
Worth a read regardless of which tool you're using."]Shorter, less personalized but still relevant:
Email 1: Product update announcement + relevance to their use case Email 2: Customer proof point + specific offer Email 3: Soft breakup with resource share
If they switched to a known competitor:
Email 1: "How [product] compares to [competitor] today" — honest, non-aggressive comparison focused on what changed Email 2: Customer story of someone who switched back from that specific competitor Email 3: Offer + easy migration path
# Win-Back Opportunity Report — [DATE]
Churned accounts analyzed: [N]
Time window: [Churned between X and Y months ago]
---
## Summary
| Priority | Accounts | Total MRR Opportunity |
|----------|----------|----------------------|
| High Priority | [N] | $[X]/mo |
| Medium Priority | [N] | $[X]/mo |
| Low Priority / Skip | [N] | $[X]/mo |
**Total recoverable MRR:** $[X]/mo (estimated, assuming [Y%] win-back rate)
---
## High Priority Accounts
### [Company 1] — Churned: [date] | Former MRR: $[X]
**Churn reason:** [Reason]
**What's changed (them):** [Research findings]
**What's changed (us):** [Product updates that address their pain]
**Win-back angle:** [The core pitch]
**Contact:** [Name, title, email]
**Sequence:** [Attached — 4 emails, personalized]
### [Company 2] — ...
---
## Medium Priority Accounts
| Account | Churned | MRR | Churn Reason | Win-Back Angle | Score |
|---------|---------|-----|-------------|---------------|-------|
| [Name] | [Date] | $[X] | [Reason] | [Angle] | [N] |
---
## Email Sequences
### [Company 1] — Full Personalized Sequence
[Email 1: Subject + body]
[Email 2: Subject + body]
[Email 3: Subject + body]
[Email 4: Subject + body]
### [Company 2] — ...
---
## Accounts to Skip (and Why)
| Account | Reason to Skip |
|---------|---------------|
| [Name] | [Still in same situation / company shut down / too recent] |
---
## Win-Back Campaign Setup
If using Smartlead:
- Campaign name: "Win-Back — [Month] [Year]"
- Sequences: [Use generated sequences above]
- Timing: [Recommended send schedule]
- Sender: [Recommended — founder for high priority, CSM for medium]Save to clients/<client-name>/customer-success/win-back/win-back-report-[YYYY-MM-DD].md.
| Component | Cost |
|---|---|
| Web research per churned account | Free |
| LinkedIn research (optional) | ~$0.25-0.50 per account |
| Sequence generation | Free (LLM reasoning) |
| Total | Free — $5 (for ~10 accounts with LinkedIn research) |
linkedin-profile-post-scraper for contact monitoringreview-site-scraper for competitor dissatisfaction signalscold-email-outreach for campaign creation© gooseworks-ai, 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 1 other file in skills/outreach/composites/customer-win-back-sequencer of gooseworks-ai/goose-skills.
Open the folder on GitHubat commit c650c6d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 7, 2026.
Customer Win Back Sequencer 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 |
|---|---|---|---|---|---|---|
| Customer Win Back Sequencer this skillgooseworks-ai/goose-skills | 1.2k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Marketing OsYuzzyuk/marketing-os | 540 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Churn Preventionfreekmurze/dotfiles | 1k | 13 repos | ~4.4k | Automated safety check: Pass | None | |
| Smscoreyhaines31/marketingskills | 54k | 1 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Email Sequence Designeraaron-he-zhu/aaron-marketing-skills | 2.9k | 2 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Reactivation Specialistaaron-he-zhu/aaron-marketing-skills | 2.9k | 2 repos | ~4.1k | Automated safety check: Pass | Apache-2.0 |
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
freekmurze/dotfiles
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies.
coreyhaines31/marketingskills
When the user wants to plan, build, or optimize SMS, MMS, or WhatsApp marketing — including welcome flows, abandoned cart texts, post-purchase, win-back, promotional sends, or transactional/auth SMS.
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "design a welcome flow", "set up an abandoned-cart sequence", "build a light re-engagement branch inside a lifecycle flow", or "plan a cold-outbound…
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "build a win-back campaign", "re-engage lapsed subscribers", "run a re-permission / re-consent sweep", or "sunset my dead list"; produces a closed-loop…
sickn33/agentic-awesome-skills
Motor de crescimento para produtos digitais -- growth hacking, SEO, ASO, viral loops, email marketing, CRM, referral programs e aquisicao organica.
gooseworks-ai/goose-skills
Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.
gooseworks-ai/goose-skills
Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.
gooseworks-ai/goose-skills
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.
gooseworks-ai/goose-skills
Find leads by scraping engagers from a competitor's top LinkedIn posts.
gooseworks-ai/goose-skills
Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…
Works with
Categories
For churned accounts, research what has changed since they left — new funding, team growth, competitor dissatisfaction, product updates that address their pain — then assess re-engagement potential…. Customer Win Back Sequencer is an agent skill from gooseworks-ai/goose-skills. For churned accounts, research what has changed since they left — new funding, team growth, competitor dissatisfaction, product updates that address their pain — then assess re-engagement potential and generate a personalized win-back email sequence with timing recommendations.
Customer Win Back Sequencer fits situations like: tasks that involve Referral and retention marketing; tasks that involve Email marketing.
Run `npx skills add gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a claude-code`. Or copy the skill folder (skills/outreach/composites/customer-win-back-sequencer in gooseworks-ai/goose-skills) into .claude/skills/customer-win-back-sequencer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a codex`. Or copy the skill folder (skills/outreach/composites/customer-win-back-sequencer in gooseworks-ai/goose-skills) into .agents/skills/customer-win-back-sequencer 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 gooseworks-ai/goose-skills --skill customer-win-back-sequencer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/customer-win-back-sequencer, .gemini/skills/customer-win-back-sequencer, .github/skills/customer-win-back-sequencer and .opencode/skills/customer-win-back-sequencer in your project.
Going by SKILL.md and its folder, Customer Win Back Sequencer needs the command-line tools its instructions call (make).
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.
Customer Win Back Sequencer is published under the MIT licence (the repository's licence). 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.
Skills that share tags, products or a category with Customer Win Back Sequencer: Marketing Os (Yuzzyuk/marketing-os, 540 stars), Churn Prevention (freekmurze/dotfiles, 1k stars), Sms (coreyhaines31/marketingskills, 54k stars) and Email Sequence Designer (aaron-he-zhu/aaron-marketing-skills, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.
Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.