Skip to content

docs(uipath-agents): one command per project type, no scaffold-type flag - #3165

Merged
vldcmp-uipath merged 1 commit into
mainfrom
claude/uipath-coded-agent-tests-w1vsc2
Sep 30, 2026
Merged

vldcmp-uipath merged 1 commit into
mainfrom
claude/uipath-coded-agent-tests-w1vsc2

Conversation

@vldcmp-uipath

@vldcmp-uipath vldcmp-uipath commented Sep 9, 2026 •

Copy link
Copy Markdown

Why

UiPath/cli#4126 (merged, e2942c59) pins the scaffold type on both wrappers: uip codedagent new always asks uipath new for an agent, uip function new always asks for a function, and neither takes a --type of the caller's own. It builds on uipath-python#1886, which added uipath new --type auto|agent|function in uipath 2.14.23.

These two skills documented the world before that: uipath new --type auto let the installed packages decide, and a missing framework package silently produced a Coded Function project under the agent command. That path no longer exists, so it is removed rather than caveated.

What changed

Coded Function is no longer an agent framework. It was the fourth option beside LangGraph, LlamaIndex and OpenAI Agents — in the framework tables, the selection prompts, the inference hints, the capability matrices and the entrypoint tables — reachable only because new used to fall through to a function scaffold. setup.md § Coded Function Agents, which told readers to run uip codedagent new <NAME> --type function, is deleted; that command now exits 1.

The scaffold-and-reshape scenario is gone. "new gave me a uipath.json functions map, delete the generated files and re-run" was spread across eight places. A missing framework package now has one outcome: new fails and names what to install, and nothing is generated. setup.md gains a Verify the Scaffold section with the three outcomes (<framework>.json present → continue; no framework installed → install and re-run; several installed → name one), plus matching troubleshooting rows.

No version boundaries. No "whenever the installed uipath accepts that option", no "an older uip or uipath", no No such option '--type'.

--agent-framework <FRAMEWORK_PACKAGE> added, which uipath 2.14.23 ships and uip codedagent new accepts. It gives "Multiple agent frameworks are installed" a remedy that does not require uninstalling the others. Named by package, as the core's own help specifies.

--type is named nowhere in either skill. Where a function is wanted the command is uip function new; where a coded agent is wanted it is uip codedagent new.

Files

uipath-agents (13 files) — SKILL.md (install the framework package first, verify after); references/coded/lifecycle/setup.md (Framework Selection rewritten, § Coded Function Agents replaced by § Verify the Scaffold, uipath.json row no longer mentions a functions map, two troubleshooting rows); references/coded/quickstart.md (new Critical Rule, framework list, Setup stage row installs before new, Scenario 2 verification note); references/coded/lifecycle/build.md and running-agents.md (Coded Function rows dropped from the framework and entrypoint tables; the no-LLM case routes to uipath-functions); references/coded/embedding-in-flows.md (the "simple stub via Coded Function" alternative deleted); coded-vs-lowcode-guide.md, capabilities/{human-in-the-loop,conversational-agents}.md, frameworks/{langgraph,llamaindex,openai-agents}-integration.md, frameworks/agent-patterns.md.

uipath-functions (2 files) — SKILL.md Critical Rule 6 and the Quick Start comment now state the Python scaffold flatly as a function project instead of hedging about which uip forwards which flag; references/python/workflow-guide.md Step 1 replaces the five-step reshape recovery with one line pointing at uip codedagent new.

No changes to preview/uipath-maestro-flow or to task YAMLs. The uip\s+codedagent\s+new patterns are untouched, and every edit is outside the skill-flavor blocks, so the studioweb overrides are unchanged and still compose.

Validation

npm run skills:validate (29 skills × default + studioweb), npm run skills:check-links (7032 links + 2298 fragments), npm run skills:build, hooks/validate-skill-descriptions.sh, scripts/check-skill-status.py and scripts/check-skills-sh.py all pass. CI is green on this head — 13/13.

Probes against uipath 2.14.23–2.14.26: with uipath-langchain installed, uipath new writes langgraph.json; with no framework package, uipath new --type agent (which is what uip codedagent new now sends) stops with The 'uipath-langchain' package is required to scaffold a 'langchain' agent and writes nothing; --agent-framework parses only together with --type agent, which the wrapper's pin supplies. Those are the outcomes § Verify the Scaffold documents.

coder-eval run of tasks/uipath-agents/coded/conversational_agent_langgraph (claude-code / claude-sonnet-5, experiments/default.yaml) against an earlier revision of this branch: SUCCESS 1.0, 37 visible / 38 SDK turns, 206 s, versus main at 45 / 46 turns, 599 s (main recovered through a --help detour and a re-scaffold; smoke.yaml caps max_turns at 40, so main's 46 would be cut off). That revision passed explicit flags; this one relies on the package being installed first, which is the same happy path, but it has not been re-run.

Note for reviewers

Rebased onto main (9728970e) and squashed to one commit, which invalidated @al3xanndru's approval on the pre-rebase head 57a9cc4d. The rebase crossed main's independent edits to four of these files; the content is otherwise what was approved. main also moved uipath-functions Python ownership to @UiPath/team-agents-cli (#3658), so that team now owns the two uipath-functions files here.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VqfFdgnQFGJ8EPGXn6HC82

@github-actions

github-actions Bot commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @vldcmp-uipath's task in 2m 44s —— View job


PR Review: fix(uipath-agents): require --type agent for codedagent new scaffolds

  • Gather context and read review criteria
  • Read full diff and all changed files
  • Verify relative links in changed markdown files
  • Check for cross-skill references, secrets, consistency
  • Post review findings

Summary

Upstream CLI changes (uipath-python#1886, uipath-langchain-python#1069) make uipath new default to --type function, so uip codedagent new <name> without --type agent --agent-framework <framework> now produces a Coded Function scaffold instead of an agent scaffold. This PR updates 13 files across uipath-agents, uipath-functions, and preview/uipath-maestro-flow to require the new flags, add a "Verify the Scaffold" recovery section, and document fallback for older CLIs that don't support --type.

Change-by-Change Review

1. skills/uipath-agents/SKILL.md

OK

Two targeted edits: the greenfield scaffold rule now includes the full --type agent --agent-framework invocation, and the Coded Function detection rule (item 1) adds an exception for self-produced function scaffolds (mis-scaffold recovery rather than handing off to uipath-functions). Both are correct and well-scoped. The recovery pointer to setup.md § Verify the Scaffold avoids duplicating the steps inline.

2. skills/uipath-agents/references/coded/lifecycle/setup.md

OK

The most substantial change. The "Framework Selection" paragraph and table now include the <AGENT_FRAMEWORK> column. New "Verify the Scaffold" section (3 numbered items) is clear, prescriptive, and covers the three outcomes: success, function scaffold, old CLI. Two new troubleshooting rows match. The "Coded Function Agents" section clarifies the default. The <framework>.json note in the Generated Files table is accurate.

3. skills/uipath-agents/references/coded/quickstart.md

OK

New Critical Rule for --type agent with compact recovery + pointer to setup.md. Setup stage row in the Lifecycle table reordered to match the correct sequence (uv pip install before setup). Scenario 2 scaffold block and verification note updated consistently.

4. skills/uipath-agents/references/coded/frameworks/langgraph-integration.md

OK

Scaffold command updated. Prerequisite blockquote rewritten with both-flags requirement, recovery steps, and old-CLI fallback.

5. skills/uipath-agents/references/coded/frameworks/llamaindex-integration.md

OK

Same pattern as langgraph — scaffold command + prerequisite blockquote updated.

6. skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md

OK

Same pattern as langgraph — scaffold command + prerequisite blockquote updated.

7. skills/uipath-agents/references/coded/frameworks/agent-patterns.md

OK

One-line update to the scaffold pointer — flags added to the bullet text.

8. skills/uipath-agents/references/coded/lifecycle/build.md

OK

"Clean generated scaffold code" rule now gates on <framework>.json existence check before proceeding to main.py inspection. Correct ordering.

9. skills/uipath-agents/references/coded/lifecycle/evaluations/creating-evaluations.md

OK

One-line update: "create an agent first using uip codedagent new <name> --type agent --agent-framework <framework>". Minimal, correct.

10. skills/uipath-agents/references/coded/embedding-in-flows.md

OK

Scaffold block updated with flags. New verification sentence after the block. The Coded Function alternative paragraph is rewritten to clarify that omitting --type agent intentionally produces a function scaffold. Comment change (e.g. uipath for Coded Function → e.g. uipath-langchain for LangGraph) is correct.

11. skills/uipath-functions/SKILL.md

OK

Rule 6 rewritten: uip function new -l py now produces a function scaffold by default; the old framework-hijack behavior is documented as an older-package edge case with the existing reshape recovery preserved. Quick Start comment updated.

12. skills/uipath-functions/references/python/workflow-guide.md

OK

Step 1 prose updated to match the new default behavior — function scaffold is expected, agent scaffold is the older-package exception. Recovery instructions unchanged.

13. preview/skills/uipath-maestro-flow/references/agent.md

OK

Sibling-agent scaffold command in the bash block gains --type agent --agent-framework <agent-framework> with a trailing comment listing valid values. Minimal, correct.

What's Missing

Medium — Recovery instructions duplicated across framework files. The full "delete files and re-run with flags / old-CLI fallback" recovery is now repeated nearly verbatim in langgraph-integration.md:16, llamaindex-integration.md:16, openai-agents-integration.md:20, quickstart.md:37, and is authoritative in setup.md:49-55. This is 5 copies of the same multi-sentence recovery procedure. Per the repo's Reference Pointer Discipline, each framework file's prerequisite blockquote could instead state the two requirements (package + flags) and point to setup.md § Verify the Scaffold for recovery — one bridging sentence + link, matching what SKILL.md and build.md already do. Not blocking, but worth a follow-up to reduce drift surface.

Area Ratings

Area Status Notes
Frontmatter OK No frontmatter changes; existing frontmatter valid
E2E Tests OK No test changes needed — existing command_pattern: 'uip\s+codedagent\s+new' regexes match with appended flags; PR description includes a passing coder-eval run showing 3× speedup (206s vs 599s)
Skill Body OK Rules, detection, and scaffold commands all updated consistently
References & Assets OK All relative links verified — every target file exists. No broken links
Repo Hygiene OK No secrets, no personal paths, no cross-skill imports. Changes scoped to the three affected skills. No new skill folders, so no CODEOWNERS / skills.sh.json / skill-status.json edits needed

Issues for Manual Review

  • Upstream availability: The PR notes that PyPI's uipath 2.14.13 and uipath-langchain 0.17.5 (shipped 2026-09-09) do not yet include the --type flag. The skill's No such option '--type' fallback (item 3 in "Verify the Scaffold") handles this, but reviewers should confirm the fallback path is actually tested in CI once the flag ships.
  • uipath-llamaindex / uipath-openai-agents companion PRs: The PR description notes these packages don't have companion PRs yet. The flags are safe today (legacy middleware still claims the scaffold), but the --agent-framework llamaindex and --agent-framework openai-agents values should be verified against those packages once they update.

Conclusion

Clean, well-scoped PR that correctly addresses a real scaffold regression. All 13 files are internally consistent, the old-CLI fallback is documented, links resolve, and existing test patterns still match. The one Medium observation (recovery prose duplication across framework files) is non-blocking and could be addressed in a follow-up. Approve.

@vldcmp-uipath vldcmp-uipath changed the title fix(uipath-agents): require --type agent for codedagent new scaffolds fix(uipath-agents): scaffold coded agents with --agent-framework; the CLI owns --type Sep 10, 2026
@vldcmp-uipath vldcmp-uipath changed the title fix(uipath-agents): scaffold coded agents with --agent-framework; the CLI owns --type fix(uipath-agents): install the framework package before codedagent new and verify the scaffold Sep 10, 2026
@vldcmp-uipath
vldcmp-uipath marked this pull request as draft September 30, 2026 12:23
@vldcmp-uipath
vldcmp-uipath marked this pull request as ready for review September 30, 2026 12:23
@github-actions

github-actions Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @vldcmp-uipath's task in 0s —— View job


I'll analyze this and get back to you.

`uip codedagent new` always asks `uipath new` for an agent scaffold and
`uip function new` always asks for a function one; neither takes a
`--type` of the caller's own (UiPath/cli#4126). These skills documented
the old world, where `uipath new --type auto` let the installed packages
decide and a missing framework package silently produced a Coded Function
project. That path no longer exists, so it is removed rather than
caveated.

**Coded Function is no longer an agent framework.** It was the fourth
option beside LangGraph, LlamaIndex and OpenAI Agents — in the framework
tables, the selection prompts, the inference hints, the capability
matrices and the entrypoint tables — reachable only because `new` used to
fall through to a function scaffold. `setup.md` § Coded Function Agents,
which told readers to run `uip codedagent new <NAME> --type function`, is
deleted; that command now exits 1.

**The scaffold-and-reshape scenario is gone.** "`new` gave me a
`uipath.json` functions map, delete the generated files and re-run" was
spread across eight places. A missing framework package now has one
outcome: `new` fails and names what to install, and nothing is generated.

**No version boundaries.** No "whenever the installed `uipath` accepts
that option", no "an older `uip` or `uipath`", no
`No such option '--type'`. `uipath-functions` states the Python scaffold
flatly as a function project instead of hedging about which `uip` forwards
which flag.

`--type` is named nowhere in either skill: where a function is wanted the
command is `uip function new`, and where a coded agent is wanted it is
`uip codedagent new`.

Added `--agent-framework <FRAMEWORK_PACKAGE>`, which `uipath` 2.14.23
ships and `uip codedagent new` accepts. It gives "Multiple agent
frameworks are installed" a remedy that does not require uninstalling the
others. Named by package, as the core's own help specifies.

skills:validate, skills:check-links, skills:build,
validate-skill-descriptions.sh, check-skill-status.py and
check-skills-sh.py all pass. Every edit is outside the `skill-flavor`
blocks, so the studioweb overrides are unchanged and still compose.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VqfFdgnQFGJ8EPGXn6HC82
@vldcmp-uipath
vldcmp-uipath force-pushed the claude/uipath-coded-agent-tests-w1vsc2 branch from 57a9cc4 to 1aa5e4e Compare September 30, 2026 12:27
@vldcmp-uipath vldcmp-uipath changed the title fix(uipath-agents): install the framework package before codedagent new and verify the scaffold docs(uipath-agents): one command per project type, no scaffold-type flag Sep 30, 2026
@vldcmp-uipath
vldcmp-uipath merged commit 125ebe8 into main Sep 30, 2026
41 checks passed
@vldcmp-uipath
vldcmp-uipath deleted the claude/uipath-coded-agent-tests-w1vsc2 branch September 30, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants