Rules Reference
This section contains all 229 validation rules generated from knowledge-base/rules.json.
97 rules have automatic fixes.
| Rule | Name | Severity | Category | Auto-Fix |
|---|---|---|---|---|
| AGM-001 | Valid Markdown Structure | HIGH | AGENTS.md | Yes (safe) |
| AGM-002 | Missing Section Headers | MEDIUM | AGENTS.md | No |
| AGM-003 | Character Limit (Windsurf) | MEDIUM | AGENTS.md | No |
| AGM-004 | Missing Project Context | MEDIUM | AGENTS.md | No |
| AGM-005 | Platform-Specific Features Without Guard | MEDIUM | AGENTS.md | No |
| AGM-006 | Nested AGENTS.md Hierarchy | MEDIUM | AGENTS.md | No |
| AMP-001 | Invalid Amp Check Frontmatter | HIGH | Amp Checks | Yes (safe) |
| AMP-002 | Invalid Amp severity-default | MEDIUM | Amp Checks | Yes (safe) |
| AMP-003 | Invalid AGENTS.md globs Frontmatter for Amp | MEDIUM | Amp Checks | No |
| AMP-004 | Invalid Amp Settings Configuration | HIGH | Amp Checks | Yes (safe) |
| AMP-SK-001 | Amp Skill Uses Unsupported Field | MEDIUM | Amp Skills | Yes (safe/unsafe) |
| AS-001 | Missing Frontmatter | HIGH | Agent Skills | Yes (safe) |
| AS-002 | Missing Required Field: name | HIGH | Agent Skills | Yes (safe) |
| AS-003 | Missing Required Field: description | HIGH | Agent Skills | Yes (safe) |
| AS-004 | Invalid Name Format | HIGH | Agent Skills | Yes (safe/unsafe) |
| AS-005 | Name Starts/Ends with Hyphen | HIGH | Agent Skills | Yes (safe) |
| AS-006 | Consecutive Hyphens in Name | HIGH | Agent Skills | Yes (safe) |
| AS-007 | Reserved Name | HIGH | Agent Skills | No |
| AS-008 | Description Too Short | HIGH | Agent Skills | No |
| AS-009 | Description Contains XML | HIGH | Agent Skills | Yes (safe) |
| AS-010 | Missing Trigger Phrase | MEDIUM | Agent Skills | Yes (unsafe) |
| AS-011 | Compatibility Too Long | HIGH | Agent Skills | No |
| AS-012 | Content Exceeds 500 Lines | MEDIUM | Agent Skills | No |
| AS-013 | File Reference Too Deep | HIGH | Agent Skills | No |
| AS-014 | Windows Path Separator | HIGH | Agent Skills | Yes (safe) |
| AS-015 | Upload Size Exceeds 8MB | HIGH | Agent Skills | No |
| AS-016 | Skill Parse Error | HIGH | Agent Skills | No |
| AS-017 | Name Must Match Parent Directory | HIGH | Agent Skills | No |
| AS-018 | Description Uses First or Second Person | MEDIUM | Agent Skills | No |
| AS-019 | Vague Skill Name | MEDIUM | Agent Skills | No |
| CC-AG-001 | Missing Name Field | HIGH | Claude Agents | Yes (safe) |
| CC-AG-002 | Missing Description Field | HIGH | Claude Agents | Yes (safe) |
| CC-AG-003 | Invalid Model Value | HIGH | Claude Agents | Yes (unsafe) |
| CC-AG-004 | Invalid Permission Mode | HIGH | Claude Agents | Yes (unsafe) |
| CC-AG-005 | Referenced Skill Not Found | HIGH | Claude Agents | No |
| CC-AG-006 | Tool/Disallowed Conflict | HIGH | Claude Agents | No |
| CC-AG-007 | Agent Parse Error | HIGH | Claude Agents | No |
| CC-AG-008 | Invalid Memory Scope | HIGH | Claude Agents | Yes (unsafe) |
| CC-AG-009 | Invalid Tool Name in Tools List | HIGH | Claude Agents | No |
| CC-AG-010 | Invalid Tool Name in DisallowedTools | HIGH | Claude Agents | No |
| CC-AG-011 | Invalid Hooks in Agent Frontmatter | HIGH | Claude Agents | No |
| CC-AG-012 | Bypass Permissions Warning | HIGH | Claude Agents | Yes (unsafe) |
| CC-AG-013 | Invalid Skill Name Format | MEDIUM | Claude Agents | Yes (unsafe) |
| CC-HK-001 | Invalid Hook Event | HIGH | Claude Hooks | Yes (safe/unsafe) |
| CC-HK-002 | Prompt Hook on Wrong Event | HIGH | Claude Hooks | No |
| CC-HK-003 | Matcher Hint for Tool Events | LOW | Claude Hooks | No |
| CC-HK-004 | Matcher on Non-Tool Event | HIGH | Claude Hooks | Yes (safe) |
| CC-HK-005 | Missing Type Field | HIGH | Claude Hooks | Yes (safe) |
| CC-HK-006 | Missing Command Field | HIGH | Claude Hooks | No |
| CC-HK-007 | Missing Prompt Field | HIGH | Claude Hooks | No |
| CC-HK-008 | Script File Not Found | HIGH | Claude Hooks | No |
| CC-HK-009 | Dangerous Command Pattern | HIGH | Claude Hooks | No |
| CC-HK-010 | Timeout Policy | MEDIUM | Claude Hooks | Yes (safe) |
| CC-HK-011 | Invalid Timeout Value | HIGH | Claude Hooks | Yes (unsafe) |
| CC-HK-012 | Hooks Parse Error | HIGH | Claude Hooks | No |
| CC-HK-013 | Async on Non-Command Hook | HIGH | Claude Hooks | Yes (safe) |
| CC-HK-014 | Once Outside Skill/Agent Frontmatter | MEDIUM | Claude Hooks | Yes (safe) |
| CC-HK-015 | Model on Command Hook | MEDIUM | Claude Hooks | Yes (safe) |
| CC-HK-016 | Validate Hook Type Agent | HIGH | Claude Hooks | Yes (unsafe) |
| CC-HK-017 | Prompt/Agent Hook Missing $ARGUMENTS | MEDIUM | Claude Hooks | Yes (safe) |
| CC-HK-018 | Matcher on UserPromptSubmit/Stop | LOW | Claude Hooks | Yes (safe) |
| CC-HK-019 | Deprecated Setup Event | MEDIUM | Claude Hooks | Yes (unsafe) |
| CC-MEM-001 | Invalid Import Path | HIGH | Claude Memory | No |
| CC-MEM-002 | Circular Import | HIGH | Claude Memory | No |
| CC-MEM-003 | Import Depth Exceeds 5 | HIGH | Claude Memory | No |
| CC-MEM-004 | Invalid Command Reference | MEDIUM | Claude Memory | No |
| CC-MEM-005 | Generic Instruction | HIGH | Claude Memory | Yes (safe) |
| CC-MEM-006 | Negative Without Positive | HIGH | Claude Memory | No |
| CC-MEM-007 | Weak Constraint Language | HIGH | Claude Memory | Yes (safe/unsafe) |
| CC-MEM-008 | Critical Content in Middle | HIGH | Claude Memory | No |
| CC-MEM-009 | Token Count Exceeded | MEDIUM | Claude Memory | No |
| CC-MEM-010 | README Duplication | MEDIUM | Claude Memory | No |
| CC-MEM-011 | Invalid Paths Glob in Rules | HIGH | Claude Memory | No |
| CC-MEM-012 | Rules File Unknown Frontmatter Key | MEDIUM | Claude Memory | Yes (unsafe) |
| CC-PL-001 | Plugin Manifest Not in .claude-plugin/ | HIGH | Claude Plugins | No |
| CC-PL-002 | Components in .claude-plugin/ | HIGH | Claude Plugins | No |
| CC-PL-003 | Invalid Semver | HIGH | Claude Plugins | Yes (safe) |
| CC-PL-004 | Missing Required/Recommended Plugin Field | HIGH | Claude Plugins | No |
| CC-PL-005 | Empty Plugin Name | HIGH | Claude Plugins | Yes (unsafe) |
| CC-PL-006 | Plugin Parse Error | HIGH | Claude Plugins | No |
| CC-PL-007 | Invalid Component Path | HIGH | Claude Plugins | Yes (safe) |
| CC-PL-008 | Component Inside .claude-plugin | HIGH | Claude Plugins | No |
| CC-PL-009 | Invalid Author Object | MEDIUM | Claude Plugins | No |
| CC-PL-010 | Invalid Homepage URL | MEDIUM | Claude Plugins | No |
| CC-SK-001 | Invalid Model Value | HIGH | Claude Skills | Yes (unsafe) |
| CC-SK-002 | Invalid Context Value | HIGH | Claude Skills | Yes (unsafe) |
| CC-SK-003 | Context Without Agent | HIGH | Claude Skills | Yes (unsafe) |
| CC-SK-004 | Agent Without Context | HIGH | Claude Skills | Yes (unsafe) |
| CC-SK-005 | Invalid Agent Type | HIGH | Claude Skills | Yes (unsafe) |
| CC-SK-006 | Dangerous Auto-Invocation | HIGH | Claude Skills | Yes (unsafe) |
| CC-SK-007 | Unrestricted Bash | MEDIUM | Claude Skills | Yes (unsafe) |
| CC-SK-008 | Unknown Tool Name | HIGH | Claude Skills | No |
| CC-SK-009 | Too Many Injections | MEDIUM | Claude Skills | No |
| CC-SK-010 | Invalid Hooks in Skill Frontmatter | HIGH | Claude Skills | No |
| CC-SK-011 | Unreachable Skill | HIGH | Claude Skills | Yes (unsafe) |
| CC-SK-012 | Argument Hint Without $ARGUMENTS | MEDIUM | Claude Skills | Yes (unsafe) |
| CC-SK-013 | Fork Context Without Actionable Instructions | MEDIUM | Claude Skills | No |
| CC-SK-014 | Invalid disable-model-invocation Type | HIGH | Claude Skills | Yes (safe) |
| CC-SK-015 | Invalid user-invocable Type | HIGH | Claude Skills | Yes (safe) |
| CC-SK-016 | Indexed $ARGUMENTS Without argument-hint | MEDIUM | Claude Skills | No |
| CC-SK-017 | Unknown Frontmatter Field | MEDIUM | Claude Skills | No |
| CDX-000 | TOML Parse Error | HIGH | Codex CLI | No |
| CDX-001 | Invalid Approval Mode | HIGH | Codex CLI | Yes (unsafe) |
| CDX-002 | Invalid Full Auto Error Mode | HIGH | Codex CLI | Yes (unsafe) |
| CDX-003 | AGENTS.override.md in Version Control | MEDIUM | Codex CLI | No |
| CDX-004 | Unknown Config Key | MEDIUM | Codex CLI | Yes (safe) |
| CDX-005 | project_doc_max_bytes Exceeds Limit | HIGH | Codex CLI | No |
| CL-SK-001 | Cline Skill Uses Unsupported Field | MEDIUM | Cline Skills | Yes (safe/unsafe) |
| CLN-001 | Empty Cline Rules File | HIGH | Cline | No |
| CLN-002 | Invalid Paths Glob in Cline Rules | HIGH | Cline | No |
| CLN-003 | Unknown Frontmatter Key in Cline Rules | MEDIUM | Cline | Yes (unsafe) |
| CLN-004 | Scalar Paths in Cline Rules | HIGH | Cline | Yes (safe) |
| COP-001 | Empty Copilot Instruction File | HIGH | GitHub Copilot | No |
| COP-002 | Invalid Frontmatter in Scoped Instructions | HIGH | GitHub Copilot | Yes (unsafe) |
| COP-003 | Invalid Glob Pattern in applyTo | HIGH | GitHub Copilot | No |
| COP-004 | Unknown Frontmatter Keys | MEDIUM | GitHub Copilot | Yes (safe) |
| COP-005 | Invalid excludeAgent Value | HIGH | GitHub Copilot | Yes (unsafe) |
| COP-006 | File Length Limit | MEDIUM | GitHub Copilot | No |
| COP-007 | Custom Agent Missing Description | HIGH | GitHub Copilot | No |
| COP-008 | Custom Agent Unknown Frontmatter Field | MEDIUM | GitHub Copilot | Yes (safe) |
| COP-009 | Custom Agent Invalid Target | HIGH | GitHub Copilot | Yes (unsafe) |
| COP-010 | Custom Agent Uses Deprecated infer Field | MEDIUM | GitHub Copilot | Yes (safe) |
| COP-011 | Custom Agent Prompt Body Exceeds Length Limit | HIGH | GitHub Copilot | No |
| COP-012 | Custom Agent Uses GitHub.com Unsupported Fields | MEDIUM | GitHub Copilot | Yes (safe) |
| COP-013 | Prompt File Empty Body | HIGH | GitHub Copilot | No |
| COP-014 | Prompt File Unknown Frontmatter Field | MEDIUM | GitHub Copilot | Yes (safe) |
| COP-015 | Prompt File Invalid Agent Mode | HIGH | GitHub Copilot | Yes (safe) |
| COP-017 | Copilot Hooks Schema Validation | HIGH | GitHub Copilot | No |
| COP-018 | Copilot Setup Steps Missing or Invalid copilot-setup-steps Job | HIGH | GitHub Copilot | No |
| CP-SK-001 | Copilot Skill Uses Unsupported Field | MEDIUM | Copilot Skills | Yes (safe/unsafe) |
| CR-SK-001 | Cursor Skill Uses Unsupported Field | MEDIUM | Cursor Skills | Yes (safe/unsafe) |
| CUR-001 | Empty Cursor Rule File | HIGH | Cursor | No |
| CUR-002 | Missing Frontmatter in .mdc File | MEDIUM | Cursor | Yes (unsafe) |
| CUR-003 | Invalid YAML Frontmatter | HIGH | Cursor | No |
| CUR-004 | Invalid Glob Pattern in globs Field | HIGH | Cursor | No |
| CUR-005 | Unknown Frontmatter Keys | MEDIUM | Cursor | Yes (safe) |
| CUR-006 | Legacy .cursorrules File Detected | MEDIUM | Cursor | No |
| CUR-007 | alwaysApply with Redundant globs | MEDIUM | Cursor | Yes (safe) |
| CUR-008 | Invalid alwaysApply Type | HIGH | Cursor | Yes (safe) |
| CUR-009 | Missing Description for Agent-Requested Rule | MEDIUM | Cursor | No |
| CUR-010 | Invalid Cursor Hooks Schema | HIGH | Cursor | No |
| CUR-011 | Unknown Cursor Hook Event Name | MEDIUM | Cursor | Yes (safe) |
| CUR-012 | Hook Entry Missing Required Command Field | HIGH | Cursor | No |
| CUR-013 | Invalid Cursor Hook Type Value | HIGH | Cursor | Yes (safe) |
| CUR-014 | Invalid Cursor Subagent Frontmatter | HIGH | Cursor | No |
| CUR-015 | Empty Cursor Subagent Body | MEDIUM | Cursor | No |
| CUR-016 | Invalid Cursor Environment Schema | HIGH | Cursor | No |
| CX-SK-001 | Codex Skill Uses Unsupported Field | MEDIUM | Codex Skills | Yes (safe/unsafe) |
| GM-001 | Invalid Markdown Structure in GEMINI.md | HIGH | Gemini CLI | Yes (safe) |
| GM-002 | Missing Section Headers in GEMINI.md | MEDIUM | Gemini CLI | No |
| GM-003 | Missing Project Context in GEMINI.md | MEDIUM | Gemini CLI | No |
| GM-004 | Invalid Hooks Configuration in Gemini Settings | MEDIUM | Gemini CLI | No |
| GM-005 | Invalid Extension Manifest | HIGH | Gemini CLI | No |
| GM-006 | Invalid .geminiignore File | LOW | Gemini CLI | No |
| GM-007 | @import File Not Found in GEMINI.md | MEDIUM | Gemini CLI | No |
| GM-008 | Invalid Context File Name Configuration | LOW | Gemini CLI | Yes (safe) |
| GM-009 | Settings.json Parse Error | HIGH | Gemini CLI | Yes (safe) |
| KIRO-001 | Invalid Steering File Inclusion Mode | HIGH | Kiro Steering | Yes (safe) |
| KIRO-002 | Missing Required Fields for Inclusion Mode | HIGH | Kiro Steering | No |
| KIRO-003 | Invalid fileMatchPattern Glob | MEDIUM | Kiro Steering | No |
| KIRO-004 | Empty Kiro Steering File | MEDIUM | Kiro Steering | No |
| KR-SK-001 | Kiro Skill Uses Unsupported Field | MEDIUM | Kiro Skills | Yes (safe/unsafe) |
| MCP-001 | Invalid JSON-RPC Version | HIGH | MCP | Yes (safe) |
| MCP-002 | Missing Required Tool Field | HIGH | MCP | No |
| MCP-003 | Invalid JSON Schema | HIGH | MCP | No |
| MCP-004 | Missing Tool Description | HIGH | MCP | No |
| MCP-005 | Tool Without User Consent | HIGH | MCP | No |
| MCP-006 | Untrusted Annotations | HIGH | MCP | No |
| MCP-007 | MCP Parse Error | HIGH | MCP | No |
| MCP-008 | Protocol Version Mismatch | MEDIUM | MCP | Yes (unsafe) |
| MCP-009 | Missing command for stdio server | HIGH | MCP | No |
| MCP-010 | Missing url for http/sse server | HIGH | MCP | No |
| MCP-011 | Invalid MCP server type | HIGH | MCP | Yes (unsafe) |
| MCP-012 | Deprecated SSE transport | HIGH | MCP | Yes (unsafe) |
| MCP-013 | Invalid Tool Name Format | HIGH | MCP | Yes (safe) |
| MCP-014 | Invalid outputSchema Definition | HIGH | MCP | No |
| MCP-015 | Missing Resource Required Fields | HIGH | MCP | No |
| MCP-016 | Missing Prompt Required Name | HIGH | MCP | No |
| MCP-017 | Non-HTTPS Remote HTTP Server URL | HIGH | MCP | Yes (safe) |
| MCP-018 | Potential Plaintext Secret in MCP Env | MEDIUM | MCP | No |
| MCP-019 | Potentially Dangerous Stdio Command | MEDIUM | MCP | No |
| MCP-020 | Unknown Capability Declaration Key | MEDIUM | MCP | No |
| MCP-021 | Wildcard HTTP Interface Binding | MEDIUM | MCP | Yes (safe) |
| MCP-022 | Invalid args Array Type | HIGH | MCP | No |
| MCP-023 | Duplicate MCP Server Names | HIGH | MCP | No |
| MCP-024 | Empty MCP Server Configuration | HIGH | MCP | No |
| OC-001 | Invalid Share Mode | HIGH | OpenCode | Yes (unsafe) |
| OC-002 | Invalid Instruction Path | HIGH | OpenCode | No |
| OC-003 | opencode.json Parse Error | HIGH | OpenCode | No |
| OC-004 | Unknown Config Key | MEDIUM | OpenCode | No |
| OC-006 | Remote URL in Instructions | LOW | OpenCode | No |
| OC-007 | Invalid Agent Definition | MEDIUM | OpenCode | No |
| OC-008 | Invalid Permission Config | HIGH | OpenCode | Yes (unsafe) |
| OC-009 | Invalid Variable Substitution | MEDIUM | OpenCode | No |
| OC-SK-001 | OpenCode Skill Uses Unsupported Field | MEDIUM | OpenCode Skills | Yes (safe/unsafe) |
| PE-001 | Lost in the Middle | MEDIUM | Prompt Engineering | No |
| PE-002 | Chain-of-Thought on Simple Task | MEDIUM | Prompt Engineering | No |
| PE-003 | Weak Imperative Language | MEDIUM | Prompt Engineering | Yes (unsafe) |
| PE-004 | Ambiguous Instructions | MEDIUM | Prompt Engineering | No |
| PE-005 | Redundant Generic Instructions | MEDIUM | Prompt Engineering | Yes (safe) |
| PE-006 | Negative-Only Instructions | MEDIUM | Prompt Engineering | No |
| RC-SK-001 | Roo Code Skill Uses Unsupported Field | MEDIUM | Roo Code Skills | Yes (safe/unsafe) |
| REF-001 | Import File Not Found | HIGH | References | No |
| REF-002 | Broken Markdown Link | HIGH | References | No |
| REF-003 | Duplicate Import | MEDIUM | References | Yes (safe) |
| REF-004 | Non-Markdown Import | MEDIUM | References | No |
| ROO-001 | Empty Roo Code Rule File | HIGH | Roo Code | No |
| ROO-002 | Invalid .roomodes Configuration | HIGH | Roo Code | No |
| ROO-003 | Invalid .rooignore File | MEDIUM | Roo Code | No |
| ROO-004 | Invalid Mode Slug in Rule Directory | MEDIUM | Roo Code | No |
| ROO-005 | Invalid .roo/mcp.json Configuration | HIGH | Roo Code | No |
| ROO-006 | Mode Slug Not Recognized | MEDIUM | Roo Code | No |
| VER-001 | No Tool/Spec Versions Pinned | LOW | Version Awareness | No |
| WS-001 | Empty Windsurf Rule File | MEDIUM | windsurf | No |
| WS-002 | Windsurf Rule File Exceeds Character Limit | HIGH | windsurf | No |
| WS-003 | Empty or Oversized Windsurf Workflow File | MEDIUM | windsurf | No |
| WS-004 | Legacy .windsurfrules File Detected | LOW | windsurf | No |
| WS-SK-001 | Windsurf Skill Uses Unsupported Field | MEDIUM | Windsurf Skills | Yes (safe/unsafe) |
| XML-001 | Unclosed XML Tag | HIGH | XML | Yes (unsafe) |
| XML-002 | Mismatched Closing Tag | HIGH | XML | Yes (unsafe) |
| XML-003 | Unmatched Closing Tag | HIGH | XML | Yes (unsafe) |
| XP-001 | Platform-Specific Feature in Generic Config | HIGH | Cross-Platform | No |
| XP-002 | AGENTS.md Platform Compatibility | MEDIUM | Cross-Platform | No |
| XP-003 | Hard-Coded Platform Paths | MEDIUM | Cross-Platform | No |
| XP-004 | Conflicting Build/Test Commands | MEDIUM | Cross-Platform | No |
| XP-005 | Conflicting Tool Constraints | HIGH | Cross-Platform | No |
| XP-006 | Multiple Layers Without Documented Precedence | MEDIUM | Cross-Platform | No |
| XP-007 | AGENTS.md Exceeds Codex Byte Limit | MEDIUM | Cross-Platform | No |
| XP-SK-001 | Skill Uses Client-Specific Features | LOW | Cross-Platform | No |