Skip to content

fix: Correct skill descriptions and use error-prone command examples - #2012

Merged
hatayama merged 2 commits into
feature/cli-discoverability-integrationfrom
fix/skill-description-alignment
Jul 26, 2026
Merged

fix: Correct skill descriptions and use error-prone command examples#2012
hatayama merged 2 commits into
feature/cli-discoverability-integrationfrom
fix/skill-description-alignment

Conversation

@hatayama

@hatayama hatayama commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

PR-1 of the round12 CLI-discoverability plan. Skill documents only — no code changes.

Round12 E2E verification (3 agents) showed that agents copy the first example they read and extrapolate option values from description wording. This PR makes descriptions and examples show only values that actually exist, and puts load-bearing facts inline where they are read.

Changes

  • Skill list descriptions match real option values (simulate-keyboard, simulate-mouse-input, control-play-mode): holdsholds (via Press --duration), held button inputlong-press (LongPress), movement deltamovement delta (MoveDelta/SmoothDelta), and play-mode verbs → the actual Play/Stop/Pause/Step/Status values.
  • --trigger examples use an error-prone key (--key Digit3 instead of Space) in the Fast-Progressing Games section of the pause-point skill and its reference, with the digit rule stated right after every keyboard example: Digit keys are `Digit0`-`Digit9` or `Numpad0`-`Numpad9` — bare `0`-`9` is rejected. The Quick Check Template keeps Space but gains the same fact line (verification showed the template is what gets copied).
  • --trigger race claim corrected: the marker can hit before the trigger executes (every-frame lines); the trigger is then preflight-rejected and runs nothing. One imperative added: load the triggered tool's skill before writing a non-example trigger command.
  • Capture semantics documented: a concrete Destroy(obj) example for frame-completed live references, CapturedVariablesTruncated being unrelated to the name filter, and --max-preview-elements at enable time carrying into later pause-point-status responses.
  • Mouse verification hygiene: keep hands off physical input devices and re-measure starting values immediately before firing input.
  • Generated copies under .claude/ and .agents/ regenerated via uloop skills install --claude --agents.

Verification

  • uloop simulate-keyboard --action Press --key Digit3 executed against the running Editor in PlayMode: Success: true (the new example works as written).
  • Description grep checks: no holds outside holds (via Press --duration), no held button input, no start, in the three frontmatter descriptions.
  • skills install diff contains only the files touched by this PR.

Review in cubic

Round12 E2E verification showed agents copy the first example they read
and extrapolate option values from description wording, so descriptions
and examples must only show values that actually exist:

- Align the simulate-keyboard / simulate-mouse-input / control-play-mode
  skill descriptions with real option values (no more "holds" without
  Press --duration, "held button input", or verbs that are not actions)
- Switch the Fast-Progressing Games --trigger examples to --key Digit3
  and state the Digit0-9/Numpad0-9 rule next to every keyboard example,
  because bare digits were silently parsed as enum ordinals
- Correct the --trigger "no race" claim: the marker can hit before the
  trigger runs, and tell readers to load the triggered tool's skill first
- Document frame-completed capture semantics with a Destroy example,
  physical-input hygiene during mouse verification, the scope of
  CapturedVariablesTruncated, and --max-preview-elements carrying into
  pause-point-status

Generated skill copies under .claude/ and .agents/ are regenerated with
"uloop skills install --claude --agents".
@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@hatayama, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 28 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: c2136cdd-235f-4bbe-bf91-355aca2224a0

📥 Commits

Reviewing files that changed from the base of the PR and between 79fced1 and 53888d5.

📒 Files selected for processing (6)
  • .agents/skills/uloop-control-play-mode/SKILL.md
  • .agents/skills/uloop-simulate-keyboard/SKILL.md
  • .claude/skills/uloop-control-play-mode/SKILL.md
  • .claude/skills/uloop-simulate-keyboard/SKILL.md
  • Packages/src/Editor/FirstPartyTools/ControlPlayMode/Skill/SKILL.md
  • Packages/src/Editor/FirstPartyTools/SimulateKeyboard/Skill/SKILL.md
📝 Walkthrough

Walkthrough

The PR synchronizes duplicated skill documentation, clarifying Play Mode actions, keyboard hold syntax, mouse-input verification, pause-point trigger behavior, captured-variable semantics, and digit-key examples.

Changes

Skill documentation alignment

Layer / File(s) Summary
Play Mode and input descriptions
.agents/skills/*/SKILL.md, .claude/skills/*/SKILL.md, Packages/src/Editor/FirstPartyTools/*/Skill/SKILL.md
Descriptions clarify Play Mode actions, keyboard holds via Press --duration, and mouse actions such as LongPress, MoveDelta, and SmoothDelta.
Pause-point trigger and capture guidance
.agents/skills/uloop-pause-point/*, .claude/skills/uloop-pause-point/*, Packages/src/Editor/CliOnlyTools~/PausePoint/Skill/*
Pause-point guidance documents digit-key validation, trigger races, capture truncation, expectation checks, preview limits, and destroyed-object behavior.
Fast-progressing game trigger examples
.agents/skills/uloop-pause-point/references/*, .claude/skills/uloop-pause-point/references/*, Packages/src/Editor/CliOnlyTools~/PausePoint/Skill/references/*
One-call examples use Digit3 and document accepted Digit* and Numpad* formats.
Mouse-input verification rules
.agents/skills/uloop-simulate-mouse-input/SKILL.md, .claude/skills/uloop-simulate-mouse-input/SKILL.md, Packages/src/Editor/FirstPartyTools/SimulateMouseInput/Skill/SKILL.md
Verification guidance requires avoiding physical input and reading starting values immediately before simulated input.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed It accurately summarizes the main doc-only changes: skill description corrections and updated example commands.
Description check ✅ Passed It directly describes the documentation changes made in this PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/skill-description-alignment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The control-play-mode description omitted the Resume alias and the
simulate-keyboard description implied Press --duration is the only way
to hold a key, contradicting the skill body which also documents
open-ended KeyDown/KeyUp holds. Align both descriptions with the
documented action sets and regenerate the skill copies.
@hatayama
hatayama merged commit 1b99b98 into feature/cli-discoverability-integration Jul 26, 2026
1 check passed
@hatayama
hatayama deleted the fix/skill-description-alignment branch July 26, 2026 14:41
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