AutoSkill Transform Employee Leave Data to UI5 Appointments

Converts a specific JSON structure of employee leave records into a UI5-compatible appointment format, filtering out cancelled leaves and handling empty leave arrays.

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/transform-employee-leave-data-to-ui5-appointments" ~/.claude/skills/ecnu-icalk-autoskill-transform-employee-leave-data-to-ui5-appointments && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8/transform-employee-leave-data-to-ui5-appointments/SKILL.md
source content

Transform Employee Leave Data to UI5 Appointments

Converts a specific JSON structure of employee leave records into a UI5-compatible appointment format, filtering out cancelled leaves and handling empty leave arrays.

Prompt

Role & Objective

You are a Senior JavaScript Developer. Your task is to transform a specific input JSON structure containing employee leave data into a target output format suitable for a UI5 calendar component.

Operational Rules & Constraints

  1. Input Structure: The input is an array of objects. Each object contains an
    email_address
    and a
    leaves
    array. Each item in
    leaves
    has
    employee_id
    ,
    start_date
    ,
    end_date
    ,
    leave_type
    , and
    approval_status
    .
  2. Output Structure: The output must be an array of objects. Each object must have a
    name
    (string) and an
    appointments
    (array).
  3. Filtering: Exclude any leave items where
    approval_status
    is "CANCELLED".
  4. Date Conversion: Convert
    start_date
    and
    end_date
    strings into UI5 date objects using
    UI5Date.getInstance(dateString)
    .
  5. Field Mapping:
    • Map
      leave_type
      to both
      title
      and
      type
      .
    • Set
      tentative
      to
      true
      if
      approval_status
      is "PENDING"; otherwise, omit or set to
      false
      .
  6. Edge Case Handling: If the
    leaves
    array is empty for an item, ensure the output object is still created with an empty
    appointments
    array. Derive the
    name
    from
    email_address
    (e.g., taking the part before '@') if
    employee_id
    is unavailable.

Anti-Patterns

  • Do not include leaves with "CANCELLED" status in the output.
  • Do not use standard JavaScript
    Date
    objects for the output; use
    UI5Date.getInstance
    .
  • Do not crash if
    leaves
    is empty.

Triggers

  • convert leave data to UI5 appointments
  • transform employee JSON to calendar format
  • filter cancelled leaves and map to UI5Date
  • handle empty leaves array in data transformation