write-a-sunset-plan-for-a-feature
Use when retiring a feature, endpoint, or product. Plans the deprecation notice, the migration path, the data disposition, and the removal date so users are not stranded.
- License 许可
- MIT
- 最近更新
- 2026-11-13
- Stars
- ★ 81
- Forks
- 17
01 前言 Front Matter
- name
- write-a-sunset-plan-for-a-feature
- description
- Use when retiring a feature, endpoint, or product. Plans the deprecation notice, the migration path, the data disposition, and the removal date so users are not stranded.
02 资源文件 3
- 许可证LICENSE1.0 KB
- 参考文档SOURCE.md359 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
Write a sunset plan for a feature
Removing something is a product change, not a cleanup. This skill plans the notice, the migration, and the data handling so a sunset does not become an incident.
Procedure
-
Inventory who uses it: query the telemetry (
events.md) or access logs for the last 90 days, and list the distinct accounts, not just the request count. -
Classify users:
no usage,light,heavy, andautomated(bots, integrations); each needs a different migration message. -
Pick the removal date with margin, and a freeze date after which no new usage is allowed; put both in
sunset.md. -
Write the notice with the three facts a user needs: what ends, when it ends, and the exact replacement with a link.
-
Define the migration path: an export, a redirect, a new endpoint, or a documented manual step. Test it end-to-end on a real account.
-
Decide data disposition: export to the user, retain under policy, or delete — with the retention rule and deletion method named, never "clean up later".
-
Set the escalation path for stragglers: who contacts heavy users directly, and by what date before removal.
-
Stage the removal: return
410 Gone(or the platform equivalent) before physically deleting, so callers get a clear signal, not a 404. -
After removal, confirm no traffic remains in the logs, then delete the code, the config, and the docs.
-
Confirm the replacement actually covers the use cases the old feature supported, not just the common one.
-
Give the removal its own monitoring window, watching for calls from callers you did not inventory.
-
Send at least two reminders before the freeze date, spaced so a vacation does not swallow them.
Pitfalls
-
Removing an API used by a partner's cron nobody told you about; check for automated callers first.
-
Emailing only the admin, not the integration owner who actually calls it.
-
A deprecation date with no migration tooling, leaving users to hand-port data.
-
Deleting data the user was entitled to export under a retention policy.
-
Leaving a 404 where a 410 and a message belong, which reads as a breakage.
-
Announcing the sunset after disabling the endpoint, which strands users with no warning.
-
Assuming a redirect is a drop-in replacement when the payload shapes differ.
-
Removing docs before the code, so stragglers have nowhere to read the migration path.
Verification
grep -c 'users:\|date:\|replacement:' sunset.md; grep -cE '410|redirect|export' sunset.md
Report the distinct-user count, the removal date, and the migration path with its tested status.
04 同仓库更多 Skills
recipe-performance
Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold/warm/background-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout/paint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.
mexc-spot-websocket
MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.
mexc-spot-rest
MEXC Spot REST workflows for public data, signed account requests, orders, wallet/admin actions, and secure signing without exposing API keys.
mexc-futures-websocket
MEXC Futures WebSocket workflows for public streams, private account/order/position streams, ping/pong, subscriptions, and depth maintenance.
0xklen-version-and-refresh-sanctions-lists
暂无简介
verify-tests-cover-changed-lines
Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.