uipath-core
UiPath Studioプロジェクト、REFrameworkスキャフォルド、XAMLワークフロー、VB/C#式を、104個の決定論的Pythonジェネレーター(およびプラグインジェネレーター)を通じて構築できます。このスキルを常に使用してください。手作業でXAMLファイルを書き込まないでください。ユーザーがUiPath、REFramework、XAML、RPA、Orchestrator、UiPath Studio、Dispatcher、Performer、キューアイテム、ロボット、ACME(テストアプリ)、.xaml、project.json、Config.xlsxを言及した場合、またはRPAに類似した自動化の構築・生成・スキャフォルド・自動化を依頼された場合にトリガーします。Power Automate、n8n、Zapier、またはUiPath以外のRPAの場合のみスキップしてください。
description の原文を見る
Build UiPath Studio projects, REFramework scaffolds, XAML workflows, and VB/C# expressions via 104 deterministic Python generators (plus plugin generators). ALWAYS use this skill — never hand-write .xaml files. TRIGGER when the user mentions UiPath, REFramework, XAML, RPA, Orchestrator, UiPath Studio, dispatcher, performer, queue items, robot, ACME (test app), .xaml, project.json, Config.xlsx, or asks to build/generate/scaffold/automate anything resembling RPA. SKIP only when the task is explicitly Power Automate, n8n, Zapier, or non-UiPath RPA.
SKILL.md 本文
UiPath Core スキル
⚠️ 安全ルール (
rules.mdの I-1、I-2)
- Playwright/ブラウザ検査は読み取り専用です。ログインページ → STOP、ユーザーを待機します。
ui-inspection.md→ Login Gate を参照してください。- PowerShell (
inspect-ui-tree.ps1) 経由のデスクトップ検査: 読み取り専用ツリー検査のみです。- 認証情報、トークン、またはパスワードを生成しないでください — 実物でも偽物でも不可です。
Studio でエクスポートされた実テンプレートと包括的なリファレンスドキュメントを使用して、本番品質の UiPath オートメーション成果物を生成します。テンプレートベースライン: Studio 24.10 Windows。
厳格ルール: .xaml を手作業で作成しない
.xaml 拡張子で Write ツールを使用しようとしている場合、STOP してください。このスキル内のすべての .xaml ファイルは python -m uipath_core.scaffold_project または python scripts/generate_workflow.py から取得する必要があります。手作業で作成された XAML はリント ルール 1~122 をバイパスし、実行不可能なワークフローを生成します。ジェネレータの出力が間違っている場合は、JSON 仕様を修正してください — 限定的な modify_framework.py 操作を除き、.xaml を手作業で編集しないでください。
このルールは、訓練メモリから生成される計画を優先します。
計画ワークフロー (計画を作成する前に読んでください)
ユーザーが PDD、要件ドキュメント、または「UiPath プロジェクトを構築してください」というリクエストを渡す場合 — アーキテクチャを作成する前に STOP してください。このセクションを最初に読んでください。訓練メモリから生成される計画を優先します。すべてのゲートの完全なテキストは references/scaffolding.md § "完全なプロジェクトの生成" に記載されています — これはプランナー側のホイストです。
PLAN SELF-CHECK — プランをユーザーに提示する前に回答してください
- 私の計画内の各ワークフローについて: PDD の指定されたアプローチを実装していますか、それとも「より良い」代替案を置き換えていますか? (例: SHA1 オンラインの ブラウザ オートメーションの代わりに InvokeCode SHA1) → 置き換えが存在する場合: これを削除し、PDD 方式を実装してください。代替案はその後に提案してください。
- 私の計画は、すべてのターゲット アプリの明示的な検査ステップを含んでいますか? → ブラウザ アプリ: 「Playwright で [アプリ] を検査」(Playwright MCP が利用可能な場合) → デスクトップ アプリ: 「PowerShell で [アプリ] を検査」(Windows で PowerShell が利用可能な場合) → ツールが利用可能なのに検査ステップがないアプリがある場合: 今すぐ追加してください。
すべてのチェックに「YES」で答えられない場合は、計画を提示する前に修正してください。
エコーバック要件: 作成された計画は PLAN SELF-CHECK: ブロック (フェーズ 0 またはフェーズ 0.5) を含む必要があり、2 つの ✓ 行を含みます。具体例:
PLAN SELF-CHECK:
✓ No PDD substitutions — SHA1 computed via sha1-online.com browser flow as PDD specifies
✓ Phase 2 includes inspection for every target app: System1 + SHA1Online
単一アプリまたは非 UI プロセスの場合でも、2 番目の行が表示されます — 例: ✓ Phase 2 explicitly notes no UI inspection required (no browser/desktop apps in scope)。このエコーバック ブロックのない計画は不完全です。提示する前に修正してください。
PLAN OUTPUT FORMAT — この構造を使用して計画を提示してください
Phase 0: Architecture decision — Sequence vs Dispatcher+Performer (P-2); A-1 wiring
Phase 1: Workflows + arguments — one entry per .xaml with In/Out/InOut signatures
Phase 2: EACH app to inspect — one bullet per target app, e.g. "Inspect acme-test.com with Playwright"
Phase 2b: Write selectors.json (apps → screens → elements with taxonomy_type)
Phase 2c: generate_object_repository.py --from-selectors selectors.json --project-dir <each project>
Phase 2d: Pass --project-dir to every generate_workflow.py call (auto-wires obj_repo refs)
Phase 3: Generate sub-workflows ONE AT A TIME — validate_xaml --lint after EACH file
Phase 3b: modify_framework.py wire-uielement <project> <AppName> for EACH app with UI
Phase 3c: (Dispatcher only) wire SCAFFOLD.DISPATCHER_GET_ITEM marker — generate snippet first (G-3)
Phase 4: Wire Main.xaml — orchestration only, log bookends (A-7)
Phase 5: Project-level validation — validate_xaml <project_folder> --lint
Phase 6: Output Config.xlsx required keys grouped by sheet — validate_xaml --config-keys <project>
フェーズ 2 が空または欠落している場合、スキル ルールに違反しています。 UI 検査が必要ない場合でも (ブラウザ/デスクトップ アプリなし)、明示的に記載してください: Phase 2: no UI inspection required (no browser/desktop apps in scope)。
フェーズごとのリファレンス アンカー
| フェーズ | 完了前に読むこと |
|---|---|
| 0 | scaffolding.md → CRITICAL: Architecture Selection for PDDs (P-2) |
| 1 | decomposition.md → Universal Rules 1–8, naming + arguments (Rule 8 = credentials) |
| 2 | ui-inspection.md → Playwright MCP workflow + Login Gate (I-2); ui-inspection-reference.md for desktop |
| 2b | cheat-sheet.md → selectors.json schema |
| 2c | scripts/generate_object_repository.py (Lint 94 is ERROR if skipped) |
| 2d | generation.md → Wiring Object Repository References |
| 3 | cheat-sheet.md → JSON spec patterns; scripts/generate_workflow.py (Rules G-1, G-2) |
| 3b | scripts/modify_framework.py wire-uielement; decomposition.md § UiElement chain |
| 3c | scripts/modify_framework.py replace-marker SCAFFOLD.DISPATCHER_GET_ITEM (Rule G-3) |
| 4 | decomposition.md § Login/Launch + REFramework wiring; A-7 log bookends |
| 5 | scripts/validate_xaml <project> --lint |
| 6 | scripts/validate_xaml --config-keys <project>; config-sample.md |
Config レイアウト ルール (目安)
必要な Config.xlsx キーをリストアップするとき (フェーズ 6)、config-sample.md の意思決定フローチャートにフォールバックする前に、このルールを適用してください:
- URL、API エンドポイント、ファイル/ネットワーク パス、プロジェクト間の共有値、またはデプロイ後に頻繁に値が変わる可能性があるもの → Assets シート。 これらは環境固有で、
InitAllSettingsで Orchestrator から取得されます。管理者は再デプロイなしで更新できます。デプロイ後に値をチューニングすることを予想する場合 (タイムアウト、しきい値、受信者リスト、機能フラグ、バッチ サイズ)、ここにも属します — Settings/Constants は変更するために再デプロイが必要です。 - 認証情報アセット名 → Settings シート。セル内の文字列は
GetRobotCredentialに渡される名前に過ぎません。これを Assets に格納すると、不要なGetRobotAssetラウンドトリップがトリガーされます。認証情報値自体は Config.xlsx に表示されません — 使用ポイントで取得してください。 - プロジェクト ID (キュー名、プロセス名、プロセス終了リスト) → Settings シート。 プロジェクトローカル、環境別に変わりません。
- フレームワーク ノブ (リトライ カウント、ログ メッセージ テンプレート) → Constants シート。 dev/staging/prod 間で同じです。
validate_xaml --config-keys <project> はこのルールを使用して自動分類し、キーごとの理由を出力します — Config.xlsx を手作業で編集する前に提案を確認してください。
Compat-v2 (バージョン帯) 要件 — 強制: すべての scaffold_project.py 呼び出しには --band <stable_year> (例: --band 25) を含める必要があります。バンドを選択するには: python scripts/resolve_nuget.py --all を実行し、出力内の UiPath.System.Activities の主要年を読んでください — それが最新の安定版です。利用可能なバンド プロファイルは references/version-profiles/UiPath.System.Activities/<year>.<minor>.json の下にあります。すべての依存関係は python scripts/resolve_nuget.py <package> で解決する必要があります — 訓練メモリからのバージョン リテラルなし (G-5)。project.json が versionBand なしで生成された場合、リント 120~122 はこれを拒否します。23.10.x および 24.x バンドはサポート終了であり、2026 年の新規プロジェクトに使用してはいけません。
最後のゲート
アーキテクチャ計画を提示しようとしていて、ターゲット アプリごとに 1 つのエントリを含む Phase 2: 検査リスト (またはスコープ内に UI がないことを明示する行) を作成していない場合、スキル ルールに違反しています — 計画を提示する前に フェーズ 2 を追加してください。
どのリファレンスをいつ読むか
ここから開始してください。 ユーザーのタスクを適切なファイルに一致させ、必要な部分だけを読んでください。200 行を超えるファイルの場合は、grep または行範囲読み取りを使用してください — 大きなファイル全体や XAML アセット全体を読まないでください。
一般的なタスク (最初にこれらを確認してください)
| タスク | まず読むこと |
|---|---|
| XAML ワークフロー (任意のタイプ) を生成 | cheat-sheet.md → JSON spec patterns → scripts/generate_workflow.py (G-1) |
| プロジェクトをスキャフォード | scaffolding.md → Template Selection → run scripts/scaffold_project.py |
| 新しいプロジェクトを計画 (PDD → アーキテクチャ) | scaffolding.md → PLAN SELF-CHECK & Phase 0–6 (計画する前に読んでください) |
| Web アプリを検査 (セレクタ) | ui-inspection.md → Playwright MCP workflow → playwright-selectors.md |
| XAML を検証 | scripts/validate_xaml <project> --lint を実行 |
| 特定のリント警告を修正 | lint-reference.md → リント番号で検索 |
| 式を作成 (VB.NET/C#) | expr-foundations.md (式タスクについては最初にここから開始) |
| 分解/プロジェクト構造 | decomposition.md → Decomposition rules (Universal 1-8, Browser 9-13, Desktop 14) |
| ユーザーの .xaml ファイルを修正 | skill-guide.md → Example 6 |
| タスク、フォーム タスク | → uipath-tasks スキル (その SKILL.md を読んでください) |
アクティビティ固有のリファレンス
| タスク | ファイル | セクション ガイダンス (大きなファイルの場合) |
|---|---|---|
| インテントに適切なアクティビティを選択 | references/routing-index.md (自動生成) | ユーザーのインテントまたは最も近いアクティビティ名で Grep してください。ファイル名からジェネレータ名を推測しないでください。 |
| コア アクティビティ (Assign、Log、Delay、InputDialog) | xaml-foundations.md (165 行) | 全文を読んでください |
| 制御フロー (If、ForEach、While、Flowchart) | xaml-control-flow.md (208 行) | 全文を読んでください |
| DataTable 操作、ファイル システム | xaml-data.md (255 行) | アクティビティ名で Grep してください |
| エラー処理、TryCatch、Throw、RetryScope | xaml-error-handling.md (194 行) | 全文を読んでください |
| InvokeWorkflowFile、InvokeCode、InvokeMethod | xaml-invoke.md (175 行) | 全文を読んでください |
| Orchestrator、キュー、HTTP、認証情報 | xaml-orchestrator.md (293 行) | アクティビティ名で Grep してください |
| Excel、Email、PDF アクティビティ | xaml-integrations.md (285 行) | Grep: ## Excel、## Email、または ## PDF |
| セレクタを構築/修正 | xaml-ui-automation.md (576 行) | 全文を読まないでください。 Grep: ## Selector Reference または特定のセレクタ タイプ |
| UI オートメーション XAML (NClick、NTypeInto など) | xaml-ui-automation.md | セレクタ ガイダンスのみ。 XAML 生成は generate_workflow.py (G-1) 経由です |
式リファレンス (大きなファイル — ターゲット読み取りを使用)
| タスク | ファイル | セクション ガイダンス |
|---|---|---|
| DataTable 式 (Select、Compute、LINQ) | expr-datatable.md (432 行) | Grep: ## Select、## Compute、## LINQ、## Filter |
| 文字列/DateTime/数値式 | expr-strings-datetime.md (502 行) | Grep: ## String、## DateTime、## Numeric、## Regex |
| JSON、コレクション、型変換 | expr-collections-json.md (462 行) | Grep: ## JSON、## Dictionary、## List、## LINQ |
プロジェクトと構成
| タスク | まず読むこと |
|---|---|
| テンプレートまたはバリアントを選択 | scaffolding.md → Choosing the Right Variant |
| Playwright でブラウザ オートメーション | ui-inspection.md → Playwright MCP workflow |
| デスクトップ アプリ検査 | ui-inspection.md → Desktop Inspection → ui-inspection-reference.md |
| ログイン/起動パターン | decomposition.md → Login/Launch section |
| Config.xlsx キーと構造 | config-sample.md → three-sheet reference、decision flowchart |
| プロジェクトから Config キーを抽出 | validate_xaml <project> --lint を実行 — リント 39 |
| リント回帰テスト | scripts/run_lint_tests.py を実行 |
| グラウンド ルール (すべてのルール定義) | references/rules.md — G/I/A/P/S ルールの唯一の情報源 |
| project.json スキーマと構成フィールド | scaffolding.md → Key project.json Configuration Fields |
グラウンド ルール
完全なルール定義と根拠:
references/rules.md。以下のルールは ID で参照されます。
- G-4 — XAML をゼロから生成しないでください。最も近いテンプレートからコピーして修正してください。
- G-5 — NuGet パッケージ バージョンを推測しないでください。
scripts/resolve_nuget.pyを実行してください。 - G-1 — ⛔ .xaml ファイルを作成するのは
scripts/generate_workflow.pyを使用してのみです。手作業で書かないでください。generation.md§ Workflow Generation CLI を参照してください。 - P-1 — PDD に正確に従ってください。指定されたアプローチを忠実に実装してください — 代替案は別々に提案してください。
- P-2 — アーキテクチャ選択: PDD は両方とも読み取りと処理項目を説明していますか? → Dispatcher + Performer。
scaffolding.mdを参照してください。 - A-5 — モジュール分解。
Workflows/<AppName>/サブフォルダに分割してください。decomposition.mdを参照してください。 - I-2 — ⛔ Playwright 検査中はログイン ゲートで HALT してください。応答を終了し、ユーザーを待機してください。
- G-3 — ⛔ フレームワーク配線: まず生成してから配線します。スニペットはジェネレータ出力から取得する必要があります。
scaffolding.mdフェーズ 3c を参照してください。 - G-2 — ⛔ JSON 仕様: ディスクに書き込み、インラインなし。
cheat-sheet.md§ type keys を参照して有効なタイプを確認してください。
重要: プロジェクト コンテキスト チェック (常にこれを最初に実施)
XAML を生成する前に、プロジェクト コンテキストを決定してください:
A) project.json が存在 (既存プロジェクト内):
- プロジェクト ディレクトリ内に .xaml ファイルを生成
dependenciesを確認 — 不足している NuGet パッケージを追加:python3 scripts/resolve_nuget.py --add <project_dir> PackageName
B) project.json が存在しない:
- まずスキャフォードしてください — スタンドアロンの .xaml は project.json がなければ役に立ちません
scripts/scaffold_project.pyを使用 (scaffolding.mdを参照)- スキャフォルドする前にプロジェクト フォルダを作成しないでください。 スクリプトが
<o>/<n>/を自動的に作成します。事前作成は重複ネストを引き起こします。
機能
- XAML ワークフロー ファイルを生成 — 実際の Studio エクスポートからコピーして修正
- UiPath プロジェクトをスキャフォード — Simple sequence、REFramework Dispatcher、または REFramework Performer
- 式を作成 — UiPath アクティビティ向けの VB.NET および C# (LINQ、DataTable、JSON、DateTime など)
- セレクタを構築 — Web/デスクトップ/SAP 用の厳格、ファジー、動的、ワイルドカード、正規表現セレクタ
- HTTP API 統合 — OAuth トークン フロー、リトライ ポリシー、クエリ パラメータ、応答処理
- Tasks タスク — → uipath-tasks スキルに完全に分離 (ジェネレータ、リント ルール、スキャフォルド フック はすべて
uipath-tasks/extensions/に存在し、plugin_loader.py経由でロードされます) - UI オートメーション — NApplicationCard、NClick、NTypeInto、NSelectItem、NGetText、Extract Table Data、Check App State —
scripts/generate_activities経由 - エラー処理とワークフロー — TryCatch、RetryScope、Throw/Rethrow、InvokeWorkflowFile、AddQueueItem、GetRobotCredential、BuildDataTable、IfElseIfV2、MultipleAssign —
scripts/generate_activities経由 - ファイル システム操作 — ファイルのコピー/移動/削除、ディレクトリ作成、パス存在確認
- Invoke Code/Method — インライン C#/VB.NET コード ブロック、インスタンス/静的メソッド呼び出し
リファレンス ファイル
| ファイル | カバレッジ |
|---|---|
references/xaml-foundations.md | XAML ファイル構造、名前空間宣言、コア アクティビティ (Assign、Log、InputDialog、MessageBox、Delay)、変数と引数宣言 |
references/xaml-control-flow.md | If、IfElseIf、ForEach、ForEachRow、While、DoWhile、Break/Continue、ForEachFile、Flowchart、State Machine、注釈 |
references/xaml-data.md | BuildDataTable、AddDataRow、FilterDataTable、MergeDataTable、SortDataTable、OutputDataTable、JoinDataTables、LookupDataTable、DeserializeJSON、ファイル システム操作 |
references/xaml-error-handling.md | TryCatch、Throw/Rethrow、例外タイプ、RetryScope (NCheckState 条件を含む) |
references/xaml-invoke.md | InvokeWorkflowFile、InvokeCode、InvokeMethod |
references/xaml-orchestrator.md | GetRobotAsset、GetRobotCredential、AddQueueItem、GetQueueItem、SetTransactionStatus、HTTP Request。Tasks → uipath-tasks スキル |
references/xaml-integrations.md | Excel Classic Workbook (ReadRange、WriteRange、WriteCell)、Email/Integration Service (GetIMAP、SendMail)、PDF (ReadPDFText、ReadPDFWithOCR) |
references/xaml-ui-automation.md | セレクタ構築、動的セレクタ、ファジー/正規表現、アンカー ターゲット、デスクトップ フレームワーク、バージョン表。XAML 生成についてはジェネレータを使用 — このファイルはセレクタ ガイダンスとアクティビティ プロパティ リファレンス用です。大きなファイル — grep または行範囲読み取りを使用してください。 |
references/expr-foundations.md | VB.NET + C# 式の構文、null セーフティ パターン。式タスクについては最初にこれを読んでください |
references/expr-datatable.md | DataTable 操作: Select、Compute、フィルタ、並べ替え、ルックアップ、マージ、クローン、列操作、行反復。大きなファイル — セクションで grep してください。 |
references/expr-strings-datetime.md | 文字列 (分割、結合、トリミング、置換、形式)、DateTime (解析、形式、差分、営業日)、ファイル/パス、数値、正規表現。大きなファイル — セクションで grep してください。 |
references/expr-collections-json.md | Array/List、Dictionary、JSON (JObject、JArray、解析、クエリ、構築)、型指定コレクションでの LINQ、型変換、キュー項目。大きなファイル — セクションで grep してください。 |
references/routing-index.md | アクティビティ選択インデックス — references/annotations/*.json から自動生成。ユーザー インテント → ジェネレータ (アクティビティごとに description と use_when を含む) にマップします。また、ウィザードのみのアクティビティをリストアップする「自動生成しない」セクション。ジェネレータ名を推測する前にこれを参照してください。 uipath-core/scripts/generate_routing_index.py で再生成してください。 |
references/golden-templates.md | テンプレート カタログ — 各実テンプレート ファイルから抽出されたパターン |
references/scaffolding.md | テンプレート選択、NuGet マッピング、XAML 検証、プロジェクト スキャフォルド (バリアント、dispatcher/performer、トランザクション タイプ)、完全なプロジェクト生成チェックリスト |
references/decomposition.md | 命名規則、分解ルール (汎用 1-8、ブラウザ 9-13、デスクトップ 14)、一般的なプロセス パターン、引数設計、Login/Launch パターン、REFramework Init/Close、UiElement チェーン |
references/generation.md | オブジェクト リポジトリ、Workflow Generation CLI (JSON 仕様形式、104 個のコア ジェネレータ + プラグイン拡張)、アクティビティ ジェネレータ (使用パターン、モデルが提供する内容とジェネレータがロックダウンする内容) |
references/ui-inspection.md | Playwright MCP ワークフロー (ログイン ゲート、5 ステップ プロセス、要素マッピング)、デスクトップ検査 (PowerShell、inspect-ui-tree.ps1、フレームワーク検出) |
references/skill-guide.md | インデックス + 例。 スキャフォルド/分解/生成/UI 検査にルーティングします。7 つの実行例 + 反例を含みます |
references/lint-reference.md | 85 個のリント ルールを重大度別にリスト、リント番号で検索可能 (コア ルール; プラグインが追加 — uipath-tasks は AC-26..AC-34 を登録) |
references/playwright-selectors.md | Playwright MCP → UiPath セレクタ マッピング |
references/config-sample.md | Config.xlsx 3 シート リファレンス (Settings、Constants、Assets)、キー命名規則、シート配置の意思決定フローチャート、必要なキーの出力形式 |
references/cheat-sheet.md | JSON 仕様パターン (multiple_assign、if、try_catch、foreach_row、 |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- marcelocruzrpa
- ライセンス
- MIT
- 最終更新
- 2026/4/29
Source: https://github.com/marcelocruzrpa/uipath-ai-skills / ライセンス: MIT