Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions .agents/skills/rule-validate/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: rule-validate
description: Validate implemented React Doctor rules before PR or merge. Use after rule tests pass to review correctness, run RDE against OSS, inspect false positives, write PR descriptions, and triage bot or human review comments.
description: Validate implemented React Doctor rules before PR or merge. Use after rule tests pass to review correctness, run RDE against OSS, inspect false positives, generate changesets, write PR descriptions, and triage bot or human review comments.
---

# Rule Validate
Expand All @@ -11,7 +11,7 @@ Pipeline:

1. `rule-research` defines the rule contract.
2. `rule-writing` turns the contract into tests and implementation.
3. `rule-validate` verifies noise, correctness, PR copy, and review feedback.
3. `rule-validate` verifies noise, correctness, changesets, PR copy, and review feedback.

Validation is not just running tests. It checks whether the rule still matches the contract on real code.

Expand Down Expand Up @@ -135,6 +135,18 @@ After:

Do not include the eval table if RDE was not run; state why it was skipped when useful.

## Changeset

Generate a changeset after validation and before PR copy for user-facing changes to published packages.

Required handling:

- Use `nr changeset` unless the user explicitly asks for a manual file.
- Select the affected published package or packages.
- Use `patch` for new rules, bug fixes, false-positive fixes, diagnostic wording changes, and test-backed behavior refinements unless the release impact clearly requires otherwise.
- Summarize the user-visible behavior, including the rule name and the runtime problem it catches or avoids.
- Skip the changeset only for private-only, docs-only, test-only, or tooling-only changes, and record why it was skipped.

## Review Comment Triage

Classify each bot or human review comment:
Expand All @@ -158,6 +170,7 @@ Validation summary:
- <RDE summary or skip reason>
- <false positives found and fixed>
- <regression tests added>
- <changeset path or skip reason>

PR-ready notes:

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/run-inspect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ export const runInspect = <HooksR = never>(
onFileProgress: (scannedFileCount, totalFileCount) => {
lastReportedTotalFileCount = totalFileCount;
Effect.runSync(
scanProgress.update(`Scanning (${scannedFileCount}/${totalFileCount})...`),
scanProgress.update(`Scanning files (${scannedFileCount}/${totalFileCount})...`),
);
},
})
Expand Down
Loading