resolve-best-practice-conflict
Resolve Best Practice Conflict
When two active skills disagree, record which wins — once — so the same conflict never surfaces again.
Why This Is Best Practice
Adopted by: Every major developer tool that supports multiple rule sources implements an explicit precedence model: ESLint (config cascade with override), VS Code (workspace → user → default settings), Git (repo → global → system config), TypeScript (tsconfig extends). Conflict-without-precedence is universally rejected at scale because it forces the same decision repeatedly. Impact: Without explicit priority, users re-resolve the same skill conflict every session. The XDG Base Directory Specification (freedesktop.org) documents that absent a resolution order, tools produce inconsistent behavior across invocations — the primary cause of "why did it do that?" confusion in multi-config environments. RFC 2119 precedence modeling (IETF) is the canonical pattern for deterministic rule application in multi-source systems. Why best: The alternative — applying whichever skill the AI happens to retrieve first — produces non-deterministic behavior. Explicit user-defined priority is deterministic, auditable, and revocable. Context qualifiers narrow precedence to the exact situations where the user actually wants it, avoiding over-application of a blanket rule.
Sources: XDG Base Directory Specification (freedesktop.org); RFC 2119 (IETF); VS Code settings precedence documentation; ESLint configuration cascade documentation
Steps
Step 1: Identify the conflict
Mode A — explicit: User names two skills that conflict (e.g., "SOLID and KISS both apply here — which wins?").
Mode B — proactive scan: User asks to scan their preferences file for conflicts, OR you are about to apply two skills and notice they give contradictory guidance.