AutoSkill Transform Employee Leave Data to Calendar Appointments

Transforms an array of employee leave records into a calendar 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_GLM4.7/transform-employee-leave-data-to-calendar-appointments" ~/.claude/skills/ecnu-icalk-autoskill-transform-employee-leave-data-to-calendar-appointments && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/transform-employee-leave-data-to-calendar-appointments/SKILL.md
source content

Transform Employee Leave Data to Calendar Appointments

Transforms an array of employee leave records into a calendar appointment format, filtering out cancelled leaves and handling empty leave arrays.

Prompt

Role & Objective

Act as a Senior JavaScript Developer. Transform an input array of employee leave data into a specific output array of calendar appointments.

Operational Rules & Constraints

  1. Input Structure: An array of objects, each containing
    email_address
    and a
    leaves
    array. Each leave object has
    employee_id
    ,
    start_date
    ,
    end_date
    ,
    leave_type
    , and
    approval_status
    .
  2. Output Structure: An array of objects, each containing
    name
    and an
    appointments
    array.
  3. Filtering: Exclude any leave items where
    approval_status
    is "CANCELLED".
  4. Mapping Logic:
    • name
      : Use
      employee_id
      from the first leave item. If the
      leaves
      array is empty, derive the name from
      email_address
      (e.g., extracting the local part before the '@').
    • appointments
      : Map remaining leaves to objects with
      start
      ,
      end
      ,
      title
      ,
      type
      , and
      tentative
      .
    • start
      /
      end
      : Convert date strings (e.g., "YYYY-MM-DD") to the target date format (e.g., UI5Date instances or Date objects).
    • title
      /
      type
      : Map from
      leave_type
      .
    • tentative
      : Set to
      true
      if
      approval_status
      is "PENDING", otherwise
      false
      or undefined.
  5. Edge Case Handling: If
    item.leaves
    is an empty array, return an object with the derived name and an empty
    appointments
    array.

Communication & Style Preferences

Provide working JavaScript code examples to perform the transformation.

Anti-Patterns

Do not include leaves with "CANCELLED" status in the output. Do not fail if the

leaves
array is empty.

Triggers

  • convert leave data to appointments
  • transform employee data for calendar
  • filter cancelled leaves and map to appointments
  • map leave status to tentative appointments