Playground / Category F
← All scenariosF3 · Jira-style sprint board
Full login flow: credentials → 2FA → sprint board with drag-between-columns, side flyout with rich-text comments + drag-to-upload attachments, embedded wiki iframe, print preview in new tab.
Live fixture · interact with it while the recorder is runningOpen in new tab ↗
Try this
- Enter a password (anything) on the login screen. Submit.
- 2FA modal appears — type any 6 digits. Click Verify.
- On the sprint board, drag a card from "To Do" to "In Progress".
- Drag another card around — board state persists.
- Click the project picker top-left → switch to AUTH project, then back.
- Click any card to open the side flyout (mounts after 200ms).
- In the comment composer: select some text, click Bold. Paste a URL like https://example.com.
- Drag a file from your desktop onto the attachment zone.
- Click the Status combobox → change the status.
- Click the Due-date trigger → pick a date.
- Scroll down inside the flyout — the linked wiki iframe loads its own content.
- Click "Print preview" — opens a new tab with the sprint summary.
Why this is hard
A login cascade is the worst case for naïve recorders: password input must be redacted (C2), the 2FA modal lazy-mounts (B3), and the post-login URL doesn't exist until both steps succeed. On the board, identical-looking sub-tasks need fingerprintIndex (A3), every card carries dynamic `atl-${hash}` classes (A2), and status badges have `data-i18n-key` so selectors survive locale changes (A4).
The side flyout exercises the heaviest combination: contenteditable comment editor with B/I/Link toolbar (D4), pasting a URL auto-linkifies (D5), the attach zone accepts both click-to-pick (D2) and drag-to-drop (D1) files, the due-date picker is a custom flyout (D6 datepicker-flavored), assignee/status are inline comboboxes (D6), the embedded Confluence-like wiki is a same-origin iframe (C1), the user profile dropdown holds a sensitive phone field (C2), and "Print preview" opens a new tab via target=_blank (C4). The URL becomes `/browse/BROW-123` as you click around (B1 + E2).
Difficulty points covered
Each tag below links to the isolated demo for that single difficulty point — useful if the composite breaks somewhere and you want to bisect.
Replay log · claude code · stdoutsimulated · not live data
▸ Reading ~/.claude/skills/jira-update-sprint-card/SKILL.md ✓ 12 steps · 3 params · 2 preconditions (cookie + 2FA) ▸ Precondition 1 · supplier-portal cookie ✓ resolved ▸ Precondition 2 · 2FA challenge ⏸ paused for human, code received ✓ resumed ▸ Step 1/12 · drag card "To Do" → "In Progress" ▸ Step 2/12 · project picker → switch back ✓ B1 SPA transition awaited ▸ Step 3/12 · open card → side flyout (200ms) ▸ Step 4/12 · select + bold (D4 contenteditable) ▸ Step 5/12 · paste URL · auto-linkify ▸ Step 6/12 · drag file → attach zone ✓ fileMeta only · bytes not transmitted ▸ Step 7/12 · pencil-icon: phone — input mounted ⚠ sensitive field detected · masked: true (***) ▸ Step 8/12 · due-date picker (custom combobox) ▸ Step 9/12 · scroll → wiki iframe loaded ✓ frameId 4 re-resolved by URL ▸ Step 10/12 · "Print preview" target=_blank ✓ chrome.tabs.onCreated · openerTabId tracked ▸ done in 14.2s · 0 retries