
eol-checklist
Build a phase-gated EOL checklist sized to the sunset, with a named owner on every item. Use when the decision to retire is made and you need the operational plan.
- Installs
- 921
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/deanpeters/product-manager-skills --skill eol-checklist- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads eol-checklist automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
EOL Checklist
Purpose
Turn a sunset decision into a phase-gated operational plan: what must happen, in which lifecycle phase, and who owns it. The output is a working checklist — sticky-note-sized items, each with a verb and a named function — not a strategy document.
The checklist is sized to the sunset. A deprecated internal tool gets a dozen items across three phases. A regulated hardware line gets a cross-functional playbook across six phases with gate criteria between them. Both are correct; using the wrong one is the failure.
Input
Works best with: The product being sunset and any dates you're already committed to.
Also useful: Customer and revenue scale, whether a replacement exists and how ready it is, contract or regulatory obligations, and whether hardware, inventory, or channel partners are in play.
Anything supplied with the invocation itself — text after the skill name, a pasted context dump, or
an appended ARGUMENTS: line — counts as answers already given. Use it and skip whatever it
covers; don't re-ask.
Arriving empty-handed? That works too. The skill asks up to three questions — what's being sunset and at what scale, whether there's a replacement, and what hard deadlines exist — then picks a level and builds. Unknowns become labeled assumptions rather than blockers.
Example invocations:
EOL checklist for our legacy reporting module, shutting down Dec 31, ~400 accounts.Build the heavy checklist for a hardware retirement — service contracts, 8 resellers, UL certified.
Key Concepts
Right-Size Before You Build
Not all EOLs play out the same. Most land in the middle. Pick the level deliberately:
| Level 1 — Light | Level 2 — Standard | Level 3 — Heavy | |
|---|---|---|---|
| Typical scope | Feature, internal tool, unversioned API | Commercial product, active customers | Revenue-critical, hardware, regulated |
| Phases used | 2-3 (NSC, EOS, EOL) | 4-5 (NSC, EOS, EOE, EOM, EOL) | All 6 (NSC through EOSRV) |
| Functional areas | 4 | 11 | 15 |
| Gate criteria | Not needed | Between major phases | Between every phase, with approvers |
| Output feel | Punch list | Working checklist with owners and dates | Cross-functional playbook |
Level 2 is the default. Recommend a level, say why in one line, and let the user move it. If they go lighter, name the specific area that drops out so the choice is informed. Never default to Level 3 — a heavy checklist applied to a light sunset teaches teams that EOL process is ceremony, and they'll skip it next time when it matters.
The level is yours to change mid-build. "Actually make this heavier" is a normal thing to hear after the Legal row surfaces something.
The Lifecycle Gates
- GA (General Availability): Actively sold and fully supported
- NSC (Notice of Status Change): The decision is communicated; planning begins
- EOS (End of Sale): No new customers can purchase
- EOE (End of Expansion): Existing customers cannot add capacity or seats
- EOR (End of Renewal): Existing contracts will not be renewed
- EOM (End of Maintenance): Bug fixes and patches stop
- EOL (End of Life): The product is retired
- EOSRV (End of Service): All support and service obligations end
Which of these become checklist phases: GA is a state, not a phase of work — nothing is checklisted there. EOR is contract-driven and only appears when renewals are in play. So working checklists usually span the six actionable phases: NSC, EOS, EOE, EOM, EOL, EOSRV, with EOR inserted when subscription or service contracts run past EOS.
Naming the gates you're not using is as useful as naming the ones you are. A Level 1 checklist should say "EOE and EOSRV don't apply — nothing to expand, nothing to service."
The Fifteen Functional Areas
Filtered by level. The parenthetical marks the lowest level where each appears:
| Area | Level |
|---|---|
| Product and Strategy | 1 |
| Engineering and Technical | 1 |
| Support | 1 |
| Documentation and Training | 1 |
| Legal and Contractual | 2 |
| Financial Planning | 2 |
| Sales | 2 |
| Marketing | 2 |
| Customer Success | 2 |
| IT Systems | 2 |
| Data Management | 2 |
| Inventory and Supply Chain | 3 |
| Channel and Partner Management | 3 |
| Regulatory and Compliance | 3 |
| Internal Organizational Alignment | 3 |
The Sticky-Note Rule
Every item is 4 to 8 words, names a verb, and carries a named owner (a function, not a person's calendar). "Legal reviews contracts" is an item. "Ensure appropriate review of all relevant contractual obligations across the customer base" is a paragraph wearing a checkbox.
Why the owner is mandatory: an unowned item is a wish. Forcing a function onto every line surfaces cross-functional gaps early — when you can't name who owns "notify channel partners," you have just discovered that nobody does.
Phase Gates Are Commitments, Not Dates
A phase gate is what must be true before you advance, with an approver. "EOS to EOE: last-time-buy orders closed — Approver: Sales VP." This is what stops an EOL from being one announcement followed six months later by somebody quietly pulling a plug.
Anti-Patterns (what this is NOT)
- Not a project plan. No Gantt, no dependencies graph, no resource loading.
- Not exhaustive by default. Coverage proportional to risk, not maximum ceremony.
- Not the decision. If the sunset itself is still in question, this is premature.
- Not a substitute for the conversations. A checklist item saying "align with Legal" is not alignment with Legal.
Application
Step 1: Set the level
Recommend from blast radius — customers, revenue, contracts, hardware, partners — then present all three and let the user choose. If the level is genuinely unclear, ask:
"How complex is this sunset?
- Light — a feature, internal tool, or unversioned API. Few users, all reachable.
- Standard — a commercial product with paying customers and contracts.
- Heavy — revenue-critical, hardware in the field, channel partners, or regulated.
Most sunsets are Standard. Which sounds like yours?"
Step 2: Select phases in scope
Map the level to phases, then check for the two overrides:
- Contracts running past EOS? Insert EOR.
- No service obligations at all? Drop EOSRV and say so.
If a date is genuinely unknown, write TBD — and if a date shouldn't be set yet (no migration
path exists), write Not scheduled and add an item naming the precondition. An invented EOL date
is a promise you will break in public.
Step 3: Build items per phase, per area
For each phase in scope, walk the functional areas warranted by the level. Each item:
- Starts with a verb
- Is 4 to 8 words
- Names an owning function
- Belongs to exactly one phase — the phase where the work happens, not where it's announced
Cover, at minimum, the four things sunsets most often strand:
- Data — export format, availability window, deletion schedule
- Contracts — renewal language, SLA terms, refunds or credits owed
- Access — API keys, integrations, SSO, downstream systems that read from it
- Money — forecast adjustment, revenue recognition, cost of the sunset itself
Step 4: Write gate criteria (Level 2+)
For each phase transition, list what must be true and who signs. Three to five criteria per gate is plenty. If you can't name an approver, the gate isn't real.
Step 5: Post-EOL actions and assumptions
Always include a short post-EOL block — archival, final report, and a lessons-learned review. The review is the item teams cut first and regret most; the next sunset is always easier when someone wrote down what surprised you in this one.
Close with assumptions to validate — every unknown from Step 1, stated plainly.
Final Step: Offer what comes next
"Where next?
- Map the stakeholder conversations — who to talk to, in what order (Recommended)
- Draft the customer announcement — see
eol-message - Build the internal enablement pack — support FAQ, sales talking points, objections
- Convert this to a dated timeline — calendar dates against each phase
Reply with a number, a combination ('1 & 3'), or your own path."
Examples
examples/sample.md— Fieldlight Classic Dispatch (SaaS, Level 2, five phases)examples/sample-industrial.md— NFA-200 controller line (industrial, Level 3, six phases with a deliberately undated EOL)
Common Pitfalls
Pitfall 1: Ceremony Inflation
Symptom: Every sunset gets the 15-area, six-phase playbook because it's "more thorough."
Consequence: Teams learn EOL process is theater, skip it entirely on the next one — and the next one is the one with the contracts.
Fix: Right-size deliberately. A Level 1 checklist that gets used beats a Level 3 that gets ignored.
Pitfall 2: Unowned Items
Symptom: "Ensure customer data is exported." Owner: blank, or "the team."
Consequence: Everyone assumes someone else has it. On shutdown day, nobody did.
Fix: Every item names a function. If you can't name one, that's the finding — escalate it rather than papering over it.
Pitfall 3: The Invented Date
Symptom: An EOL date gets written down because the checklist template had a blank for it.
Consequence: You announce a date, discover the migration path doesn't exist, and move it. Customers who planned around the first date stop believing the second.
Fix: Not scheduled is a legitimate entry. Pair it with the precondition that would let you
schedule it.
Pitfall 4: Phase Collapse
Symptom: Everything lands in one phase called "EOL."
Consequence: You stop sales, stop support, and shut down on the same day. Customers experience it as an outage with advance notice.
Fix: Separate the gates. Stopping sales is cheap and early; stopping service is expensive and last.
Pitfall 5: Forgetting the Downstream Readers
Symptom: The checklist covers the product and its customers, but not the four internal systems that quietly query its API.
Consequence: The product retires on schedule and three dashboards, a billing job, and a partner integration break the next morning.
Fix: The IT Systems and Data Management areas exist for this. At Level 1, still ask once: what reads from this?
References
Related Skills
These stand on their own — none is a prerequisite for this skill, and this skill isn't a prerequisite for them. If you already picked a level elsewhere, just say "Level 2" and this skill will build to it; there's no handoff artifact to carry.
eol-readiness-advisor— if the decision itself still needs a case, or you want the level recommended for youeol-stakeholder-sequence— who to talk to and wheneol-internal-enablement— readying customer-facing teamseol-message— the customer-facing announcement
External Frameworks
- Industry EOL lifecycle practice (GA/NSC/EOS/EOE/EOM/EOL/EOSRV)
- RACI — for assigning the owner on each item
Provenance
- Adapted from
prompts/eol-checklist.mdin thehttps://github.com/deanpeters/product-manager-promptsrepo.
FAQ
What does the eol-checklist skill do?
Build a phase-gated EOL checklist sized to the sunset, with a named owner on every item. Use when the decision to retire is made and you need the operational plan.
How do I install eol-checklist?
Run npx skills add https://github.com/deanpeters/product-manager-skills --skill eol-checklist in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/eol-checklist/ (personal) or .claude/skills/eol-checklist/ (project).
Which AI agents can use eol-checklist?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is eol-checklist safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains eol-checklist?
It is published by deanpeters in deanpeters/product-manager-skills. It has 921 recorded installs.
More from deanpeters/product-manager-skills
prd-development
deanpeters/product-manager-skills
Build a structured PRD that connects problem, users, solution, and success criteria. Use when turning discovery notes into an engineering-ready document for a major initiative.
user-story
deanpeters/product-manager-skills
Create user stories with Mike Cohn format and Gherkin acceptance criteria. Use when turning user needs into development-ready work with clear outcomes and testable conditions.
roadmap-planning
deanpeters/product-manager-skills
Plan a strategic roadmap across prioritization, epic definition, stakeholder alignment, and sequencing. Use when turning strategy into a release plan that teams can execute.
company-research
deanpeters/product-manager-skills
Create a company research brief with executive quotes, product strategy, and org context. Use when preparing for interviews, competitive analysis, partnerships, or market-entry work.
discovery-process
deanpeters/product-manager-skills
Run a full discovery cycle from problem hypothesis to validated solution. Use when a team needs a structured path through framing, interviews, synthesis, and experiments.
jobs-to-be-done
deanpeters/product-manager-skills
Uncover customer jobs, pains, and gains in a structured JTBD format. Use when clarifying unmet needs, repositioning a product, or improving discovery and messaging.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.