LLM coding agents currently depend on two primitive mechanisms to modify XAML files:
- Line-based inserts with a synthetic diff
- Finding a matching string position and inserting there
Common coding agent tooling (Node.js, Python) has no robust Windows Workflow Foundation port. This means agents working on UiPath XAML files are limited to fragile text operations with no structural awareness of the activity tree.
To make coding agents robust when building or editing UiPath workflows, a .NET tool is needed that natively works with WF and exposes a surface for an LLM to make surgical changes to the activity tree — receiving back a valid .xaml file.
What we're asking for
A standalone tool that can perform WF-aware operations on XAML files — loading them through the WF/XAML object model rather than treating them as text.
Minimum useful operations, with inserts being the primary challenge (edits and deletes are far less common in code-generation workflows):
insert-activity — insert a generated activity snippet after a named anchor (e.g. by DisplayName)
add-argument — add a typed InArgument/OutArgument to a workflow's x:Members
add-variable — add a typed Variable<T> to a named Sequence
add-namespace-import — add an entry to TextExpression.NamespacesForImplementation
validate-and-save — load, validate via WF stack, save with correct namespace preservation
Why text patching is insufficient
UiPath XAML has several structural constraints that text-patching cannot enforce:
TextExpression.NamespacesForImplementation allows exactly one child <sco:Collection> — inserting outside it causes a XamlException at load time
mc:Ignorable lists prefix names literally — XML serialisers that rename prefixes (sap → ns3) invalidate it silently
sap2010:WorkflowViewState.IdRef values must be unique per file — collision causes incorrect designer state
- Assembly reference containers differ between file types (
scg:List vs sco:Collection)
Scope
This is not a request for a full workflow designer or code generator. The minimum useful scope is: given a valid XAML file and a structured operation description (JSON), produce a valid modified XAML file and confirm it reloads correctly. CoreWF (maintained by UiPath) provides the WF runtime for .NET 6+ and would be the natural foundation.
LLM coding agents currently depend on two primitive mechanisms to modify XAML files:
Common coding agent tooling (Node.js, Python) has no robust Windows Workflow Foundation port. This means agents working on UiPath XAML files are limited to fragile text operations with no structural awareness of the activity tree.
To make coding agents robust when building or editing UiPath workflows, a .NET tool is needed that natively works with WF and exposes a surface for an LLM to make surgical changes to the activity tree — receiving back a valid
.xamlfile.What we're asking for
A standalone tool that can perform WF-aware operations on XAML files — loading them through the WF/XAML object model rather than treating them as text.
Minimum useful operations, with inserts being the primary challenge (edits and deletes are far less common in code-generation workflows):
insert-activity— insert a generated activity snippet after a named anchor (e.g. byDisplayName)add-argument— add a typedInArgument/OutArgumentto a workflow'sx:Membersadd-variable— add a typedVariable<T>to a namedSequenceadd-namespace-import— add an entry toTextExpression.NamespacesForImplementationvalidate-and-save— load, validate via WF stack, save with correct namespace preservationWhy text patching is insufficient
UiPath XAML has several structural constraints that text-patching cannot enforce:
TextExpression.NamespacesForImplementationallows exactly one child<sco:Collection>— inserting outside it causes aXamlExceptionat load timemc:Ignorablelists prefix names literally — XML serialisers that rename prefixes (sap→ns3) invalidate it silentlysap2010:WorkflowViewState.IdRefvalues must be unique per file — collision causes incorrect designer statescg:Listvssco:Collection)Scope
This is not a request for a full workflow designer or code generator. The minimum useful scope is: given a valid XAML file and a structured operation description (JSON), produce a valid modified XAML file and confirm it reloads correctly. CoreWF (maintained by UiPath) provides the WF runtime for .NET 6+ and would be the natural foundation.