Skip to content
cccskills
FreePublished on GitHub

migrate-component

Migrate a UI component from one framework to another, preserving behavior and tests.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Migrate component

Migrate the $0 component from $1 to $2.

Step 1: Read the current implementation

Find and read the current $0 component file. Search for it:

  • In src/components/, components/, app/components/, or similar common locations
  • Using grep -r "$0" --include="*.$1*" -l if the framework extension is known (e.g., .vue, .jsx)

Read all files that make up the component:

  • The main component file
  • Any associated style files (.css, .scss, .module.css)
  • Any associated test files (*.test.*, *.spec.*)

If you cannot find the component, stop and ask the user for the file path.

Step 2: Understand props, state, and behavior

Before writing any code, document:

  • All props the component accepts (name, type, default value, whether required)
  • All internal state (what it tracks and how it changes)
  • All events the component emits or callbacks it invokes
  • Side effects (data fetching, subscriptions, DOM manipulation)
  • The rendered structure (what it produces visually or structurally)

This documentation becomes the specification the new implementation must satisfy.

Step 3: Write the equivalent in $2

Write the $0 component in $2, matching the same public API:

  • Same prop names and types
  • Same event names and payloads
  • Same rendered structure (or nearest equivalent in $2)
  • Same behavior for all documented state transitions

Use idiomatic $2 patterns. Do not transliterate $1 patterns directly into $2 if $2 has a better way to express the same thing.

Step 4: Update tests

Rewrite any tests associated with the original component to use $2 testing conventions:

  • Update imports to point to the new component file
  • Update any framework-specific test utilities (e.g., mount from $1 to the $2 equivalent)
  • Preserve all test cases — every behavior tested in $1 must be tested in $2

Step 5: Report what changed and what needs manual review

Produce a brief report:

Changed:

  • List of files created or modified

Preserved:

  • Confirmation that all props, events, and behaviors have equivalents

Needs manual review:

  • Any behavior that could not be automatically preserved (e.g., a lifecycle hook that has no direct equivalent in $2)
  • Any $1-specific third-party libraries used in the original that may not have $2 equivalents
  • Performance characteristics that may differ between frameworks

Do not delete the original $1 component file. Leave that for the user to remove after verifying the migration.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Write an Architecture Decision Record (ADR) document for a technical decision. Use when documenting a technical choice, architectural decision, or design decision.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

REST API design conventions for this codebase. Use when writing or reviewing API endpoints, route definitions, response formatting, or client code that calls the API.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Create a git branch named after a GitHub issue.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

See all skills by davila7

Report a problem with this skill