# Refactor Structural Duplication

> Identify structurally duplicate logic (pipeline-spine duplication) across semantically distinct modules. Use when multiple implementations share the same orchestration skeleton (e.g., bounds→shape→chunking→reduction→wrap), and unification may require subtle abstraction. Produces a duplication map and a safe extraction/refactor plan.

- Skill: `majiayu000/refactor-structural-duplication` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/refactor-structural-duplication`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/refactor-structural-duplication/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: MIT
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/refactor-structural-duplication

---


# Instructions

Read all references in `references/` before starting.

## Goal

Detect and report **structural duplication** across modules (not copy/paste), especially where:

- different domain concepts remain correctly separate, but
- the underlying processing pipeline is parallel/duplicated, risking drift.

When unification likely requires **subtle abstraction**, produce a **staged plan** that can be executed safely.

## Scope

- This skill **does not** enforce “thin public facades” or restructure public APIs.
- This skill **does** identify shared pipeline spines and propose extraction targets and abstraction seams.

## Signals

Activate when any of the following are true:

- Multiple modules implement similar orchestration stages (even with different operators).
- There are parallel implementations of structurally similar functionality in the codebase.
- The agent (or a developer) is about to re-implement “the same infrastructure again” for a new product.

## Procedure

Follow `references/03_PROCEDURE.md`.

## Output

Produce a single Markdown report using `references/05_OUTPUT_TEMPLATE.md`.
If abstraction is needed, include a staged plan using `references/04_REFACTOR_PLAN_TEMPLATE.md`.

