rule-script-runnerlisted
Install: claude install-skill Eliyce/paqad-ai
## What It Does
During `feature-development.checks`, runs every script registered in `docs/instructions/rules/rule-script-map.yml` against the changed files (diff-scoped) and aggregates the findings:
- `deterministic` findings → block the `checks` stage under `mode: strict`.
- `heuristic` findings → informational; routed to the `review` stage alongside `adversarial-review`. They never block.
- A script declaring `requires.binaries` that are missing emits a clean "missing dependency" result and is skipped — it never crashes the stage.
Results are written to `.paqad/scripts/rules/.cache/report.json`, hash-cached on `rule_files_hash × script_files_hash × target_files_hash` so unchanged inputs re-use the cached report.
## Use This When
- Invoked from `feature-development.checks` after the project command checks, when `checks.rule_compliance.mode` is `warn` or `strict`.
- Never invoked directly by the user; it is a workflow sub-step.
## Inputs
- `docs/instructions/rules/rule-script-map.yml` (read-only).
- The registered `.paqad/scripts/rules/**/*.mjs` scripts.
- The changed-files list (diff) for `scope: changed-files`; whole-tree enumeration otherwise.
- `checks.rule_compliance.mode` from `feature-development.yaml`.
## Procedure
1. Read `checks.rule_compliance.mode` from `feature-development.yaml`. If `off`, skip entirely.
2. Run the runner:
```
node scripts/run.mjs <project-root> <mode> [changed-file ...]
```
Exit 0 = stage may proceed. Exit 1 = `mode: strict