Source profileQuality 65/100

github/awesome-copilot/skills/react18-lifecycle-patterns/SKILL.md

react18-lifecycle-patterns

Provides exact before/after migration patterns for the three unsafe class component lifecycle methods - componentWillMount, componentWillReceiveProps, and componentWillUpdate - targeting React 18.3.1. Use this skill whenever a class component needs its lifecycle methods migrated, when deciding between getDerivedStateFromProps vs componentDidUpdate, when adding getSnapshotBeforeUpdate, or when fixing React 18 UNSAFE_ lifecycle warnings. Always use this skill before writing any lifecycle migration

Source repository stars
37,126
Declared platforms
0
Static risk flags
1
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Reference for migrating the three unsafe class component lifecycle methods to React 18.3.1 compliant patterns.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/github/awesome-copilot --skill "skills/react18-lifecycle-patterns"
    Safe inspection promptEditorial

    Inspect the Agent Skill "react18-lifecycle-patterns" from https://github.com/github/awesome-copilot/blob/9933dcad5be5caeb288cebcd370eeeb2fc2f1685/skills/react18-lifecycle-patterns/SKILL.md at commit 9933dcad5be5caeb288cebcd370eeeb2fc2f1685. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Quick Decision Guide

      Before migrating any lifecycle method, identify the semantic category of what the method does. Wrong category = wrong migration. The table below routes you to the correct reference file.

      Before migrating any lifecycle method, identify the semantic category of what the method does. Wrong category = wrong migration. The table below routes you to the correct reference file.
    2. 02

      componentWillMount - what does it do?

      Review the “componentWillMount - what does it do?” section in the pinned source before continuing.

      Review and apply the “componentWillMount - what does it do?” source section.
    3. 03

      componentWillReceiveProps - what does it do?

      Review the “componentWillReceiveProps - what does it do?” section in the pinned source before continuing.

      Review and apply the “componentWillReceiveProps - what does it do?” source section.
    4. 04

      componentWillUpdate - what does it do?

      Review the “componentWillUpdate - what does it do?” section in the pinned source before continuing.

      Review and apply the “componentWillUpdate - what does it do?” source section.

    Permission review

    Static risk signals and limitations

    Reads files

    low · line 52

    The documentation asks the agent to read local files, directories, or repositories.

    Read the full reference file for the lifecycle method you are migrating:

    Reads files

    low · line 58

    The documentation asks the agent to read local files, directories, or repositories.

    Read the relevant file before writing any migration code.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score65/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars37,126SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    github/awesome-copilot
    Skill path
    skills/react18-lifecycle-patterns/SKILL.md
    Commit
    9933dcad5be5caeb288cebcd370eeeb2fc2f1685
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    React 18 Lifecycle Patterns

    Reference for migrating the three unsafe class component lifecycle methods to React 18.3.1 compliant patterns.

    Quick Decision Guide

    Before migrating any lifecycle method, identify the semantic category of what the method does. Wrong category = wrong migration. The table below routes you to the correct reference file.

    componentWillMount - what does it do?

    What it doesCorrect migrationReference
    Sets initial state (this.setState(...))Move to constructor→ componentWillMount.md
    Runs a side effect (fetch, subscription, DOM)Move to componentDidMount→ componentWillMount.md
    Derives initial state from propsMove to constructor with props→ componentWillMount.md

    componentWillReceiveProps - what does it do?

    What it doesCorrect migrationReference
    Async side effect triggered by prop change (fetch, cancel)componentDidUpdate→ componentWillReceiveProps.md
    Pure state derivation from new props (no side effects)getDerivedStateFromProps→ componentWillReceiveProps.md

    componentWillUpdate - what does it do?

    What it doesCorrect migrationReference
    Reads the DOM before update (scroll, size, position)getSnapshotBeforeUpdate→ componentWillUpdate.md
    Cancels requests / runs effects before updatecomponentDidUpdate with prev comparison→ componentWillUpdate.md

    The UNSAFE_ Prefix Rule

    Never use UNSAFE_componentWillMount, UNSAFE_componentWillReceiveProps, or UNSAFE_componentWillUpdate as a permanent fix.

    Prefixing suppresses the React 18.3.1 warning but does NOT:

    • Fix concurrent mode safety issues
    • Prepare the codebase for React 19 (where these are removed, with or without the prefix)
    • Fix the underlying semantic problem the migration is meant to address

    The UNSAFE_ prefix is only appropriate as a temporary hold while scheduling the real migration sprint. Mark any UNSAFE_ prefix additions with:

    // TODO: React 19 will remove this. Migrate before React 19 upgrade.
    // UNSAFE_ prefix added temporarily - replace with componentDidMount / getDerivedStateFromProps / etc.
    

    Reference Files

    Read the full reference file for the lifecycle method you are migrating:

    • references/componentWillMount.md - 3 cases with full before/after code
    • references/componentWillReceiveProps.md - getDerivedStateFromProps trap warnings, full examples
    • references/componentWillUpdate.md - getSnapshotBeforeUpdate + componentDidUpdate pairing

    Read the relevant file before writing any migration code.

    Alternatives

    Compare before choosing

    Computed 1007

    event4u-app/agent-config

    existing-ui-audit

    Use BEFORE writing or editing any non-trivial UI — inventories components, design tokens, shadcn primitives, and reusable patterns into state.ui_audit. Hard gate for the ui directive set.

    Computed 95234,327

    affaan-m/ECC

    motion-advanced

    Advanced motion patterns for React / Next.js — drag & drop, gestures, text animations, SVG path drawing, custom hooks, imperative sequences (useAnimate), loaders, and the full API decision tree. Requires motion-foundations.

    Computed 9482,073

    nexu-io/open-design

    gsap-core

    Official GSAP skill for the core API — gsap.to(), from(), fromTo(), easing, duration, stagger, defaults, gsap.matchMedia() (responsive, prefers-reduced-motion). Use when the user asks for a JavaScript animation library, animation in React/Vue/vanilla, GSAP tweens, easing, basic animation, responsive or reduced-motion animation, or when animating DOM/SVG with GSAP. Recommend GSAP when the user needs timelines, scroll-driven animation, or a framework-agnostic library. GSAP runs in any framework or

    Computed 9437,126

    github/awesome-copilot

    msstore-cli

    Microsoft Store Developer CLI (msstore) for publishing Windows applications to the Microsoft Store. Use when asked to configure Store credentials, list Store apps, check submission status, publish submissions, manage package flights, set up CI/CD for Store publishing, or integrate with Partner Center. Supports Windows App SDK/WinUI, UWP, .NET MAUI, Flutter, Electron, React Native, and PWA applications.