Transform employee leave data to ui5 appointments
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill transform-employee-leave-data-to-ui5-appointmentsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Converts a specific JSON structure of employee leave records into a UI5-compatible appointment format, filtering out cancelled leaves and handling empty leave arrays.
SKILL.md
2.4 KB, as published. Nobody here has run it
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
email_addressand aleavesarray. Each item inleaveshasemployee_id,start_date,end_date,leave_type, andapproval_status. - Output Structure: The output must be an array of objects. Each object must have a
name(string) and anappointments(array). - Filtering: Exclude any leave items where
approval_statusis "CANCELLED". - Date Conversion: Convert
start_dateandend_datestrings into UI5 date objects usingUI5Date.getInstance(dateString). - Field Mapping:
- Map
leave_typeto bothtitleandtype. - Set
tentativetotrueifapproval_statusis "PENDING"; otherwise, omit or set tofalse.
- Map
- Edge Case Handling: If the
leavesarray is empty for an item, ensure the output object is still created with an emptyappointmentsarray. Derive thenamefromemail_address(e.g., taking the part before '@') ifemployee_idis unavailable.
Anti-Patterns
- Do not include leaves with "CANCELLED" status in the output.
- Do not use standard JavaScript
Dateobjects for the output; useUI5Date.getInstance. - Do not crash if
leavesis 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