SuperAPI AI Directory

clarity-timesheet

General & other

View repository

Updated 10-15 20:35

About this skill

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

  1. Never log in. Attach to the already-authenticated browser via CDP (reference/automation-snippets.md).
  2. 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).
  3. 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.
  4. 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.
  5. 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)

Goal Recipe
Open a week / period timesheet timesheet-entry.md
Add a task by project code + activity timesheet-entry.md
Enter hours in a day cell (0.5h) timesheet-entry.md
Enter congés / jours fériés timesheet-entry.md
Copy previous week timesheet-entry.md
Submit for approval (write, gated) timesheet-entry.md
Approve / return team lines (write, gated) approval.md
Autonomous weekly declaration (default project) autonomous.md
Auto-validate the whole team (unattended) autonomous.md
Delegate validation (set Task Owner) approval.md
ERP PAS FR project → responsible matrix + Gx.y activity codes erp-pas-fr-projects.md
Read/scrape a filled timesheet automation-snippets.md

Recommended entry order (from the rollout)

  1. 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.
  2. Recurring meetings — pick the task best matching the meeting's objective (e.g. New development for Dailies).
  3. 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.
  4. Other time (product release).

Workflow

  1. Attach to the authenticated browser; confirm the timesheets page loaded.
  2. Reconnaissance: screenshot + dump roles/labels of the grid and controls.
  3. Open the target week; add tasks by project code, pick activities.
  4. Fill day cells at 0.5h granularity; verify each save (a no-hours row drops).
  5. Copy forward to later weeks as needed.
  6. 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.