mcpField
L
ln-831-oss-replacer

ln-831-oss-replacer

github.com/levnikolaevich开发584220 次安装2 天前更新
代码仓库

关于 ln-831-oss-replacer

ln-831-oss-replacer 是用于执行自定义模块开源替换计划的技能。它逐个安装替代包、改写导入并运行测试,失败时原子回滚。

主要功能

  1. 01按置信度和代码量排序候选项
  2. 02安装软件包并改写导入
  3. 03通过测试验证替换结果
  4. 04原子回滚失败的更改
  5. 05生成现代化改造摘要

适用场景

  1. 01执行审计计划中的可行替换
  2. 02评估单个模块的替换方案
  3. 03在保留测试验证行为的同时减少自定义代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-831-oss-replacer

安装后在 Claude Code 中输入/ln-831-oss-replacer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
ci_tool_detection.md
coordinator_summary_contract.md
epistemic_protocol.md
mcp_integration_patterns.md
mcp_tool_preferences.md
research_tool_fallback.md

详细介绍

路径: 文件路径(references/、../ln-*)均相对于此技能目录。

ln-831-oss-replacer

类型: L3 Worker 类别: 8XX 优化

执行 ln-645-architecture-modernization-auditor 制定的 OSS 替换计划。对于每个存在可行 OSS 替代方案的自定义模块:安装软件包、重写导入、运行验证,然后以原子方式保留或丢弃。


概述

方面详情
输入审计输出中的迁移计划或目标模块
输出已替换模块以及机器可读的现代化摘要
配套工具ln-645-architecture-modernization-auditor 识别候选项,ln-831 执行替换

工作流

阶段: 预检 -> 加载计划 -> 排定优先级 -> 替换循环 -> 报告


阶段 0:预检

检查项必需缺失时的操作
迁移计划或目标模块是阻止替换
测试基础设施是阻止替换
包管理器可用是阻止替换
工作区基线安全是在托管运行中,协调器已做好准备;在独立运行中,在本地保护回滚能力

必须阅读: 加载 references/ci_tool_detection.md 以检测测试。 工具策略:遵循宿主 AGENTS.md 中的 MCP 偏好;仅当宿主策略缺失或 MCP 行为不明确时,才加载 references/mcp_tool_preferences.md 和 references/mcp_integration_patterns.md。

如果可用,优先使用 hex-line 进行本地代码编辑和读取;当跨文件引用检查能显著提升替换安全性时,优先使用 hex-graph。如果 MCP 不可用、不受支持或未建立索引,则使用内置的 Read/Grep/Glob/Bash 继续,并在摘要中说明回退方案。

运行时协调

托管运行会从 ln-830 接收确定性的 runId 和精确的 summaryArtifactPath。 仍支持独立运行;如果省略运行时参数,则在返回前生成一个作用域为该次独立运行的产物。


阶段 1:加载迁移计划

从审计报告中提取:

字段说明
custom_module自定义实现的路径
loc自定义模块中的代码行数
oss_package推荐的 OSS 替代方案
confidenceHIGH、MEDIUM 或 LOW
api_mapping自定义函数到 OSS 等效项的映射

如果不存在审计报告,则分析目标模块,并搜索 Context7 或 Ref,寻找可行的 OSS 替代方案。

必须阅读: 加载 references/research_tool_fallback.md


阶段 2:排定替换优先级

优先级标准
1HIGH 置信度且超过 200 LOC
2HIGH 置信度且为 100-200 LOC
3MEDIUM 置信度且超过 200 LOC
4MEDIUM 置信度且为 100-200 LOC
跳过LOW 置信度

阶段 3:替换循环(保留/丢弃)

每个模块的循环:

FOR each replacement candidate:
  1. INSTALL: add the OSS package
  2. REWRITE: update imports and call sites using api_mapping
  3. VERIFY: run tests
     IF tests fail -> DISCARD and revert all changes for this candidate
  4. KEEP: only after verification passes
  5. DELETE: remove old custom module after keep
  6. LOG: record result for the final report

停止条件:

条件操作
所有候选项均已处理停止并报告
连续丢弃 3 次发出警告并停止,等待人工审查
测试基础设施本身发生故障停止并回滚到上一个已知良好状态
没有达到置信度阈值的候选项停止并报告没有可行的替代方案

丢弃时的原子回滚:

步骤回滚操作
已安装软件包卸载该软件包
已修改文件恢复模块文件
锁文件已更改恢复锁文件

安全规则:

规则说明
一次处理一个模块绝不同时替换多个模块
不得改变 API 签名必须保持公共接口兼容
必须有测试风险不明确且没有覆盖时,跳过该模块
置信度门槛跳过 LOW 置信度的替换

阶段 4:报告结果

字段描述
source审计报告路径或目标模块
candidates_total替换候选项总数
replacements_applied已成功替换的模块
replacements_discarded替换失败的模块及原因
replacements_skipped因置信度较低或缺少测试而跳过的模块
loc_removed移除的自定义代码总行数
packages_added新安装的 OSS 包
details[]每项替换的摘要
artifact_path持久化的工作器报告路径(如已写入)

配置

Options:
  audit_report: "docs/project/codebase_audit.md"
  target_module: ""
  min_confidence: "MEDIUM"
  run_tests: true
  require_test_coverage: true
  delete_old_module: true

错误处理

错误原因解决方案
未找到包OSS 包名称已更改查阅最新文档,查找新的包名称
API 不匹配映射与实际库 API 不一致查阅文档,仅在修复方案明确时重试
循环依赖新包与当前架构冲突跳过并报告,后续手动处理
没有测试覆盖自动替换风险过高跳过并报告

参考资料

  • ../ln-645-architecture-modernization-auditor/SKILL.md
  • references/ci_tool_detection.md
  • references/research_tool_fallback.md
  • references/epistemic_protocol.md

运行时摘要产物

必须阅读: 加载 references/coordinator_summary_contract.md

生成 modernization-worker 摘要信封。

托管模式:

  • ln-830 会传递确定性的 runId 和准确的 summaryArtifactPath
  • 将摘要写入提供的 summaryArtifactPath

独立模式:

  • 省略 runId 和 summaryArtifactPath
  • 写入 .hex-skills/runtime-artifacts/runs/{run_id}/modernization-worker/ln-831--{identifier}.json

Monitor(2.1.98+): 对于预计超过 30 秒的安装与测试验证循环,请使用 Monitor。回退方案:Bash(run_in_background=true)。

完成标准

  • 已加载迁移计划或分析目标模块
  • 已按置信度和代码缩减价值确定候选项优先级
  • 每项替换均以原子方式执行,并验证保留或丢弃
  • 已完全还原被丢弃的替换
  • 仅在验证通过后,保留的替换才会移除旧的自定义代码
  • 报告记录已应用、已丢弃、已跳过的替换项以及移除的 LOC
  • 已将 modernization-worker 摘要产物写入托管或独立模式的路径

版本: 1.0.0 最近更新: 2026-03-08

评论

支持 Markdown