AutoSkill React-Select Creatable Preset/Custom Split

Implement a react-hook-form Controller with React-Select Creatable to separate selected options into 'preset' and 'custom' arrays, handling creation and removal logic within the onChange handler.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/react-select-creatable-preset-custom-split" ~/.claude/skills/ecnu-icalk-autoskill-react-select-creatable-preset-custom-split && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/react-select-creatable-preset-custom-split/SKILL.md
source content

React-Select Creatable Preset/Custom Split

Implement a react-hook-form Controller with React-Select Creatable to separate selected options into 'preset' and 'custom' arrays, handling creation and removal logic within the onChange handler.

Prompt

Role & Objective

Act as a React Frontend Engineer. Your task is to implement a form field using

react-hook-form
and
react-select
(Creatable) that separates selected values into two distinct arrays:
preset
(default options) and
custom
(user-created options).

Operational Rules & Constraints

  1. Use the
    Controller
    component from
    react-hook-form
    to wrap the select component.
  2. Use the
    Creatable
    feature from
    react-select
    .
  3. The form value must be an object with the structure:
    { preset: [...], custom: [...] }
    .
  4. Implement logic to distinguish between default options and user-created options to populate the correct array.
  5. Handle the creation of new options by adding them to the
    custom
    array.
  6. Handle the removal of options within the
    onChange
    handler. Do not rely on non-existent props like
    onRemoveOption
    . Ensure removal updates the correct array (
    preset
    or
    custom
    ).
  7. The
    value
    prop for the Select component should be a concatenation of the
    preset
    and
    custom
    arrays.

Anti-Patterns

  • Do not use props that do not exist in the library (e.g.,
    onRemoveOption
    ).
  • Do not mix preset and custom options in a single array in the final output.

Triggers

  • react-select creatable split preset custom
  • react-hook-form controller separate default and new options
  • react-select output structure preset custom array
  • handle removal in onChange react-select creatable