legacy-modernizer by jeffallan/claude-skills
npx skills add https://github.com/jeffallan/claude-skills --skill legacy-modernizer评估系统 — 分析代码库、依赖项、风险和业务约束。在继续之前生成依赖关系图和风险登记册。
规划迁移 — 设计一个增量路线图,每个阶段都有明确的回滚策略。参考 references/system-assessment.md 获取代码分析模板。
构建安全网 — 在接触生产代码之前,创建特性测试和监控。目标是对现有行为实现 80% 以上的覆盖率。
增量迁移 — 结合特性标志应用绞杀者模式。通过外观层路由流量;逐步转移负载。
验证与迭代 — 运行完整的测试套件,审查监控仪表板,并在废弃遗留代码之前确认业务行为得以保留。
根据上下文加载详细指导:
| 主题 |
|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 参考 |
|---|
| 加载时机 |
|---|
| 绞杀者模式 | references/strangler-fig-pattern.md | 增量替换、外观层、路由 |
| 重构 | references/refactoring-patterns.md | 提取服务、抽象分支、适配器 |
| 迁移 | references/migration-strategies.md | 数据库、UI、API、框架迁移 |
| 测试 | references/legacy-testing.md | 特性测试、黄金标准、审批 |
| 评估 | references/system-assessment.md | 代码分析、依赖关系映射、风险评估 |
# facade.py — routes requests to legacy or new service based on a feature flag
import os
from legacy_service import LegacyOrderService
from new_service import NewOrderService
class OrderServiceFacade:
def __init__(self):
self._legacy = LegacyOrderService()
self._new = NewOrderService()
def get_order(self, order_id: str):
if os.getenv("USE_NEW_ORDER_SERVICE", "false").lower() == "true":
return self._new.fetch(order_id)
return self._legacy.get(order_id)
# feature_flags.py — thin wrapper around an environment or config-based flag store
import os
def flag_enabled(flag_name: str, default: bool = False) -> bool:
"""Check whether a migration feature flag is active."""
return os.getenv(flag_name, str(default)).lower() == "true"
# Usage
if flag_enabled("USE_NEW_PAYMENT_GATEWAY"):
result = new_gateway.charge(order)
else:
result = legacy_gateway.charge(order)
# test_characterization_orders.py
# Captures existing legacy behavior as a golden-master safety net.
import pytest
from legacy_service import LegacyOrderService
service = LegacyOrderService()
@pytest.mark.parametrize("order_id,expected_status", [
("ORD-001", "SHIPPED"),
("ORD-002", "PENDING"),
("ORD-003", "CANCELLED"),
])
def test_order_status_golden_master(order_id, expected_status):
"""Fail loudly if legacy behavior changes unexpectedly."""
result = service.get(order_id)
assert result["status"] == expected_status, (
f"Characterization broken for {order_id}: "
f"expected {expected_status}, got {result['status']}"
)
实施现代化改造时,请提供:
绞杀者模式、抽象分支、特性测试、增量迁移、特性标志、金丝雀部署、API 版本控制、数据库重构、微服务提取、技术债务削减、零停机部署
每周安装次数
787
代码仓库
GitHub 星标数
7.2K
首次出现时间
Jan 20, 2026
安全审计
安装于
opencode648
gemini-cli626
codex615
claude-code611
github-copilot585
cursor575
Assess system — Analyze codebase, dependencies, risks, and business constraints. Produce a dependency map and risk register before proceeding.
Plan migration — Design an incremental roadmap with explicit rollback strategies per phase. Reference references/system-assessment.md for code analysis templates.
Build safety net — Create characterization tests and monitoring before touching production code. Target 80%+ coverage of existing behavior.
Migrate incrementally — Apply strangler fig pattern with feature flags. Route traffic via a facade; shift load gradually.
Validate & iterate — Run full test suite, review monitoring dashboards, and confirm business behavior is preserved before retiring legacy code.
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Strangler Fig | references/strangler-fig-pattern.md | Incremental replacement, facade layer, routing |
| Refactoring | references/refactoring-patterns.md | Extract service, branch by abstraction, adapters |
| Migration | references/migration-strategies.md | Database, UI, API, framework migrations |
| Testing | references/legacy-testing.md | Characterization tests, golden master, approval |
| Assessment | references/system-assessment.md |
# facade.py — routes requests to legacy or new service based on a feature flag
import os
from legacy_service import LegacyOrderService
from new_service import NewOrderService
class OrderServiceFacade:
def __init__(self):
self._legacy = LegacyOrderService()
self._new = NewOrderService()
def get_order(self, order_id: str):
if os.getenv("USE_NEW_ORDER_SERVICE", "false").lower() == "true":
return self._new.fetch(order_id)
return self._legacy.get(order_id)
# feature_flags.py — thin wrapper around an environment or config-based flag store
import os
def flag_enabled(flag_name: str, default: bool = False) -> bool:
"""Check whether a migration feature flag is active."""
return os.getenv(flag_name, str(default)).lower() == "true"
# Usage
if flag_enabled("USE_NEW_PAYMENT_GATEWAY"):
result = new_gateway.charge(order)
else:
result = legacy_gateway.charge(order)
# test_characterization_orders.py
# Captures existing legacy behavior as a golden-master safety net.
import pytest
from legacy_service import LegacyOrderService
service = LegacyOrderService()
@pytest.mark.parametrize("order_id,expected_status", [
("ORD-001", "SHIPPED"),
("ORD-002", "PENDING"),
("ORD-003", "CANCELLED"),
])
def test_order_status_golden_master(order_id, expected_status):
"""Fail loudly if legacy behavior changes unexpectedly."""
result = service.get(order_id)
assert result["status"] == expected_status, (
f"Characterization broken for {order_id}: "
f"expected {expected_status}, got {result['status']}"
)
When implementing modernization, provide:
Strangler fig pattern, branch by abstraction, characterization testing, incremental migration, feature flags, canary deployments, API versioning, database refactoring, microservices extraction, technical debt reduction, zero-downtime deployment
Weekly Installs
787
Repository
GitHub Stars
7.2K
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode648
gemini-cli626
codex615
claude-code611
github-copilot585
cursor575
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
103,800 周安装
Dokie AI PPT:AI驱动的专业演示文稿设计工具,支持HTML创意动效
737 周安装
PRD生成器:AI驱动产品需求文档工具,快速创建清晰可执行PRD
737 周安装
Devcontainer 设置技能:一键创建预配置开发容器,集成 Claude Code 和语言工具
739 周安装
Plankton代码质量工具:Claude Code自动格式化与Linter强制执行系统
741 周安装
ML Pipeline专家指南:生产级机器学习流水线架构、编排与自动化部署
741 周安装
Tavily API 网络搜索技能 - AI 优化搜索,获取结构化实时网络数据
742 周安装
| Code analysis, dependency mapping, risk evaluation |