feat(hitl-skill): add Case Management surface — hitl-casetask-action.md + SKILL.md routing#541
feat(hitl-skill): add Case Management surface — hitl-casetask-action.md + SKILL.md routing#541dushyant-uipath wants to merge 5 commits intomainfrom
Conversation
|
Claude finished @dushyant-uipath's task in 1m 33s —— View job PR Review: feat(hitl-skill): add Case Management surface
SummaryAdds Case Management as a new HITL surface: a new reference doc ( Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | No changes to frontmatter; existing frontmatter valid |
| E2E Tests | Issue | No test task for the new Case surface |
| Skill Body | Issue | Missing find command for caseplan.json in Step 1 |
| References & Assets | Issue | Cross-skill link in hitl-casetask-action.md:114 violates self-containment |
| Repo Hygiene | OK | CODEOWNERS entry exists, no secrets, changes scoped to this skill |
Issues for Manual Review
- CLI command accuracy:
uip maestro case stages get,uip maestro case cases get,uip maestro case hitl add, anduip maestro case validateare all referenced but the CLI PR (#1207) is noted as in-flight. Verify these subcommand names and flags match the actual CLI implementation. shouldRunOnlyOncefield appears in the app-based JSON example (line 97) but is absent from the field reference table. Confirm whether this is a valid field for Case action tasks.
Conclusion
Request changes. The new reference doc is well-structured and follows the existing pattern from the Flow surface. Three items need attention before merge:
- Must fix (High): Remove the cross-skill link at
hitl-casetask-action.md:114— inline the binding construction rules or provide a self-contained summary - Should fix (Medium): Add the
findcommand forcaseplan.jsonto Step 1's detection block - Should fix (Medium): Reconcile the priority value inconsistency (
"Critical"in field reference vs absent from CLI and conversation prompts)
9601fb0 to
bd55271
Compare
1229060 to
bbff70d
Compare
…md routing Add hitl-casetask-action.md: Case equivalent of hitl-node-quickform.md. Covers both paths (generic action task / app-based action task) with schema design conversation, JSON shapes, CLI opt-in, field reference, and downstream output access — mirrors the QuickForm vs AppTask structure in the flow docs. Update SKILL.md: - Step 1: add Case surface detection (caseplan.json) - Step 3: add Case surface branch with Generic vs App-based choice (same pattern as Flow's QuickForm vs AppTask choice) - Step 5: add Case write path - References: add hitl-casetask-action.md entry
9cfd840 to
81a523e
Compare
21dd6d0 to
06ece70
Compare
|
Claude finished @rohan-uip's task in 3m 39s —— View job Coder-eval task lint (advisory)3 task YAMLs changed; 0 Critical, 1 High, 1 Medium, 1 Low, 0 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run❌ High — PR body does not claim the changed tasks have been run and passed. The body states "No automated test for Case QuickForm yet" and "Follow-up: add Per-task lint
|
06ece70 to
a2dc6e8
Compare
|
Claude finished @rohan-uip's task in 3m 6s —— View job Coder-eval task lint (advisory)3 task YAMLs changed; 0 Critical, 1 High, 0 Medium, 2 Low, 0 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run❌ High — PR body does not claim the changed tasks have been run and passed. The body states "No automated test for Case QuickForm yet" and "Follow-up: add Per-task lint
|
|
Claude finished @rohan-uip's task in 2m 53s —— View job Coder-eval task lint (advisory)3 task YAMLs changed; 0 Critical, 1 High, 0 Medium, 2 Low, 0 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run❌ High — PR body does not claim the changed tasks have been run and passed. The body states "No automated test for Case QuickForm yet" and "Follow-up: add Per-task lint
|
Summary
references/hitl-casetask-action.md(new): The Case equivalent ofhitl-node-quickform.md. Documents theactiontask JSON for Case HITL — generic (no app) and app-based flavors,uip case hitl addCLI opt-in, field reference, assignee handling, and downstream output access.SKILL.md: Add Case surface detection in Step 1 (detectcaseplan.json), Case write path in Step 5, and a reference entry at the bottom.Pattern followed
Mirrors how
plugins/hitl/impl.mdin the flow skill points tohitl-node-quickform.mdin this skill. The case skill'saction/planning.mdandaction/impl-json.mdreferencehitl-casetask-action.md(in the companion case skill PR #540).CODEOWNERS
/skills/uipath-human-in-the-loop/ — @dushyant-uipath
Related
uip case hitl addcommand)Update — feat(hitl-skill): add Case QuickForm path (commit 1229060)
What's new
hitl-casetask-action.mdalongside the existing Generic and App-based paths. Mirrors the Flow QuickForm shape (data.formType: "quick"+data.schema.{fields, outcomes}) but adapted to the case action task envelope. Uses=vars.<varId>bindings (case form), not=js:$vars.…(flow form).caseplan.jsonround-tripped by Studio Web's case designer; build time =uip maestro case validate+ Action Center renders the form at runtime. Both must round-trip the same JSON.SKILL.mdSurface: Case now presents three options (QuickForm / Generic / App-based) with QuickForm as the default. Step 4b (Schema Design Resilience) retitled to apply to both Flow and Case QuickForm.Removed (CLI cleanup)
uip maestro case hitl addstripped. That command is not documented inuipath-maestro-case/references/case-commands.md(the authoritative case CLI reference), which lists onlyvalidate,pack,debug,tasks describe,registry,process,job,instance. The references were inherited from a planned-but-unshipped CLI (originally noted as "ships in UiPath/cli PR #1207").uip maestro case validateremains as the onlyuip maestro caseCLI used by this skill on the Case surface (build-time check).Safety net — auto-revert + App-based fallback (commit fdc035f)
If
uip maestro case validaterejects the QuickForm shape on a runtime that doesn't yet support it, the agent snapshotscaseplan.jsonbefore writing, auto-reverts on failure, surfaces the validator error to the user verbatim, and offers to retry via the proven App-based path with the same fields/outcomes — never leaves the user with a half-written invalidcaseplan.json.JSON shape (proposed — needs runtime confirmation)
{ "id": "ta1b2c3d4", "type": "action", "data": { "taskTitle": "Please review this invoice", "priority": "Medium", "assignmentCriteria": "user", "recipient": { "Type": 2, "Value": "approver@company.com" }, "formType": "quick", "schema": { "id": "<uuid>", "fields": [ { "id": "amount", "label": "Amount", "type": "number", "direction": "input", "binding": "=vars.amountVar" }, { "id": "decision", "label": "Decision", "type": "text", "direction": "output", "variable": "decision", "required": true } ], "outcomes": [ { "id": "approve", "name": "Approve", "isPrimary": true, "outcomeType": "Positive", "action": "Continue" }, { "id": "reject", "name": "Reject", "isPrimary": false, "outcomeType": "Negative", "action": "End" } ] } } }Test coverage
No automated test for Case QuickForm yet. The
uipath-human-in-the-loopskill currently has 22 tests, all targeting the Flow surface. Follow-up: addtests/tasks/uipath-human-in-the-loop/smoke_09_case_quickform.yamlonce the JSON shape is confirmed by the runtime team.