refact(skills): move task-list ownership from solution-design to planner#538
refact(skills): move task-list ownership from solution-design to planner#538RaduAna-Maria wants to merge 5 commits intomainfrom
Conversation
Solution-design now produces architecture only — SDDs end with a Next Steps pointer at uipath-planner. The planner reads SDDs via the new ## Planner Handoff header, derives tasks per the project list, and emits live TaskCreate calls. Single source of truth for skill-routing prompts; clearer separation between architecture (solution-design) and orchestration (planner). Cross-skill contract: - ## Planner Handoff heading is the load-bearing detection marker - 6-field header (Execution autonomy, SDD scope, Project list section, Tasks file, Generated by, Generation date) - Pipeline: PDD → solution-design (SDD) → planner (tasks.md) → execution Solution-design changes: - Removed Implementation Plan section from all 6 SDD templates - Added ## Planner Handoff header + ## Next Steps to all 6 templates - SKILL.md: added When to Use, fleshed out Workflow, dropped rules 8/11, added planner redirect to description, listed package-selection-guide - sdd-generation-guide.md: collapsed Phase 1 Steps 4/4.25/4.3/4.5 into one orchestrator step linking to canonical level homes; deleted Phase 3 Steps 3 and 4 (no more TaskCreate / execute-implementation flows); rewrote Phase 3 Step 2 to write the Planner Handoff header - product-selection-guide.md: explicit canonical home for Levels 1, 1.75, 2.5 Part B, 3; clarified RPA-specific levels live in rpa-product-guide - rpa-product-guide.md: explicit canonical home for Levels 1.5, 2, 2.5 Part A and naming/REFramework guidance Planner changes: - SKILL.md slimmed from 385 to 163 lines; restructured around two lanes (PDD-driven, non-PDD) plus an Entry Guard - Description rewritten with PDD redirect; TaskCreate/TaskUpdate/TaskList added to allowed-tools - 4 new references extracted: pdd-driven-lane-guide.md, non-pdd-lane-guide.md, multi-skill-patterns-guide.md, plan-and-tasks-format.md - Question budget reframed to count AskUserQuestion calls (not individual questions); cap stays at 5 - Dropped Stop conditions section and test coverage question — testing is always thorough, specialists handle their own pause points - New regenerate-with-preservation logic: identity tuple matching preserves completed work across SDD revisions; archive footer for removed tasks Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Claude finished @RaduAna-Maria's task in 3m 49s —— View job PR Review: Move task-list ownership from solution-design to planner
SummaryThis PR restructures the boundary between Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | ✅ OK | Both skills have valid frontmatter, names match folders, descriptions under 1024 chars, → redirects present |
| E2E Tests | No test tasks for uipath-planner; uipath-solution-design has existing tests |
|
| Skill Body | ✅ OK | Critical Rules, When to Use, Anti-patterns all present and well-structured in both skills |
| References & Assets | One stale "Consolidated Implementation Plan" reference in product-selection-guide.md:348 |
|
| Repo Hygiene | ✅ OK | CODEOWNERS entries exist for both skills, no secrets/tokens/personal paths, no cross-skill folder references, changes scoped to the two affected skills |
Issues for Manual Review
- Planner Handoff field values in templates. Each template pre-fills
Project list sectionwith template-specific section references (e.g.,§10for RPA,§3 + §7for Flow). These are correct per the current templates, but if template sections are renumbered in a future PR, the pre-filled values will drift. Consider whether this contract is documented clearly enough to survive template evolution. - Solution overview SDD template. The solution overview structure is described inline in
product-selection-guide.mdbut has no corresponding template file inassets/templates/. This is pre-existing (not introduced by this PR), but with the new Planner Handoff contract it becomes more important — solution-overview SDDs need the handoff header too. - Lane A "§9 contains UI applications" reference. The SKILL.md Lane A summary (line 81) says "if §9 contains UI applications" but §9 is template-specific — it's Application Inventory for RPA, Project Structure for Agents, Integrated Components for Coded Apps. The pdd-driven-lane-guide.md Step 5 correctly scopes this to "the SDD's §9 Application Inventory", so the SKILL.md summary is slightly imprecise. Low severity since the full guide is authoritative.
Conclusion
This is a well-executed refactor that cleanly separates architecture (solution-design) from task planning (planner). The ## Planner Handoff header provides a deterministic, machine-readable contract between the two skills. The planner's SKILL.md restructuring into lane-based architecture with on-demand reference loading follows best practices for LLM usability.
One medium issue to fix before merge: rename "Consolidated Implementation Plan" in the solution overview SDD structure (product-selection-guide.md:348) — it directly contradicts the PR's stated goal and Critical Rule 11.
The rest is clean. Overall: request changes on the single medium finding above.
|
Consider adding smoke tests before merging. |
|
|
||
| - Build + deploy crosses skill boundaries (RPA build → platform deploy) | ||
| - A target product cannot exist without other products built first (Flow needs RPA processes that don't exist yet) | ||
| - Build + verify against a live app crosses skill boundaries (RPA build → interact verify → RPA fix) |
There was a problem hiding this comment.
this contradicst with https://github.com/UiPath/skills/pull/538/changes#diff-c473ef7065f347a715000f1bc1b32104a61bf7555b4826676151f51bbe780c3dR24 which is correct, interact is not needed and rpa skill already exists
| ``` | ||
| 1. uipath-rpa → build the workflow end-to-end | ||
| 2. uipath-rpa → testing (mandatory) | ||
| 3. uipath-interact → observe the live app, capture screenshots / snapshots to diagnose issues |
There was a problem hiding this comment.
this is integrated in rpa skill
| **When it applies:** an automation already exists; the user wants to investigate a UI issue against the live app and fix it. | ||
|
|
||
| ``` | ||
| 1. uipath-interact → interact with the live app, identify the UI issue |
Summary
uipath-solution-designnow produces architecture only;uipath-plannerowns implementation tasks. Eliminates duplication between solution-design'sper-template Implementation Plan sections and planner's plan format.
## Planner Handoffheader (6fields) that the planner detects deterministically. Pipeline: PDD → solution-design (SDD) → planner
(tasks.md) → execution.
(elicitation, 1–5 prompts). SKILL.md slimmed from 341 → 117 lines (net
-224); 4 new referencesextracted for load-on-demand.
Changes
uipath-solution-design## Implementation Plansection from all 6 SDD templates (RPA, Agent, Flow, Case, CodedApp, API Workflow). Replaced with a final numbered
## Next Stepssection pointing the user atuipath-planner.## Planner Handoffheader (6 fields,<!-- DO NOT RENAME -->marker) to all 6 templates,immediately after Document History.
SKILL.md: addedWhen to Use This Skill, expanded Workflow section, dropped Critical Rules 8 &11 (Implementation Plan ownership / intent-based execution), added Critical Rules around the Planner
Handoff marker, no Implementation Plan, and thorough testing. Added
package-selection-guide.mdtoReference Navigation. Description gains
→uipath-plannerredirect.sdd-generation-guide.md: collapsed Phase 1 Steps 4 / 4.25 / 4.3 / 4.5 into one orchestrator steplinking to canonical level homes. Deleted Phase 3 Step 3 (Create Live Tasks) and Step 4 (Execute
Implementation Plan). Rewrote Phase 3 Step 2 to write the
## Planner Handoffheader and promptregenerate / keep / versioned-alongsideon re-run. Added Phase 3 Step 3 (Hand Off to the Planner).product-selection-guide.md: explicit canonical home for Levels 1, 1.75, 2.5 Part B, 3; Levels ofDecision table gains an explicit ownership column. Level 3 references rewritten — flag in template,
planner picks up.
rpa-product-guide.md: explicit canonical home for Levels 1.5, 2, 2.5 Part A; R-07 naming andREFramework guidance.
uipath-plannerSKILL.mdslimmed from 341 → 117 lines (file is 161 lines including frontmatter and trailingcontent). Lane-based structure (Entry Guard → Lane A summary / Lane B summary).
pdd-driven-lane-guide.md(168 lines) — Lane A end-to-end (read header, parse project list,derive tasks, write tasks.md, emit live tasks)
non-pdd-lane-guide.md(167 lines) — Lane B end-to-end (elicitation, project-type inference,filesystem detection, UI batch)
multi-skill-patterns-guide.md(132 lines) — the 6 named multi-skill patternsplan-and-tasks-format.md(212 lines) — task row schema, identity tuple,regenerate-with-preservation, TaskCreate mapping, anti-hallucination rule
→uipath-solution-designredirect;TaskCreate, TaskUpdate, TaskListadded toallowed-tools.AskUserQuestioncalls (not individual questions); cap stays attheir own pause points.
(skill, project, subject)matches old tasks acrossSDD revisions; archive footer for removed tasks.
Tests
tests/tasks/uipath-solution-design/smoke_skill_activation.yaml(41 lines) andsmoke_file_reading.yaml(55 lines).e2e_rpa_sdd/check_sdd.py,e2e_rpa_sdd.yaml,gap_detection.yaml,pdd_to_sdd.yaml,product_selection.yamlto assert the new## Planner Handoffcontract and removed ImplementationPlan section.
Net file change
+1221insertions,-934deletions across 22 files (15 skill files + 7 test files)~ -540lines (Implementation Plan sections removed; Planner Handoff headeradded)
-224lines, offset by 4 references that load on demandTest plan
bash hooks/validate-skill-descriptions.sh skills/uipath-planner/SKILL.md skills/uipath-solution-design/SKILL.mdpasses## Planner Handoffand no## .* Implementation Planheadingsreferences/*.mdfrom SKILL.md; cross-references betweenreferences)
uipath-solution-design; confirm the generated SDD has a populated## Planner Handoffheader and ends with## Next Stepsuipath-plannerwith the SDD path; confirm it detects the marker, reads the 6 fields,writes
<process>-tasks.md, and emits liveTaskCreatecallsprompt; pick regenerate; verify completed tasks preserved via identity matching, removed tasks land
in Archive footer
.pdfPDD path → confirm hard-block redirect touipath-solution-design; withskip SDDopt-out → confirm degraded inline readingAskUserQuestionbudgettests/tasks/uipath-solution-design/smoke_skill_activation.yamlandsmoke_file_reading.yaml🤖 Generated with Claude Code