SKILL·4AA73A

eol-checklist

deanpeters
更新于 Today
6,403
773
6,403
在 GitHub 上查看
design

关于

This skill generates a tailored, phase-gated End-of-Life (EOL) operational checklist once a retirement decision is made. It right-sizes the plan from a simple punch list to a full playbook based on the sunset's complexity, ensuring every action item has a named owner. Use it to systematically cover functional areas and prevent issues like stranded data or contracts.

快速安装

Claude Code

推荐
主要方式
npx skills add deanpeters/Product-Manager-Skills -a claude-code
插件命令备选方式
/plugin add https://github.com/deanpeters/Product-Manager-Skills
Git 克隆备选方式
git clone https://github.com/deanpeters/Product-Manager-Skills.git ~/.claude/skills/eol-checklist

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

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 — LightLevel 2 — StandardLevel 3 — Heavy
Typical scopeFeature, internal tool, unversioned APICommercial product, active customersRevenue-critical, hardware, regulated
Phases used2-3 (NSC, EOS, EOL)4-5 (NSC, EOS, EOE, EOM, EOL)All 6 (NSC through EOSRV)
Functional areas41115
Gate criteriaNot neededBetween major phasesBetween every phase, with approvers
Output feelPunch listWorking checklist with owners and datesCross-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:

AreaLevel
Product and Strategy1
Engineering and Technical1
Support1
Documentation and Training1
Legal and Contractual2
Financial Planning2
Sales2
Marketing2
Customer Success2
IT Systems2
Data Management2
Inventory and Supply Chain3
Channel and Partner Management3
Regulatory and Compliance3
Internal Organizational Alignment3

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?

  1. Light — a feature, internal tool, or unversioned API. Few users, all reachable.
  2. Standard — a commercial product with paying customers and contracts.
  3. 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:

  1. Data — export format, availability window, deletion schedule
  2. Contracts — renewal language, SLA terms, refunds or credits owed
  3. Access — API keys, integrations, SSO, downstream systems that read from it
  4. 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?

  1. Map the stakeholder conversations — who to talk to, in what order (Recommended)
  2. Draft the customer announcement — see eol-message
  3. Build the internal enablement pack — support FAQ, sales talking points, objections
  4. 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.

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.md in the https://github.com/deanpeters/product-manager-prompts repo.

GitHub 仓库

deanpeters/Product-Manager-Skills
路径: skills/eol-checklist
0
ai-agentsai-product-managementclaude-skillspm-frameworksproduct-management
FAQ

常见问题

什么是 eol-checklist Skill?

eol-checklist 是一个 Claude Skill,作者为 deanpeters。Skill 将 Claude 按需加载的说明和资源打包,让 Claude 无需额外提示即可执行与 eol-checklist 相关的任务。

如何安装 eol-checklist?

使用本页的安装命令:将 eol-checklist 作为插件添加到 Claude Code,或将其仓库克隆到 skills 目录,然后重启 Claude 以加载该 Skill。

eol-checklist 属于哪个分类?

eol-checklist 属于元分类。

eol-checklist 可以免费使用吗?

可以。eol-checklist 已收录在 AIMCP,可免费安装。

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能
polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能
creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能
sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能