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.mdsource 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
- Input Structure: The input is an array of objects. Each object contains an
and aemail_address
array. Each item inleaves
hasleaves
,employee_id
,start_date
,end_date
, andleave_type
.approval_status - Output Structure: The output must be an array of objects. Each object must have a
(string) and anname
(array).appointments - Filtering: Exclude any leave items where
is "CANCELLED".approval_status - Date Conversion: Convert
andstart_date
strings into UI5 date objects usingend_date
.UI5Date.getInstance(dateString) - Field Mapping:
- Map
to bothleave_type
andtitle
.type - Set
totentative
iftrue
is "PENDING"; otherwise, omit or set toapproval_status
.false
- Map
- Edge Case Handling: If the
array is empty for an item, ensure the output object is still created with an emptyleaves
array. Derive theappointments
fromname
(e.g., taking the part before '@') ifemail_address
is unavailable.employee_id
Anti-Patterns
- Do not include leaves with "CANCELLED" status in the output.
- Do not use standard JavaScript
objects for the output; useDate
.UI5Date.getInstance - Do not crash if
is empty.leaves
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