refactor(uipath-rpa): slim SKILL.md rule bodies to pointers (Stage 2)#2085
refactor(uipath-rpa): slim SKILL.md rule bodies to pointers (Stage 2)#2085AlvinStanescu wants to merge 1 commit into
Conversation
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>
|
Claude finished @AlvinStanescu's task in 4m 46s —— View job Review: PR #2085 — slim SKILL.md rule bodies to pointers (Stage 2)
SummaryCompresses 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 Review1.
|
| 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-compareplan 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.
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 fromcli-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
description/when_to_useuntouched → no activation-gate recall eval.hooks/validate-skill-descriptions.sh✅ ·scripts/check-skill-status.py✅ · link/anchor check on SKILL.md: 0 problems./skill-compare feat/uipath-rpa-consolidate-refs feat/uipath-rpa-skill-slim uipath-rpa 3isolates this PR's effect.🤖 Generated with Claude Code