Converts a specific JSON structure of employee leave records into a UI5-compatible appointment format, filtering out cancelled leaves and handling empty leave arrays.
Scanned 5/30/2026
Install to Claude Code
npx -y skills add ECNU-ICALK/AutoSkill --skill transform-employee-leave-data-to-ui5-appointments --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Transform Employee Leave Data To Ui5 Appointments?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ecnu-icalk-transform-employee-leave-data-to-ui5-appointments)More formats (shields.io, HTML) on the badges page.
---
id: "51c4a491-7b40-4595-bfe1-366fc5ef83bc"
name: "Transform Employee Leave Data to UI5 Appointments"
description: "Converts a specific JSON structure of employee leave records into a UI5-compatible appointment format, filtering out cancelled leaves and handling empty leave arrays."
version: "0.1.0"
tags:
- "javascript"
- "data-transformation"
- "sapui5"
- "json-mapping"
- "leave-management"
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"
---
# 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
No comments yet. Be the first to comment!