Content Intelligence¶
Rules that go beyond structural validation to analyze the quality of instruction files. Built on attention research (lost-in-the-middle, instruction-following limits) and prompt engineering best practices. Most support LLM-powered fixes via skillsaw fix --llm. See the research page for the full research basis behind each rule.
| Rule ID | Description | Default Severity | Autofix |
|---|---|---|---|
content-weak-language |
Detect hedging, vague, and non-actionable language in instruction files | warning (auto) | llm |
content-tautological |
Detect tautological instructions that the model already follows by default | warning (auto) | llm |
content-critical-position |
Detect critical instructions in the middle of files where LLM attention is lowest | info (auto) | llm |
content-redundant-with-tooling |
Detect instructions that duplicate .editorconfig, ESLint, Prettier, or tsconfig settings | warning (auto) | llm |
content-instruction-budget |
Check if instruction count in a file exceeds LLM instruction budget (~150) | warning (auto) | llm |
content-negative-only |
Detect prohibitions without a positive alternative (agent has no path forward) | info (auto) | llm |
content-section-length |
Warn about markdown sections longer than ~500 tokens | info (auto) | llm |
content-contradiction |
Detect likely contradictions within instruction files using keyword-pair heuristics | warning (auto) | llm |
content-hook-candidate |
Detect instructions that should be automated as hooks instead of prose instructions | info (auto) | llm |
content-actionability-score |
Score instruction files on actionability (verb density, commands, file references) | info (auto) | llm |
content-cognitive-chunks |
Check that instruction files are organized into cognitive chunks with headings | info (auto) | llm |
content-embedded-secrets |
Detect potential API keys, tokens, and passwords in instruction files | error (auto) | llm |
content-banned-references |
Detect banned or deprecated model names, APIs, and custom patterns | warning (auto) | llm |
content-inconsistent-terminology |
Detect inconsistent terminology across instruction files (e.g., mixing 'directory' and 'folder') | info (auto) | llm |
content-broken-internal-reference |
Detect markdown links where the target file does not exist | warning (auto) | auto |
content-unlinked-internal-reference |
Detect bare path-like strings not wrapped in markdown link syntax | info (auto) | auto |
content-placeholder-text |
Detect TODO markers, bracket placeholders, and unfilled template text | warning (auto) | - |
content-critical-position parameters:
| Parameter | Description | Default |
|---|---|---|
min-lines |
Minimum file length (in lines) before the rule activates | 50 |
content-section-length parameters:
| Parameter | Description | Default |
|---|---|---|
max-tokens |
Maximum estimated tokens per section before triggering a warning | 500 |
content-banned-references parameters:
| Parameter | Description | Default |
|---|---|---|
banned |
Additional banned patterns as list of {pattern, message} dicts | [] |
skip-builtins |
Disable built-in deprecated model/API checks | false |
content-unlinked-internal-reference parameters:
| Parameter | Description | Default |
|---|---|---|
patterns |
Glob patterns for path-like strings to flag when unlinked | ["./**/*.*", "references/**/*.md"] |