From 3131056af5853a2a0f1a1ea7f3c85498d7b2cfb0 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 02:41:11 +0000 Subject: [PATCH] refine: propose adjustments to 1 rule(s) Narrow R19 (`user-invocable: false`) to exclude standalone commands. The scorer fired on commands whose body is a single unconditional message, treating them as shared partials; 3/4 validated hits were self-false-positives. Added an explicit "Does not apply to" exception. Co-Authored-By: Claude Code --- skills/nlpm/rules/SKILL.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/skills/nlpm/rules/SKILL.md b/skills/nlpm/rules/SKILL.md index 9d59023be..7649faf36 100644 --- a/skills/nlpm/rules/SKILL.md +++ b/skills/nlpm/rules/SKILL.md @@ -72,6 +72,8 @@ Good: `\nContext: Developer refactoring auth module before PR\nuser: "C **R19. `user-invocable: false` is mandatory.** Without it, the partial appears as a user command. +*Does not apply to:* standalone commands, including commands whose body is a single unconditional message. `user-invocable: false` is only required for fragments designed to be imported by other commands — not for executable commands that happen to be simple. A command that issues one unconditional instruction is a command, not a shared partial. + **R20. `description` must state purpose.** What the partial does, which commands use it. ---