| name | clarity-timesheet |
| description | Drive the Dedalus Clarity PPM timesheet web app (dedalus.itdhosting.de/pm/#/timesheets/) in a browser to enter, copy and submit weekly time: congés/jours fériés, recurring meetings, roadmap-project time by activity (Requirement analysis, DEV, Sustain, Test, DOC), and other time. Hours-based (7h/day, 0.5h steps). Also approves/returns team members' submitted lines (manager/TL/PM validation), can delegate validation via Task Owner, and supports autonomous unattended runs: auto-declare each week on a default project and auto-validate the whole team. Reuses the user's already-authenticated session — never logs in. À utiliser quand / Use when the user asks to fill, saisir, copy, report, submit, approve/validate (valider), return, auto-declare weekly or auto-validate a team's Clarity timesheet / feuille de temps, enter congés or project time in Clarity PPM, or automate navigation in the Clarity timesheet app. |
| version | 1.1.0 |
| license | MIT |
| metadata | {"author":"Foundation Skills"} |
Clarity Timesheet
Enter and manage weekly time in the Dedalus Clarity PPM timesheet app
(https://dedalus.itdhosting.de/pm/#/timesheets/), the successor to Timesheet.
Same project structure as Timesheet; only the entry UI differs.
Prerequisites
- Node.js: required — https://nodejs.org
- playwright npm package:
npm install playwright
- An authenticated Clarity tab open in the user's Chrome (SSO already done)
Golden rules
- Never log in. Attach to the already-authenticated browser via CDP
(reference/automation-snippets.md).
- Reconnaissance first. Clarity's modern UX is an Angular SPA (hash
routing
#/…) with no documented stable test-ids. Prefer accessible
selectors — getByRole, getByLabel, getByText — and dump the DOM
before acting (navigation.md).
- 0.5h granularity, hours model. Round to the half-hour. A cell's time is
saved as soon as it is entered; a task/project selected without any
hours is not saved. The weekly hour cap varies by period (21 / 28 /
35 / 14h observed for partial weeks) — never hardcode 35h or "7h × 5";
read the target from the grid.
- Never submit without explicit confirmation. Submitting sends the sheet
into Clarity's 3-level validation and is consequential. Save entries, but
only click Submit for Approval on the user's explicit go-ahead (the rollout
waits for the "feu vert" on the CLARITY channel). Who validates what:
reference/validation-model.md.
- Wait for the SPA.
waitForLoadState('networkidle') and wait for the
target grid/row before reading or filling; let spinners disappear.
Connect to the authenticated session
The user starts Chrome with --remote-debugging-port=9222, opens Clarity, then
the script attaches with CDP so the live session is reused (never automate a
login page). Code: automation-snippets.md.
Navigation model
App shell routes (verified live): Timesheets → #/timesheets (tabs My
Timesheet | Timesheets), Time entry / approval → #/customobjects/custZTes/common,
Tasks → #/tasks/common. My Timesheet detail →
#/timesheets/timesheet?resourceId=<id>&timeperiodId=<id> — a grid of rows
(tasks/projects) × day columns (Mon–Sun), cells hold hours. Tasks are not
pre-assigned so Add Assigned Tasks is disabled → use Select Tasks, set
the Assigned Resources filter (the picker stays on "Loading data…" until it
is), then pick the activity (Gx.y). Full map + selectors in
navigation.md; ERP PAS FR projects & activity codes
in erp-pas-fr-projects.md.
Task index (the tools this skill provides)
Recommended entry order (from the rollout)
- Congés (incl. jours fériés) on the right weeks, matching Workday since
01/04. Same modality as old Timesheet. Part-timers need extra config — flag it.
- Recurring meetings — pick the task best matching the meeting's objective
(e.g. New development for Dailies).
- Roadmap-project time — select the activity by
Gx.y code (G1.1
Requirements Analysis, G2.1 New Development, G2.2 Sustained Engineering, G2.4
Generic Testing, G2.3 Generic Documentation…); keep coherent with JIRA. The
roadmap project name is on the JIRA EPIC. Codes + Cap/Non-Cap:
erp-pas-fr-projects.md.
- Other time (product release).
Workflow
- Attach to the authenticated browser; confirm the timesheets page loaded.
- Reconnaissance: screenshot + dump roles/labels of the grid and controls.
- Open the target week; add tasks by project code, pick activities.
- Fill day cells at 0.5h granularity; verify each save (a no-hours row drops).
- Copy forward to later weeks as needed.
- Stop and summarize before submitting; submit only on explicit go-ahead.
Important Notes
- Host is fixed:
dedalus.itdhosting.de. Never hardcode another instance.
- Tasks are not pre-assigned — always add rows via Select Tasks (the
Add Assigned Tasks option is disabled with no assignments).
- Clarity UI is in English; the user context is French — accept both labels.
- Sensitive internal data: read/fill only what's asked; do not persist beyond task.
- Autonomous runs (autonomous.md) run where the browser
lives (local schedule), start in
DRY_RUN, are idempotent, and never approve a
flagged line; submit/approve stay behind explicit config flags.