Skip to content

feat(coded-apps-skill) : Update coded-apps skill#686

Merged
vnaren23 merged 1 commit into
mainfrom
coded-apps/skill-update
May 11, 2026
Merged

feat(coded-apps-skill) : Update coded-apps skill#686
vnaren23 merged 1 commit into
mainfrom
coded-apps/skill-update

Conversation

@swati354

@swati354 swati354 commented May 11, 2026

Copy link
Copy Markdown
Contributor

1. New SDK methods documented

Feedback service (new subpath)

  • Feedback.getAll(options?) — list feedback across the tenant with filters by agentId, status, traceId
  • Feedback.getById(id, { folderKey }) — fetch a single feedback record
  • New file: references/sdk/feedback.md
  • Added @uipath/uipath-typescript/feedback to imports.md
  • Added scope rows to oauth-scopes.md

Jobs (new control-plane methods)

  • Jobs.stop(jobKeys[], folderId, options?)
  • Jobs.resume(jobKey, folderId, options?)
  • Jobs.restart(jobKey, folderId)
  • JobMethods bound on JobGetResponsejob.getOutput(), job.stop(), job.resume(), job.restart()
  • New types: JobStopOptions, JobResumeOptions, JobMethods

Entities (Data Fabric)

  • Entities.deleteRecordById(entityId, recordId) — single delete, fires triggers
  • Entities.queryRecordsById(id, options) — filter / sort / aggregate / group-by
  • Bound: entity.deleteRecord(recordId), entity.queryRecords(options)
  • Filter types: EntityQueryFilter, EntityQueryFilterGroup, EntityQuerySortOption, EntityAggregate
  • Enums: LogicalOperator, QueryFilterOperator, EntityAggregateFunction (runtime-exported in 1.3.7)

Assets / Processes

  • Assets.getByName(name, options) — resolve by name within a folder (accepts folderId, folderKey, or folderPath; supply exactly one)
  • Processes.getByName(name, options) — same shape

Conversational Agent

  • Conversations.getAttachmentUploadUri(conversationId, fileName) — lower-level alternative to uploadAttachment for streaming/non-File sources. Example shows the complete upload (merges fileUploadAccess.headers, adds x-ms-blob-type: BlockBlob, conditionally attaches Authorization when requiresAuth)

2. Deploy loop updated to take --folder-key

  • uip codedapp deploy --folder-key <GUID> is now the documented path; UIPATH_FOLDER_KEY=<GUID> env var is documented as the equivalent alternative
  • Folder name → key resolution recipe added: uip or folders list --output json, match on the Name field (output rows are { Key, Name, Path, Description, Type, ParentKey } — PascalCase)
  • All CLI flags switched from camelCase to kebab-case across pack-publish-deploy.md and commands-reference.md (--folder-key, --base-url,--client-id, --build-dir, --main-file, --access-token, etc.)
  • Documented -v, --version alias on pack, publish, and deploy (deploy's -v is the target published version, different semantic from pack/publish's package version)
  • uip or folders list-current-useruip or folders list (CLI consolidation; default behavior is "current user's folders," --all for tenant-wide)

3. Data Fabric anti-shapes section

New "read first" section at the top of references/sdk/data-fabric.md documenting nine DF behaviors:

  1. Choice values come back as numberId integers on every read path
  2. Auto-created audit fields (CreateTime/UpdateTime/etc.) are row metadata, not domain fields
  3. Unknown keys silently dropped on insert
  4. No IsNull filter operator
  5. Field name casing preserved verbatim on writes
  6. Filter value for choice fields = numberId as string
  7. Aggregates require server-side aggregates + groupBy
  8. field.fieldDataType is an object, not a string — read .name
  9. File-type fields are metadata-only — downloadAttachment to render; detect kind by magic-byte sniffing or optimistic <img> + onError fallback (neither contentType nor filename is reliable — DF returns generic application/octet-stream and stores name as a bare UUID)

@github-actions

github-actions Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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

  • uipath-coded-apps

Consider adding smoke tests before merging.

@swati354 swati354 force-pushed the coded-apps/skill-update branch from 0eab5a9 to d3eb42c Compare May 11, 2026 10:58
@swati354 swati354 marked this pull request as ready for review May 11, 2026 11:10
@github-actions

github-actions Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @swati354's task in 6m 20s —— View job


Summary

Substantial skill update: documents 6 new SDK methods (Feedback, Jobs control-plane, Entities query/delete, Assets/Processes getByName, Conversational Agent getAttachmentUploadUri), migrates all CLI flags to kebab-case, adds a 9-item Data Fabric anti-shapes section, and updates the deploy loop to require --folder-key. Well-structured and high signal-to-noise across all 12 files.

Change-by-Change Review

1. skills/uipath-coded-apps/SKILL.md (+18/−6)

Severity: Medium

New Critical Rules 11–15 are high-quality guardrails (deploy non-interactivity, text overflow, DF schema inspection, pagination foot-gun, tabular data). Good additions.

  • Duplication (Medium): Critical Rule 14 (pagination foot-gun) reproduces nearly the full content of the blockquote at the top of references/sdk/pagination.md:1-21. The SKILL.md version is ~4 lines of dense prose; pagination.md has a full code block plus the same explanation. Per Reference Pointer Discipline, SKILL.md should state the rule concisely and defer detail to the reference. Current rule 14 already links to pagination.md — the inline explanation beyond one bridging sentence is duplicate. Same pattern in rule 15 vs patterns.md "Tabular Data" section, though that overlap is smaller.

    Trim rule 14/15 to one-sentence rule + link →

2. references/commands-reference.md (+40/−39)

Severity: OK

Systematic camelCase → kebab-case migration across all CLI flag tables and examples (--buildDir--build-dir, --folderKey--folder-key, etc.). New -v, --version entry for deploy. Clean and consistent.

3. references/file-sync.md (+5/−5)

Severity: OK

Matching kebab-case flag updates for push and pull commands. Consistent with commands-reference.md.

4. references/oauth-scopes.md (+17/−1)

Severity: OK

New scope rows for getByName (Assets, Processes), stop/resume/restart (Jobs), deleteRecordById/queryRecordsById (Data Fabric), getAttachmentUploadUri (Conversations), and new Agent Feedback section. Correct scope assignments.

5. references/pack-publish-deploy.md (+71/−23)

Severity: OK

Major improvement: full folder name → key resolution recipe with bash examples, CI/CD pipeline and agent flow examples, prerequisite check for orchestrator-tool. Kebab-case flags throughout. Well-structured with clear warnings about interactive mode.

6. references/patterns.md (+20/−0)

Severity: OK

New "Tabular Data" and "Preventing Text Overflow" sections. Prescriptive, practical guidance with specific CSS class names (min-w-0, truncate, table-fixed). Good additions.

7. references/sdk/conversational-agent.md (+19/−0)

Severity: Medium

New getAttachmentUploadUri method and ConversationAttachmentCreateResponse type import.

  • Incomplete example (Medium): The PR description states the example should show "the complete upload (merges fileUploadAccess.headers, adds x-ms-blob-type: BlockBlob, conditionally attaches Authorization when requiresAuth)." The actual code example at line 174–185 only passes { 'Content-Type': file.type } as headers — it does NOT merge fileUploadAccess.headers, does NOT set x-ms-blob-type, and does NOT check requiresAuth. An agent following this example will get upload failures on Azure Blob Storage which requires the x-ms-blob-type header.

    Add complete headers to getAttachmentUploadUri example →

8. references/sdk/data-fabric.md (+93/−5)

Severity: Medium

Excellent anti-shapes section (9 items) and thorough queryRecordsById documentation including filter types, operators, aggregate examples, and choice-value translation table.

  • Missing blank line (Low): Line 21–22 — anti-shape item 9 runs directly into ## Scopes header with no blank line. Markdown renderers may still parse it, but it's inconsistent with the rest of the file.

    Add blank line before ## Scopes →

  • Duplication within file (Medium): The choice-value numberId translation guidance appears in 4 places: anti-shapes items 1 and 6, the blockquote under insertRecordsById (line 105), and the two long blockquotes under queryRecordsById (lines 135-146). The table at lines 139-146 is the authoritative summary; the rest restate the same rule with varying detail. Consider trimming anti-shapes 1 and 6 to one sentence each + "see queryRecordsById for full translation paths."

9. references/sdk/feedback.md (NEW, +80)

Severity: OK

Clean new file. Follows the established reference structure (Import, Scopes, Types, Enums, Methods, Usage Example). Pagination cross-reference present. Example correctly uses folderKey for getById.

10. references/sdk/imports.md (+1/−0)

Severity: OK

New @uipath/uipath-typescript/feedbackFeedback row. Alphabetically placed.

11. references/sdk/orchestrator.md (+60/−1)

Severity: OK

Well-documented new methods (stop, resume, restart, getByName for Assets/Processes) and JobMethods bound-method section with a clear example. The "No bound methods" note was correctly updated to reflect that Jobs now have bound methods.

12. references/sdk/pagination.md (+22/−2)

Severity: OK

New foot-gun blockquote at the top with cursor-loop code example. High-value addition — this is the kind of gotcha that trips up agents repeatedly.

What's Missing

  • No smoke tests: tests/tasks/uipath-coded-apps/ does not exist. This is an existing gap, not introduced by this PR, but CI already flagged it. Medium — consider adding at least one smoke task that validates the pack → publish flow.
  • StopStrategy import not documented in imports.md: orchestrator.md references StopStrategy.SoftStop and StopStrategy.Kill (line 210), and the enum is listed in the Enums section (line 106), but references/sdk/imports.md does not list it in the "Commonly Used Enums" or equivalent section. An agent reading imports.md to figure out where to import StopStrategy from won't find it there.

Area Ratings

Area Status Notes
Frontmatter OK name matches folder, description under 1024 chars, well-structured
E2E Tests Issue No tests/tasks/uipath-coded-apps/ directory (pre-existing gap)
Skill Body OK Critical Rules expanded with high-value guardrails; section order correct
References & Assets Issue conversational-agent.md example missing required upload headers; minor duplication in data-fabric.md
Repo Hygiene OK CODEOWNERS ✓, no secrets ✓, no cross-skill refs ✓, changes scoped ✓

Issues for Manual Review

  • CLI flag correctness: I cannot verify that --folder-key, --version, --client-id, --client-secret, --build-dir, --target-dir, --uipath-dir, --tenant-name are the actual CLI flag names (vs. the prior camelCase forms). If the CLI hasn't been updated to accept kebab-case, every command example in this PR will break. Please confirm the CLI version that introduced this change.
  • getAttachmentUploadUri upload headers: The PR description mentions fileUploadAccess.headers, x-ms-blob-type: BlockBlob, and conditional Authorization — but the code example omits them. Please confirm which headers are actually required for the blob upload to succeed.
  • uip or folders list output shape: The scripts assume d['Data'] (PascalCase key). Verify this matches the actual --output json shape from the Orchestrator tool.
  • Jobs.resume scope: oauth-scopes.md lists OR.Jobs.Write for resume() but OR.Jobs (full) for stop() and restart(). Verify this asymmetry is intentional.

Conclusion

Approve with minor changes. This is a high-quality, well-structured update that fills significant documentation gaps. The two actionable items before merge:

  1. Fix the getAttachmentUploadUri example to include required upload headers (the simplified version will cause agent failures on Azure Blob Storage).
  2. Add blank line before ## Scopes in data-fabric.md (trivial formatting fix).

The duplication items (SKILL.md rule 14 vs pagination.md, data-fabric.md numberId guidance) are Medium and can be addressed in a follow-up.


@swati354 swati354 changed the title Update coded-apps skill feat(coded-apps-skill) : Update coded-apps skill May 11, 2026
@vnaren23 vnaren23 merged commit 4fbc664 into main May 11, 2026
11 checks passed
@vnaren23 vnaren23 deleted the coded-apps/skill-update branch May 11, 2026 16:54
charlesliu9 pushed a commit that referenced this pull request May 19, 2026
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