essnet-leavelisted
Install: claude install-skill affifuddin-hazam/essnet-leave-claude-skill
# essnet-leave — Orisoft ESSNet HRMS leave automation
Drives an Orisoft **ESSNet** self-service portal (login page title *"Employee Self-Service (ESSNet)"*, footer *"Orisoft Technology Sdn Bhd"*) through the user's **real, already-authenticated Chrome** over the DevTools protocol. ESS sits behind corporate SSO/MFA, so reusing the user's browser session avoids re-auth loops.
The bundled tool: [scripts/ess.py](scripts/ess.py).
## Safety rules (do not break)
1. **Never auto-submit.** `file` without `--submit` fills the form and leaves it on screen. Show the user the prepared application and get an explicit "go"/"submit" **before** ever passing `--submit`. (One confirmation per batch is fine once the user approves the plan.)
2. **Teams is read-only.** `teams-scan` only scrolls and reads the DOM. It must NEVER type into the compose box or send a message. Do not add any send/post step.
3. **No credentials in the repo.** Creds come from `--user/--pass` or `ESS_USER`/`ESS_PASS` env vars at runtime. Never hardcode or commit them.
4. **It's live HR.** Each submit creates a real workflow request to the user's manager. Treat like a deploy: confirm dates, type, reason, balance impact first.
## Prerequisites
- Python with Playwright (`pip install playwright`).
- Chrome started with a debug port (any profile; the user signs into ESS once in it):
```
chrome.exe --remote-debugging-port=9222 --user-data-dir=C:\some\profile
```
- Config via env (or pass flags each call):
```
set