Skip to content

refactor(uipath-rpa): slim SKILL.md rule bodies to pointers (Stage 2)#2085

Open
AlvinStanescu wants to merge 1 commit into
feat/uipath-rpa-consolidate-refsfrom
feat/uipath-rpa-skill-slim
Open

refactor(uipath-rpa): slim SKILL.md rule bodies to pointers (Stage 2)#2085
AlvinStanescu wants to merge 1 commit into
feat/uipath-rpa-consolidate-refsfrom
feat/uipath-rpa-skill-slim

Conversation

@AlvinStanescu

Copy link
Copy Markdown
Collaborator

What

Stacked on #2084 (Stage 1). Slims SKILL.md from ~16.0k → ~13.5k tokens (−16%) — a cost paid on every activation of the skill. Every Critical Rule keeps its imperative, failure mode, and decision semantics; procedure bodies now point at the Stage-1-merged references, each of which is a single read.

Why this is a separate PR

These rule bodies read like patches for past eval failures (skip-tax, NGetText, trigger placement, template selection). Compressing them is higher-risk than Stage 1's mechanical merges, so it gates separately: if the A/B shows a success-rate regression on this branch but not on Stage 1, this PR is the culprit and can be dropped without losing the merge win.

What was compressed (semantics preserved)

Rules 2/2a (template + framework selection detail → environment-setup.md), Rule 3 (validation loop → cli-reference.md § Validation Iteration Loop), Rule 12 (trigger placement examples → trigger-pattern-guide.md), Rule 20 (ViewState prose → canvas-layout-guide.md), Rules 21/21a (activity-surface procedure → xaml-basics-and-rules.md; skip-tax now stated once repo-wide), Rule 23 (conversion procedure), § Placeholder-Selector Stub, § Error Handling, Quick-Reference tables duplicated from cli-reference.md/the activity card, § Resolving Packages, the UIA package-doc listing, § Capture-First, § Completion Output's plan re-check (folded into § Execution Discipline).

Not compressed

Task Navigation table, project-context precondition, § Execution Discipline, § Call Batching, § Session Pre-warm — unique operational content with no reference home; cutting these would delete guidance, not duplication. That is why the file lands at ~13.5k rather than the ~12k aspiration.

Verification

  • Frontmatter description/when_to_use untouched → no activation-gate recall eval.
  • hooks/validate-skill-descriptions.sh ✅ · scripts/check-skill-status.py ✅ · link/anchor check on SKILL.md: 0 problems.
  • Speed/safety A/B once Stage 1 merges: /skill-compare feat/uipath-rpa-consolidate-refs feat/uipath-rpa-skill-slim uipath-rpa 3 isolates this PR's effect.

🤖 Generated with Claude Code

Every Critical Rule keeps its imperative, failure mode, and decision
semantics; procedure bodies delegate to the references merged in Stage 1
(which are now single reads). 16.0k -> 13.5k tokens (-16%), paid on every
skill activation.

Compressed: Rule 2/2a template+framework detail (env-setup owns), Rule 3
validation sub-bullets (cli-reference owns the loop), Rule 12 trigger
placement (trigger-pattern-guide owns examples), Rule 20 ViewState prose
(canvas guide owns), Rules 21/21a activity-surface procedure (xaml-basics
owns; skip-tax stated once), Rule 23 conversion procedure, Placeholder-
Stub and Error-Handling sections (their guides own the patterns), Quick
Reference tables duplicated from cli-reference/card, Resolving Packages
step 1, UIA package-doc listing, Capture-First fast path, Completion
Output plan re-check (folds into Execution Discipline).

Remaining size is unique operational content with no reference home
(Task Navigation, project-context precondition, execution discipline,
call batching).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Claude finished @AlvinStanescu's task in 4m 46s —— View job


Review: PR #2085 — slim SKILL.md rule bodies to pointers (Stage 2)

  • Read review criteria and project conventions
  • Read full diff against base branch
  • Read full SKILL.md for surrounding context
  • Verify all relative links resolve
  • Check for cross-skill references and secrets
  • Post review

Summary

Compresses SKILL.md by ~112 lines (−16% tokens) by replacing procedure bodies in Critical Rules with bridging summaries + pointers to the Stage-1-merged reference files. Frontmatter is untouched. All compressed rules retain their imperative, failure mode, and decision semantics inline — only the detailed step-by-step procedures and lookup tables are delegated to references.

Change-by-Change Review

1. skills/uipath-rpa/SKILL.md — rule body compression

Severity: OK (with Low notes)

What changed: 14 sections were compressed. The main patterns are:

Section Technique Semantics preserved?
UI Automation Boundaries (line 93) Merged two paragraphs into one sentence + link
Placeholder-Selector Stub Pattern (line 97) Three paragraphs → one; keeps "never Log stubs" + why
Capture-First Fast Path (line 108) Multi-paragraph + numbered steps → single paragraph with inline (1)–(4)
Rule 2 template selection (line 128) Detailed 4-bullet decision tree → one-sentence summary + pointer ✅ Decision semantics retained
Rule 2a framework selection (line 130) Expanded signals → compressed signals + pointer
Rule 3 validation loop (lines 131–137) Detailed phases → compressed phases + pointer
Rule 7 (line 145) Trimmed routing sentence
Rule 7a (line 146) Compressed runtime-failure paragraph
Rule 12 triggers (lines 154–160) Multi-paragraph placement rules → compressed two-type summary
Rule 20 Flowchart/ViewState (line 214) Compressed + pointer to canvas-layout-guide
Rules 21/21a activity surface (lines 215–221) Compressed procedure + skip-tax; card allowlist compacted
Rule 23 conversion (line 223) Compressed procedure, kept key steps
Key CLI Commands + Common Activities tables (line 332) Two tables → one bridging sentence + reference links ✅ De-duplication
UIA package doc listing (line 387) Bullet list → inline ·-separated text
Completion Output (line 391) Plan re-check folded into Execution Discipline cross-reference

Link verification: All 12 referenced files exist. All section anchors (#template-selection, #step-03-creating-a-new-project, #validation-iteration-loop, etc.) resolve in their target files. ✅

Reference Pointer Discipline check: Rules 2, 2a, 12, and 21 retain some overlap with their referenced files (e.g., Rule 2 restates the template search-select decision tree, Rule 21 restates the 4-step activity procedure). However, these are Critical Rules — carrying the decision semantics inline is intentional so agents have the imperative + failure mode available at activation time without a file read. The overlap is reduced from the pre-PR state. The compressed versions are bridging summaries, not full procedure re-statements. Not flagged.

Low — Rule 21a wording (line 221): "not the MWF primitives" — the abbreviation "MWF" (Microsoft Workflow Foundation) appears without expansion. The previous version used the full form System.Activities.Statements.While/DoWhile/ForEach<T>. While an AI agent likely infers "MWF" from context, the original was more explicit. Cosmetic only.

What's Missing

Nothing identified. This is a pure compression pass — no new content, no structural changes, no frontmatter modifications. The PR description correctly identifies the sections that were not compressed and explains why.

Area Ratings

Area Status Notes
Frontmatter OK Untouched — no activation-gate concern
E2E Tests OK No behavioral changes to test
Skill Body OK All compressions preserve decision semantics
References & Assets OK No reference files changed; all links resolve
Repo Hygiene OK No secrets, no cross-skill deps, scoped to one file

Issues for Manual Review

  • A/B eval coverage: The PR description outlines a /skill-compare plan to isolate this PR's effect vs. Stage 1. This is the right approach — the compressed rule bodies (especially Rules 2, 3, 12, 21) are the ones most likely to cause regressions if the inline summary is too terse for the agent to follow without reading the reference. Worth watching the template-selection and validation-loop tasks in particular.
  • "MWF" abbreviation in Rule 21a — minor, but if agents are observed to misidentify the framework primitives, expanding it would be a cheap fix.

Conclusion

Clean compression pass. All Critical Rules retain their imperative and decision semantics; procedure bodies are correctly delegated to the Stage-1-merged references. All links and anchors resolve. No semantic losses identified. The risk is well-isolated per the PR's stacking strategy.

Approve — recommend running the A/B eval before merging to confirm no success-rate regression on template-selection and validation-loop tasks.

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.

1 participant