Skip to content
Back to skills

Compatibility Shim Retirement

ASecurity

Retire Jean2 server forwarding directories safely after layered extraction, using ownership mapping and boundary gates.

  • 33 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
ai-agentsgo

Works with

  • cli

Security analysis

A100/100

Scanned October 19, 2026

npx -y skills add prokopai/prokop --skill compatibility-shim-retirement --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Compatibility Shim Retirement?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Compatibility Shim Retirement
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/prokopai-compatibility-shim-retirement/badge)](https://www.skillsdirectory.com/skills/prokopai-compatibility-shim-retirement)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: compatibility-shim-retirement
description: Retire Jean2 server forwarding directories safely after layered extraction, using ownership mapping and boundary gates.
---

## When to Use

Use when a Jean2 server migration has moved implementation ownership into `infrastructure`, `application`, `domains`, or `adapters`, but old `store`, `core`, `services`, route, or adapter forwarding paths still make the tree look bloated.

## Procedure

1. Read the applicable `.architecture-v2` target, phase exit gate, decision record, and current inventory before touching files.
2. Inventory the legacy directory with an import search. Classify each file as a pure forwarder, compatibility export, CLI presentation seam, or remaining behavior owner.
3. Delete only pure forwarders in one category. Redirect every source and test import to the named owner, preserving export identities where external callers still require them.
4. Move tests with the implementation owner when their path communicates obsolete ownership. Update aliases and fixtures without changing assertions or behavior.
5. Remove the category's temporary boundary exceptions and add or update AST/import gates so the old path cannot return. Leave explicit D2-015 composition exceptions intact.
6. For module-load registration bypasses, add an explicit bootstrap import or registration call before rerouting lookup and status paths. Remove each temporary boundary exception immediately after the owning seam is adopted.
7. Inspect the diff for unrelated changes, then run only the category's focused typecheck, boundary gate, and focused tests. Do not claim the full migration is verified from focused checks.

## Pitfalls

- Do not delete a directory merely because its name is old. Retained paths may be deliberate compatibility, CLI, or concrete composition seams.
- Do not redesign behavior during file retirement. S9 treats this work as ownership movement and enforcement.
- Do not move several unrelated categories together. A failed test or import can otherwise hide the responsible slice.
- Do not remove explicit adapter bindings recorded by D2-015 without a separate architecture decision.

## Verification

Confirm the retired path has no remaining imports, the layer-boundary suite passes for the category, focused source and test typechecks pass, and the architecture inventory still explains every retained legacy-looking path.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.