Skip to content

feat: add uipath-assistant-diagnostics skill (diagnose Assistant diagnostic archives)#2108

Open
vasyop wants to merge 4 commits into
mainfrom
feat/add-uipath-assistant-diagnostics
Open

feat: add uipath-assistant-diagnostics skill (diagnose Assistant diagnostic archives)#2108
vasyop wants to merge 4 commits into
mainfrom
feat/add-uipath-assistant-diagnostics

Conversation

@vasyop

@vasyop vasyop commented Jul 17, 2026

Copy link
Copy Markdown

What

Adds a new skill, uipath-assistant-diagnostics, ported from the UiPath/Assistant repo (where it lives as .claude/skills/diagnose-archive).

The skill guides an agent through diagnosing a UiPath Assistant desktop diagnostic archive (ExportDiagnoseArchive folder, combined.log, or Robot.log) to find the root cause of a reported issue — sign-in failures, orchestrator connection problems, missing/unstartable processes, crashes.

Why

Assistant support/triage currently relies on this skill living only in the Assistant repo. Moving it into UiPath/skills makes it discoverable to every tool the plugin serves (Claude Code, Gemini CLI, Codex CLI, Cursor, Copilot) and to anyone diagnosing Assistant logs, without needing the Assistant repo checked out.

Approach the skill teaches

  1. Anchor on the reported symptom before opening any log (logs are noise otherwise).
  2. Scan combined.log first — the Electron/IPC side: which route was hit, result fields, repeated clicks, status transitions.
  3. Correlate Robot.log — the native .NET Robot service; timezone-offset-aware; maps exception classes/namespaces to the failing flow and common root causes (network, OAuth, 401/403, NuGet).
  4. Drill into source (Assistant / Studio-Robot / Orchestrator / Identity repos) when a log names a specific flow.
  5. Report root cause + evidence (with file:line links) + ordered next steps.

Conventions followed

  • Tool-agnostic markdown (no Claude-specific tool names in the body).
  • description front-loads identity + unique signals (combined.log / Robot.log), stays within the 1024-char cap (797 chars), and adds a →uipath-troubleshoot redirect to disambiguate from platform-CLI causal investigation.
  • Registered in assets/skill-status.json as preview; README status table regenerated via scripts/check-skill-status.py --write-readme.
  • CODEOWNERS entry added.
  • Local validation passing: check-skill-status.py (manifest + README), validate-skill-descriptions.sh (797 chars), check-skill-verbs.py (no stale uip verbs — the skill uses none).

Tests

No coder_eval task added: this is a log-analysis skill (no uip CLI surface to drive/assert), which doesn't fit the CLI-oriented coder_eval harness. This matches existing precedent — uipath-connector-builder and the stable uipath-feedback also ship without a tests/tasks/ directory. Happy to add an activation dataset if maintainers prefer.

🤖 Generated with Claude Code

…skill

Port the diagnose-archive skill from UiPath/Assistant into this repo as
uipath-assistant-diagnostics. Guides diagnosing an Assistant desktop
diagnostic archive (ExportDiagnoseArchive / combined.log / Robot.log) to
find the root cause of sign-in, orchestrator-connection, missing-process,
and crash issues by anchoring on the symptom, scanning combined.log
(Electron/IPC), correlating Robot.log (native .NET, timezone-aware), then
drilling into source.

- New skill: skills/uipath-assistant-diagnostics/SKILL.md
- Register status (preview) in assets/skill-status.json; regenerate README table
- Add CODEOWNERS entry
- Tool-agnostic markdown; description within 1024-char cap; adds a
  ->uipath-troubleshoot redirect to disambiguate from platform-CLI investigation

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Claude finished @vasyop's task in 2m 52s —— View job


Reviewing PR #2108

  • Read review criteria and project conventions
  • Read full diff and changed files
  • Apply skill structure and quality checks
  • Check CODEOWNERS, links, cross-skill refs, secrets
  • Post review findings

Summary

Adds uipath-assistant-diagnostics, a log-analysis skill that teaches agents to diagnose UiPath Assistant desktop-app failures from exported diagnostic archives (combined.log, Robot.log). The PR touches 4 files: new SKILL.md, CODEOWNERS entry, skill-status.json registration, and README status table.

Change-by-Change Review

1. skills/uipath-assistant-diagnostics/SKILL.md (added, +102 lines)

Severity: Low (2 items)

Frontmatter — Well-formed. name matches folder (uipath-assistant-diagnostics). Description is 797 chars (under 1024 cap). Front-loads identity and unique signals (ExportDiagnoseArchive, combined.log, Robot.log) within the first ~100 chars. Includes →uipath-troubleshoot redirect. No status markers in frontmatter or body. ✅

Body structure — Follows expected section order: Title → When to Use → Critical Rules → Workflow → Anti-patterns. ✅

Critical Rules — 6 numbered rules, all prescriptive and actionable. ✅

Content quality observations:

  • (Low) Step 4 (lines 73–81) references ~/projects/Studio and ~/repos/Studio as conventional checkout paths. These aren't personal paths (they use ~ expansion), but they assume a specific local directory convention. The 2>/dev/null fallback is fine, but the git -C <path> checkout develop && git -C <path> pull on line 77 is a destructive side effect — it checks out develop and pulls, which would discard any local branch the user was on. Consider softening to "if you need latest, git pull on the current branch" or noting this changes the working tree. Fix this →

  • (Low) Anti-patterns section (lines 98–102) repeats Critical Rules 3, 4, 5, 6 almost verbatim. Per the duplication scoring dimension, this is redundant — the anti-patterns add no new information beyond what the Critical Rules already state. Consider either removing the anti-patterns section or adding distinct anti-patterns not covered by the rules (e.g., "Don't paste entire log files into the response — excerpt the relevant lines").

2. CODEOWNERS (modified, +3 lines)

Severity: OK

Entry added: /skills/uipath-assistant-diagnostics/ @vasyop. Properly placed in alphabetical order with a descriptive comment. ✅

3. assets/skill-status.json (modified, +8 lines)

Severity: OK

Registered as preview with the standard confluence and last_synced null fields. Alphabetically placed. Matches the README table entry. ✅

4. README.md (modified, +1 line)

Severity: OK

Status table row added: uipath-assistant-diagnostics | Preview. Alphabetically placed within the generated block. ✅

What's Missing

  • No tests/tasks/uipath-assistant-diagnostics/ directory. (Medium) CI has already flagged this. The PR description explains the rationale (log-analysis skill without uip CLI surface), and there is precedent (uipath-connector-builder, uipath-feedback). Acceptable for merge, but consider adding at least an activation-style smoke test that verifies the skill triggers on the right phrases (e.g., "check this diagnostic archive").

  • No →uipath-assistant-diagnostics redirect in uipath-troubleshoot's description. (Low) The new skill redirects to uipath-troubleshoot, but the reverse redirect doesn't exist. If a user asks uipath-troubleshoot about Assistant desktop logs, it won't know to redirect. Consider adding a For Assistant desktop diagnostic archives→uipath-assistant-diagnostics clause to the troubleshoot skill's description in a follow-up.

Area Ratings

Area Status Notes
Frontmatter ✅ OK 797 chars, name matches, proper redirect
E2E Tests ⚠️ Medium Missing — justified by precedent but noted
Skill Body ✅ OK Clear structure, strong Critical Rules, prescriptive workflow
References & Assets ✅ OK Single-file skill, no references needed
Repo Hygiene ✅ OK CODEOWNERS, status manifest, README all updated

Issues for Manual Review

  • Domain accuracy of log patterns. The skill references specific IPC routes (/robot/interactiveConnectSignIn, /robot/connectToServer), .NET namespaces (UiPath.Service.*, UiPath.RobotJS.*), and repo paths (projects/electron-host/src/server/controllers/). These are internal UiPath details — an automated reviewer can't verify they're current. The PR author (@vasyop) or a domain expert should confirm these are accurate for the latest Assistant version.
  • Step 4 gh api call. Line 81 (gh api repos/UiPath/Studio/contents/Robot/...) assumes a specific file path in the Studio repo. If this path doesn't exist or has moved, the agent will get a 404 and may be confused. Consider whether this example path is accurate.

Conclusion

Clean PR that follows repo conventions well. The SKILL.md is well-structured, prescriptive, and appropriately scoped. Two Low items (destructive git checkout in Step 4, redundant anti-patterns section) and one Medium item (missing tests, already flagged by CI). None are merge-blocking. Approve with optional Low fixes.
·

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Smoke test coverage gap — the following changed skills have no tests under tests/tasks/:

  • uipath-assistant-diagnostics

Consider adding smoke tests before merging.

@RaduAna-Maria RaduAna-Maria left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@vasyop Could this be moved to be inside uipath-troubleshoot?

…bleshoot domain

Per review on #2108 (move it inside `uipath-troubleshoot` rather than a
standalone skill).

Replaces the standalone `uipath-assistant-diagnostics` skill with a new
product domain under the troubleshoot skill:

- Add `references/products/assistant/` — overview, investigation_guide,
  summary, and 4 playbooks (sign-in, orchestrator-connect, process
  missing/unstartable, crash) in the repo's playbook-template format with
  greppable verbatim signals (combined.log, Robot.log, InteractiveConnectFlow,
  CloudConnectFlow, TaskCanceledException, /identity_, /discovery_, NU1101).
- Register the domain in `references/summary.md` (Domain Catalog) and add an
  Assistant discoverability clause to the skill description/when_to_use
  (combined.log / Robot.log / ExportDiagnoseArchive), within the 1024 cap.
- Remove the standalone skill: delete skills/uipath-assistant-diagnostics/,
  drop its skill-status.json entry, regenerate the README table, and move the
  CODEOWNERS entry to a products/assistant/ sub-path override (author + team).

Also addresses the two Low review findings while porting: softens the
destructive `git checkout develop && pull` to a read-only in-place grep, and
drops the duplicated anti-patterns section (folded into investigation rules).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vasyop

vasyop commented Jul 20, 2026

Copy link
Copy Markdown
Author

@RaduAna-Maria good call — done in 3e557af. Folded it into uipath-troubleshoot as a new product domain rather than a standalone skill:

  • references/products/assistant/overview.md (two-log architecture: combined.log = Electron/main, Robot.log = native Robot service; on-disk-log evidence model, no uip CLI surface — same shape as the coded-apps / runtime-exceptions domains), investigation_guide.md (the anchor-on-symptom rules + combined-first / Robot.log timezone-correlation workflow), summary.md, and 4 playbooks in the repo's playbook-template format (sign-in, orchestrator-connect, process missing/unstartable, crash) with greppable verbatim signals (combined.log, Robot.log, InteractiveConnectFlow, CloudConnectFlow, TaskCanceledException, /identity_, /discovery_, NU1101).
  • Registered in references/summary.md (Domain Catalog) and added an Assistant clause to the skill description/when_to_use so it triggers on combined.log / Robot.log / ExportDiagnoseArchive (description now 920/1024 chars).
  • Removed the standalone skill: deleted skills/uipath-assistant-diagnostics/, dropped its skill-status.json entry, regenerated the README table (bijection green), and moved the CODEOWNERS entry to a products/assistant/ sub-path override.

This also resolves the missing-tests/tasks smoke-test gate (the content is no longer a top-level skill) and the bot's two Low findings (softened the destructive git checkout develop && pull to a read-only in-place grep; dropped the duplicated anti-patterns section). check-skill-status.py, --check-readme, and validate-skill-descriptions.sh all pass locally.

vasyop and others added 2 commits July 20, 2026 12:51
…tant-diagnostics

# Conflicts:
#	skills/uipath-troubleshoot/SKILL.md
The uipath-assistant-diagnostics content ships in the public UiPath/skills
repo (external devs). Scrub references to private repos and internal env hosts:

- overview.md: replace "Source repositories" (UiPath/Assistant, /Studio,
  /Orchestrator, /Identity.Service + internal source paths) with namespace/
  IPC-route flow attribution and escalate-to-support guidance.
- investigation_guide.md: reframe Step 4 from source drill-down
  (gh search/api against UiPath/Studio, local Studio checkout) into
  user-side-fix vs product-side-report-to-support; genericize env host.
- assistant-crash.md: "drill into UiPath/Assistant / file upstream" ->
  capture stack and report to UiPath support.
- sign-in-failure.md: genericize wrong-environment example host.
- summary.md (x2): update descriptor text.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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