codemod-react-pipeline
Guided, scripted pipeline for running JSX/TSX/React codemods safely across large legacy codebases.
Skill by pproenca
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/pproenca-codemod-react-pipeline
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, backend, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/codemod-react-pipeline
What's inside
- Skill name
codemod-react-pipeline- Description
- Guided, scripted pipeline for running JSX/TSX/React codemods safely across large legacy codebases. Use when you need to scaffold a codemod, dry-run it, validate its findings, and apply it across many files (50 to 100k+) without breaking the build. Walks the full inner/outer loop with the Codemod CLI (JSSG, ast-grep, workflows). Triggers on large-scale refactor, legacy React migration, codemod a prop/API change, migrate components across the codebase, run a codemod safely, batched/resumable codemod apply, dry-run a codemod.
- License
- MIT
- Instructions
- 106 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (25)
- README.md
- SKILL.md
- astgrep-rule.yml.template · assets/templates/
- codemod.yaml.template · assets/templates/
- expected.tsx.template · assets/templates/fixtures/
- input.tsx.template · assets/templates/fixtures/
- transform.ts.template · assets/templates/
- workflow.yaml.template · assets/templates/
- config.json
- gotchas.md
- hooks.json · hooks/
- metadata.json
- inner-outer-loop.md · references/
- safety-and-scale.md · references/
- workflow.md · references/
- 00-plan.sh · scripts/
- 01-scaffold.sh · scripts/
- 02-inner-loop.sh · scripts/
- 03-dry-run.sh · scripts/
- 04-validate-findings.sh · scripts/
- 05-run-batched.sh · scripts/
- guardrail.sh · scripts/
- common.sh · scripts/lib/
- selftest.sh · scripts/
- verify.sh · scripts/
SKILL.md (first lines)
# Codemod React Pipeline
A safe, repeatable workflow for applying **JSX / TSX / React codemods to large legacy
codebases** — from a 50-file rename to a 100k-file API migration. It composes the
[Codemod CLI](https://docs.codemod.com) (JSSG, ast-grep, workflows) into an inner/outer loop and
gates every mass change behind a dry-run plus validation. For the *why* behind each rule it cites,
see the sibling [`codemod`](../codemod/) best-practices reference.
## When to Apply
Use this skill when:
- You're migrating a pattern across a large React/TS codebase (component/prop rename, deprecated
API, import swap, hook migration) and a hand-run `codemod jssg run ./t.ts ./src` is too risky.
- You need the change to land **incrementally and reviewably** — per-batch commits, resumable on
failure, with the build/typecheck/tests green at every checkpoint.
- You want to **see and validate the findings** (what would change, and whether it's safe) before
touching files at scale.
- The transform must be **idempotent** and proven so before mass apply.
Don't use it for a one-file edit, or a change better done by hand in a single PR.
## Workflow Overview
```
00 plan ─▶ 01 scaffold ─▶ 02 inner loop ─▶ 03 dry-run ─▶ 04 validate ─▶ 05 batched apply ─▶ 06 verify
goal templates fixture tests preview gates per-batch final
+ blast (transform/ + 1-file trial + findings (idempotency, apply+verify+commit assertions
radius rule/wf/tests) report type/lint/test) (resumable)
│ │
└── sentinel ──── required by ──────┘
(on any failure: working tree reverted; fix and re-run — nothing committed yet)
```
| Step | Action | Tool / Script | Risk |
|------|--------|---------------|------|
| 0 | Capture goal, classify transform, count blast radius | `scripts/00-plan.sh` | read-only |
| 1 | Scaffold transform + fixtures + workflow from templates | `scripts/01-scaffold.sh` | write (new files) |
| 2 | Fixture tests + single-file trial run (auto-reverted) | `scripts/02-inner-loop.sh` | read-only (reverts) |
| 3 | Preview changes; write findings report + dry-run sentinel | `scripts/03-dry-run.sh` | read-only (reverts) |
| 4 | Gate: idempotency, typecheck, lint, format, tests | `scripts/04-validate-findings.sh` | read-only (reverts) |
| 5 | Apply in resumable batches, verify + commit each | `scripts/05-run-batched.sh` | **destructive** (commits) |
| 6 | Final assertions over the whole migration | `scripts/verify.sh` | read-only |
A PreToolUse hook (`hooks/hooks.json`) blocks a broad `codemod jssg run` that lacks `--dry-run`
when no dry-run sentinel exists — so step 5 (or an ad-hoc apply) cannot skip steps 3–4.
## Requirements
- **Codemod CLI** — `npm i -g codemod` (or the scripts fall back to `npx codemod`). Provides
`jssg run/test` and `workflow run/validate/resume/status`.
- **git** — the pipeline requires a clean tree and makes per-batch checkpoint commits.
- **jq** — the scripts read `config.json` with it.
- **Your project's gate tooling** — TypeScript, ESLint, Prettier, a test runner (whichever gates
you enable in `config.json`).
## Setup
Edit `config.json` for the target repo (see each field's `_setup_instructions`):
- `src_globs`: the files the codemod may touch (scopes blast radius + gates)
- `language`: `tsx` | `jsx` | `typescript` | `javascript`
- `typecheck_cmd` / `lint_cmd` / `format_cmd` / `test_cmd`: gate commands (empty disables a gate)
- `batch_size`: files per checkpoint in the outer loop
- `gates`: per-gate on/off toggles
Add your `state_dir` (default `.codemod-pipeline`) to the target repo's `.gitignore`.
## Quick Reference
| Script | Purpose |
|--------|---------|
| `scripts/00-plan.sh "<goal>" [name]` | Plan + blast-radius estimate |
| `scripts/01-scaffold.sh <name> [--rule]` | Scaffold a JSSG transform (or ast-grep rule) |
| `scripts/02-inner-loop.sh <name> [--watch\|--file P\|-u]` | Tight loop: fixture tests / 1-file trial |
| `scripts/03-dry-run.sh <name> [--sample N]` | Preview; write findings + sentinel |
| `scripts/04-validate-findings.sh <name>` | Run validation gates |
| `scripts/05-run-batched.sh <name> [--batch-size N\|--dry]` | Resumable batched apply + commits |
| `scripts/verify.sh <name>` | Final sign-off assertions |
| `scripts/selftest.sh` | Self-test this skill's scripts/assets |
## How to Use
1. From the **target repo root**, run `00-plan.sh "<goal>"` and read the generated `plan.md`.
2. `01-scaffold.sh <name>`, then implement `codemods/<name>/transform.ts` and its fixtures.
3. Iterate with `02-inner-loop.sh <name> --watch` until fixtures pass; try `--file <path>` on a real file.
4. `03-dry-run.sh <name>` and read the findings report; then `04-validate-findings.sh <name>`.
5. Only after gates pass: `05-run-batched.sh <name>` (resume by re-running it after any fix).
6. `verify.sh <name>` to confirm the migration is complete and idempotent.
See [references/workflow.md](references/workflow.md) for per-step inputs, outputs, failure handling,
and rollback; [references/inner-outer-loop.md](references/inner-outer-loop.md) for the mental model;
and [references/safety-and-scale.md](references/safety-and-scale.md) for batching and rollback at
100k-file scale.
## Gotchas
See [gotchas.md](gotchas.md). The big ones: workflow `commit:` checkpoints are **cloud-only** (the
pipeline commits locally instead); always exclude generated/vendored trees; and design for
idempotency from the first line.
## Related Skills
- [`codemod`](../codemod/) — the best-practices reference (48 rules) this pipeline operationalizes.
Steps here cite specific rules (e.g. `test-run-on-subset-first`, `state-use-for-resumability`,
`pattern-ensure-idempotency`, `security-minimize-capabilities`).From pproenca/dot-skills, MIT.
More from pproenca/dot-skills
- 0.694score
tanstack-query
community
TanStack Query v5 performance optimization for data fetching, caching, mutations, and query patterns.
SkillCFreshness: C★ 218Claude Code +9 - 0.596score
mlflow-3
pproenca
MLflow 3 (open-source, pinned to 3.15) for classic-ML MLOps — logging and registering models, promoting versions across dev/staging/prod, standing up a…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
ray
pproenca
Production Ray (open-source, pinned to 2.57) for classic-ML workloads from training to serving — Ray Train, Tune, Data, Serve, Core, and cluster deployment on…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
mlflow-mlops-migration
pproenca
Guided workflow for taking any ML codebase — including one with no experiment tracking at all, or one full of MLflow 2-era idioms — to a production-grade…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
ray-llm
pproenca
LLM workloads on open-source Ray (pinned to 2.57) — OpenAI-compatible serving with ray.serve.llm (vLLM-backed LLMConfig + build_openai_app) and batch…
SkillBFreshness: B★ 218Claude Code +9 - 0.550score
expo-ui
pproenca
Library reference for @expo/ui SwiftUI components on iOS — covers Host boundaries, modifier composition, iOS 26 Liquid Glass and Human Interface Guidelines…
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
debug
pproenca
Comprehensive debugging methodology for finding and fixing bugs (formerly debugging).
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
bug-review
pproenca
Use this skill when a user asks to review a pull request for bugs, wants AI code review focused on correctness issues, or runs /bug-review.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
ios-taste
pproenca
Designs iOS 18+ SwiftUI experiences with real taste — starting from user goals, not pixels.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
implementation-functional-patterns
pproenca
TypeScript's functional answers to the 22 Gang of Four classes — factory functions (Factory Method, Abstract Factory, Prototype, Memento), module-scope…
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
expo
pproenca
Expo React Native performance optimization guidelines.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
deterministic-metric-design
pproenca
Inventing deterministic metrics — turning a fuzzy property like 'maintainability', 'risk', or 'how reducible this code is' into a deterministic, computable…
SkillCFreshness: C★ 218Claude Code +9
Signals
- Stars
- 218
- Forks
- 19
- Open issues
- 3
- Last commit (this folder)
- May 27, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/pproenca/dot-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from pproenca
- 0.596score
ray-llm
pproenca
LLM workloads on open-source Ray (pinned to 2.57) — OpenAI-compatible serving with ray.serve.llm (vLLM-backed LLMConfig + build_openai_app) and batch…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
mlflow-mlops-migration
pproenca
Guided workflow for taking any ML codebase — including one with no experiment tracking at all, or one full of MLflow 2-era idioms — to a production-grade…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
mlflow-3
pproenca
MLflow 3 (open-source, pinned to 3.15) for classic-ML MLOps — logging and registering models, promoting versions across dev/staging/prod, standing up a…
SkillBFreshness: B★ 218Claude Code +9 - 0.596score
ray
pproenca
Production Ray (open-source, pinned to 2.57) for classic-ML workloads from training to serving — Ray Train, Tune, Data, Serve, Core, and cluster deployment on…
SkillBFreshness: B★ 218Claude Code +9 - 0.550score
expo
pproenca
Expo React Native performance optimization guidelines.
SkillCFreshness: C★ 218Claude Code +9 - 0.550score
debug
pproenca
Comprehensive debugging methodology for finding and fixing bugs (formerly debugging).
SkillCFreshness: C★ 218Claude Code +9
Cite this page
codemod-react-pipeline skill. Agent Mart. https://agentmart.dev/skills/pproenca-codemod-react-pipeline (last updated 2026-10-24)