Claude-code-skills ln-831-oss-replacer

Replaces custom modules with OSS packages using atomic keep/discard testing. Use when migrating custom code to established libraries.

install
source · Clone the upstream repo
git clone https://github.com/levnikolaevich/claude-code-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/levnikolaevich/claude-code-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills-catalog/ln-831-oss-replacer" ~/.claude/skills/levnikolaevich-claude-code-skills-ln-831-oss-replacer && rm -rf "$T"
manifest: skills-catalog/ln-831-oss-replacer/SKILL.md
source content

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. If
shared/
is missing, fetch files via WebFetch from
https://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}
.

ln-831-oss-replacer

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.


Overview

AspectDetails
InputMigration plan from audit output or a target module
OutputReplaced modules plus a machine-readable modernization summary
Companion
ln-645-open-source-replacer
identifies candidates,
ln-831
executes them

Workflow

Phases: Pre-flight -> Load Plan -> Prioritize -> Replace Loop -> Report


Phase 0: Pre-flight Checks

CheckRequiredAction if Missing
Migration plan or target moduleYesBlock replacement
Test infrastructureYesBlock replacement
Package manager availableYesBlock replacement
Workspace baseline safeYesIn managed runs coordinator already prepared it; in standalone runs protect rollback locally

MANDATORY READ: Load

shared/references/ci_tool_detection.md
for test detection.

Runtime Coordination

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.


Phase 1: Load Migration Plan

From audit report, extract:

FieldDescription
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


Phase 2: Prioritize Replacements

PriorityCriteria
1HIGH confidence and >200 LOC
2HIGH confidence and 100-200 LOC
3MEDIUM confidence and >200 LOC
4MEDIUM confidence and 100-200 LOC
SkipLOW confidence

Phase 3: Replace Loop (Keep/Discard)

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:

ConditionAction
All candidates processedStop and report
3 consecutive discardsWarn and stop for manual review
Test infrastructure itself breaksStop and revert to last known good state
No candidates above confidence thresholdStop and report no viable replacements

Atomic revert on discard:

StepRevert Action
Package installedUninstall it
Files modifiedRestore module files
Lock file changedRestore lock file

Safety rules:

RuleDescription
One module at a timeNever replace multiple modules simultaneously
No API signature driftPublic interfaces must stay compatible
Tests requiredSkip modules with no coverage when risk is unclear
Confidence gateSkip LOW-confidence replacements

Phase 4: Report Results

FieldDescription
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

Configuration

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 Handling

ErrorCauseSolution
Package not foundOSS package name changedSearch current docs for the new package name
API mismatchMapping differs from real library APIQuery docs and retry only if fix is clear
Circular dependencyNew package conflicts with current architectureSkip and report manual follow-up
No test coverageToo risky for automated replacementSkip and report

References

  • ../ln-645-open-source-replacer/SKILL.md
  • shared/references/ci_tool_detection.md
  • shared/references/research_tool_fallback.md

Runtime Summary Artifact

MANDATORY READ: Load

shared/references/coordinator_summary_contract.md

Emit a

modernization-worker
summary envelope.

Managed mode:

  • ln-830
    passes deterministic
    runId
    and exact
    summaryArtifactPath
  • write the summary to the provided
    summaryArtifactPath

Standalone mode:

  • omit
    runId
    and
    summaryArtifactPath
  • write
    .hex-skills/runtime-artifacts/runs/{run_id}/modernization-worker/ln-831--{identifier}.json

Monitor (2.1.98+): For install + test verification loops expected >30s, use

Monitor
. Fallback:
Bash(run_in_background=true)
.

Definition of Done

  • Migration plan loaded or target module analyzed
  • Candidates prioritized by confidence and code-reduction value
  • Each replacement executed atomically with keep/discard verification
  • Discarded replacements fully reverted
  • Kept replacements remove old custom code only after verification passes
  • Report captures applied, discarded, skipped replacements, and LOC removed
  • modernization-worker
    summary artifact written to the managed or standalone path

Version: 1.0.0 Last Updated: 2026-03-08