Skip to content

feat(skills): add skills support to advanced agents with sandboxed cli tool#989

Open
mariadhakalUipath wants to merge 1 commit into
mainfrom
feat/uipath-skills-for-advanced
Open

feat(skills): add skills support to advanced agents with sandboxed cli tool#989
mariadhakalUipath wants to merge 1 commit into
mainfrom
feat/uipath-skills-for-advanced

Conversation

@mariadhakalUipath

Copy link
Copy Markdown

Title: Uipath Skills with Cli tool for advanced agents.

Summary

Adds skills feature for advanced agents. Agent can act on it — run uip commands, review what it ran, and verify what it scaffolded.

Copilot AI review requested due to automatic review settings July 14, 2026 21:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds initial “skills” plumbing to advanced agents and introduces a sandbox-oriented internal tool for running uip commands inside an agent workspace.

Changes:

  • Introduces a new create_uipath_cli_tool() (uipath_cli) StructuredTool that runs one uip command per invocation with command validation.
  • Adds unit tests covering command parsing, validation, subprocess result mapping, and timeout behavior for the new tool.
  • Extends advanced-agent builders to accept and forward a skills parameter into the underlying deepagents agent construction.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
tests/agent/tools/internal_tools/test_uipath_cli_tool.py Adds test coverage for the new sandboxed CLI tool.
src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py Implements the sandboxed uipath_cli tool and its input/output schemas.
src/uipath_langchain/agent/tools/internal_tools/__init__.py Exports create_uipath_cli_tool from the internal tools package.
src/uipath_langchain/agent/advanced/agent.py Adds skills parameter propagation to deepagents agent creation/wrappers.

Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread tests/agent/tools/internal_tools/test_uipath_cli_tool.py
@mariadhakalUipath mariadhakalUipath force-pushed the feat/uipath-skills-for-advanced branch from d79b0c1 to 5b5dea8 Compare July 14, 2026 21:27
@mariadhakalUipath mariadhakalUipath changed the title feat: add skills support to advanced agents with sandboxed workspace tools feat: add skills support to advanced agents with sandboxed cli tool Jul 14, 2026
@mariadhakalUipath mariadhakalUipath force-pushed the feat/uipath-skills-for-advanced branch from 5b5dea8 to 36f2b2c Compare July 14, 2026 21:32
@mariadhakalUipath mariadhakalUipath changed the title feat: add skills support to advanced agents with sandboxed cli tool feat(skills): add skills support to advanced agents with sandboxed cli tool Jul 14, 2026
@mariadhakalUipath mariadhakalUipath force-pushed the feat/uipath-skills-for-advanced branch from 36f2b2c to 2f7b1c1 Compare July 14, 2026 21:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

src/uipath_langchain/agent/advanced/agent.py:45

  • The create_advanced_agent docstring documents memory but not the newly added skills parameter, which is part of the public API. Update the docstring to describe what skills does and how an empty value is handled.
    """Create a deepagents agent with planning, filesystem, and sub-agent tools.

    ``memory`` is a list of file paths loaded via deepagents' ``MemoryMiddleware``:
    each is read from ``backend`` and injected into the system prompt every turn,
    and the model maintains them with ``edit_file``. Empty disables the middleware.
    """

Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread tests/agent/tools/internal_tools/test_uipath_cli_tool.py
Comment thread src/uipath_langchain/agent/advanced/agent.py

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread src/uipath_langchain/agent/advanced/agent.py

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

src/uipath_langchain/agent/advanced/agent.py:42

  • create_advanced_agent now accepts skills, but the docstring only documents memory. Since empty skills collapses to None (disabling skills support), documenting this behavior would help callers understand how to enable/disable the feature.
    skills: Sequence[str] = (),
) -> CompiledStateGraph[Any, Any, Any, Any]:
    """Create a deepagents agent with planning, filesystem, and sub-agent tools.

    ``memory`` is a list of file paths loaded via deepagents' ``MemoryMiddleware``:

Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
Comment thread src/uipath_langchain/agent/tools/internal_tools/uipath_cli_tool.py
@mariadhakalUipath mariadhakalUipath force-pushed the feat/uipath-skills-for-advanced branch from bc48a6b to 9bbae6c Compare July 15, 2026 18:09
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Comment on lines +54 to +55
if tokens[0] in _ALLOWED_BINARIES:
tokens = tokens[1:]
@sonarqubecloud

Copy link
Copy Markdown

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.

2 participants