skills-catalog/ln-831-oss-replacer/SKILL.md
Replaces custom modules with OSS packages using atomic keep/discard testing. Use when migrating custom code to established libraries.
npx skillsauth add levnikolaevich/claude-code-skills ln-831-oss-replacerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. Ifshared/is missing, fetch files via WebFetch fromhttps://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}.
Type: L3 Worker Category: 8XX Optimization
Executes OSS replacement plans from ln-645-open-source-replacer. For each custom module with a viable OSS alternative: install package, rewrite imports, run verification, then keep or discard atomically.
| Aspect | Details |
|--------|---------|
| Input | Migration plan from audit output or a target module |
| Output | Replaced modules plus a machine-readable modernization summary |
| Companion | ln-645-open-source-replacer identifies candidates, ln-831 executes them |
Phases: Pre-flight -> Load Plan -> Prioritize -> Replace Loop -> Report
| Check | Required | Action if Missing | |-------|----------|-------------------| | Migration plan or target module | Yes | Block replacement | | Test infrastructure | Yes | Block replacement | | Package manager available | Yes | Block replacement | | Workspace baseline safe | Yes | In managed runs coordinator already prepared it; in standalone runs protect rollback locally |
MANDATORY READ: Load shared/references/ci_tool_detection.md for test detection.
MANDATORY READ: Load shared/references/mcp_tool_preferences.md and shared/references/mcp_integration_patterns.md
Use hex-line first for local code edits and reads when available, and use hex-graph first when cross-file reference checks materially improve replacement safety. If MCP is unavailable, unsupported, or not indexed, continue with built-in Read/Grep/Glob/Bash and state the fallback in the summary.
Managed runs receive deterministic runId and exact summaryArtifactPath from ln-830.
Standalone runs remain supported; if runtime arguments are omitted, generate a standalone run-scoped artifact before returning.
From audit report, extract:
| Field | Description |
|-------|-------------|
| custom_module | Path to the custom implementation |
| loc | Lines of code in the custom module |
| oss_package | Recommended OSS replacement |
| confidence | HIGH, MEDIUM, or LOW |
| api_mapping | Custom function to OSS equivalent |
If no audit report exists, analyze the target module and search Context7 or Ref for viable OSS alternatives.
MANDATORY READ: Load shared/references/research_tool_fallback.md
| Priority | Criteria | |----------|----------| | 1 | HIGH confidence and >200 LOC | | 2 | HIGH confidence and 100-200 LOC | | 3 | MEDIUM confidence and >200 LOC | | 4 | MEDIUM confidence and 100-200 LOC | | Skip | LOW confidence |
Per-module cycle:
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
Stop conditions:
| Condition | Action | |-----------|--------| | All candidates processed | Stop and report | | 3 consecutive discards | Warn and stop for manual review | | Test infrastructure itself breaks | Stop and revert to last known good state | | No candidates above confidence threshold | Stop and report no viable replacements |
Atomic revert on discard:
| Step | Revert Action | |------|---------------| | Package installed | Uninstall it | | Files modified | Restore module files | | Lock file changed | Restore lock file |
Safety rules:
| Rule | Description | |------|-------------| | One module at a time | Never replace multiple modules simultaneously | | No API signature drift | Public interfaces must stay compatible | | Tests required | Skip modules with no coverage when risk is unclear | | Confidence gate | Skip LOW-confidence replacements |
| Field | Description |
|-------|-------------|
| source | Audit report path or target module |
| candidates_total | Total replacement candidates |
| replacements_applied | Successfully replaced modules |
| replacements_discarded | Failed replacements with reasons |
| replacements_skipped | Skipped due to low confidence or missing tests |
| loc_removed | Total lines of custom code removed |
| packages_added | New OSS packages installed |
| details[] | Per replacement summary |
| artifact_path | Durable worker report path, if written |
Options:
audit_report: "docs/project/codebase_audit.md"
target_module: ""
min_confidence: "MEDIUM"
run_tests: true
require_test_coverage: true
delete_old_module: true
| Error | Cause | Solution | |-------|-------|----------| | Package not found | OSS package name changed | Search current docs for the new package name | | API mismatch | Mapping differs from real library API | Query docs and retry only if fix is clear | | Circular dependency | New package conflicts with current architecture | Skip and report manual follow-up | | No test coverage | Too risky for automated replacement | Skip and report |
../ln-645-open-source-replacer/SKILL.mdshared/references/ci_tool_detection.mdshared/references/research_tool_fallback.mdMANDATORY READ: Load shared/references/coordinator_summary_contract.md
Emit a modernization-worker summary envelope.
Managed mode:
ln-830 passes deterministic runId and exact summaryArtifactPathsummaryArtifactPathStandalone mode:
runId and summaryArtifactPath.hex-skills/runtime-artifacts/runs/{run_id}/modernization-worker/ln-831--{identifier}.jsonMonitor (2.1.98+): For install + test verification loops expected >30s, use Monitor. Fallback: Bash(run_in_background=true).
modernization-worker summary artifact written to the managed or standalone pathVersion: 1.0.0 Last Updated: 2026-03-08
testing
Audits architecture config boundaries: typed settings, scattered env reads, config leakage, and layer ownership. Use for config architecture.
tools
Finds architecture-level modernization opportunities: obsolete custom mechanisms, overbuilt extension points, and simplifiable architecture. Use when auditing architecture evolution.
development
Builds dependency topology, detects cycles, validates import rules, and calculates coupling metrics. Use when auditing architecture topology.
testing
Checks layer, resource ownership, and orchestration boundaries. Use when auditing architecture boundary enforcement.