@@ -35,8 +35,7 @@ Flags shared by `scan` and `scan-all`:
3535| ` --enable-meta ` | off | Enable the meta (cross-correlation) analyzer |
3636| ` --fail-on-findings ` | off | Exit non-zero if critical or high findings are reported; equivalent to ` --fail-on-severity high ` (CI gate) |
3737| ` --fail-on-severity LEVEL ` | off | Exit non-zero if findings at or above LEVEL exist (critical, high, medium, low, info) |
38- | ` --lenient ` | off | Tolerate malformed skills: coerce bad fields, fill defaults, and continue instead of failing. When ` SKILL.md ` is absent, falls back to scanning ` .md ` files in the directory |
39- | ` --skill-file FILENAME ` | ` SKILL.md ` | Custom metadata filename to use instead of ` SKILL.md ` |
38+ | ` --lenient ` | off | Tolerate malformed YAML / missing fields: coerce bad fields, fill defaults, and continue instead of failing. Binary and non-UTF-8 files always fail. |
4039| ` --detailed ` | off | Include full evidence in output |
4140| ` --compact ` | off | Minimize output (JSON: no pretty-print) |
4241| ` --verbose ` | off | Verbose logging |
@@ -50,7 +49,8 @@ Command: `python -m skill_scanner.cli.cli --help`
5049
5150``` text
5251usage: cli.py [-h] [--version]
53- {scan,scan-all,list-analyzers,validate-rules,generate-policy,configure-policy,interactive} ...
52+ {scan,scan-all,list-analyzers,validate-rules,generate-policy,configure-policy,interactive}
53+ ...
5454
5555Skill Scanner - Security scanner for agent skills packages
5656
@@ -104,10 +104,11 @@ usage: cli.py scan [-h] [--format {summary,json,markdown,table,sarif,html}]
104104 [--vt-upload-files] [--use-aidefense]
105105 [--aidefense-api-key AIDEFENSE_API_KEY]
106106 [--aidefense-api-url AIDEFENSE_API_URL]
107- [--llm-provider {anthropic,openai}]
107+ [--llm-provider {anthropic,openai,openai-compatible }]
108108 [--llm-consensus-runs N] [--llm-max-tokens N]
109109 [--use-trigger] [--enable-meta] [--policy PRESET_OR_PATH]
110- [--lenient] [--custom-rules PATH] [--taxonomy PATH]
110+ [--lenient] [--skill-file FILENAME] [--custom-rules PATH]
111+ [--rule-packs PACK [PACK ...]] [--taxonomy PATH]
111112 [--threat-mapping PATH]
112113 skill_directory
113114
@@ -121,7 +122,8 @@ options:
121122 multiple times to produce several reports in one run,
122123 e.g. --format markdown --format sarif. Use 'sarif' for
123124 GitHub Code Scanning, 'html' for interactive report.
124- --output, -o OUTPUT Default output file path (overridden by --output-<fmt>
125+ --output OUTPUT, -o OUTPUT
126+ Default output file path (overridden by --output-<fmt>
125127 for a specific format)
126128 --output-json OUTPUT_JSON
127129 Write JSON report to this file
@@ -157,8 +159,9 @@ options:
157159 AI Defense API key (or set AI_DEFENSE_API_KEY)
158160 --aidefense-api-url AIDEFENSE_API_URL
159161 AI Defense API URL (optional, defaults to US region)
160- --llm-provider {anthropic,openai}
161- LLM provider
162+ --llm-provider {anthropic,openai,openai-compatible}
163+ LLM provider shortcut or explicit OpenAI-compatible
164+ override
162165 --llm-consensus-runs N
163166 Run LLM analysis N times and keep only findings with
164167 majority agreement (reduces false positives, increases
@@ -171,9 +174,19 @@ options:
171174 Scan policy: preset name (strict, balanced,
172175 permissive) or path to custom YAML
173176 --lenient Tolerate malformed skills: coerce bad fields, fill
174- defaults, and continue instead of failing
177+ defaults, and continue instead of failing. When
178+ SKILL.md is absent, falls back to scanning .md files
179+ in the directory as instruction bodies (supports non-
180+ Codex/Cursor formats such as Claude Code commands).
181+ --skill-file FILENAME
182+ Custom metadata filename to use instead of SKILL.md
183+ (e.g. README.md)
175184 --custom-rules PATH Path to directory containing custom YARA rules (.yara
176185 files)
186+ --rule-packs PACK [PACK ...]
187+ Additional signature rule packs to enable (e.g.
188+ 'atr'). Use '--rule-packs list' to show available
189+ packs.
177190 --taxonomy PATH Path to custom taxonomy JSON/YAML (overrides
178191 SKILL_SCANNER_TAXONOMY_PATH)
179192 --threat-mapping PATH
@@ -206,11 +219,12 @@ usage: cli.py scan-all [-h] [--recursive] [--check-overlap]
206219 [--use-aidefense]
207220 [--aidefense-api-key AIDEFENSE_API_KEY]
208221 [--aidefense-api-url AIDEFENSE_API_URL]
209- [--llm-provider {anthropic,openai}]
222+ [--llm-provider {anthropic,openai,openai-compatible }]
210223 [--llm-consensus-runs N] [--llm-max-tokens N]
211224 [--use-trigger] [--enable-meta]
212225 [--policy PRESET_OR_PATH] [--lenient]
213- [--custom-rules PATH] [--taxonomy PATH]
226+ [--skill-file FILENAME] [--custom-rules PATH]
227+ [--rule-packs PACK [PACK ...]] [--taxonomy PATH]
214228 [--threat-mapping PATH]
215229 skills_directory
216230
@@ -226,7 +240,8 @@ options:
226240 multiple times to produce several reports in one run,
227241 e.g. --format markdown --format sarif. Use 'sarif' for
228242 GitHub Code Scanning, 'html' for interactive report.
229- --output, -o OUTPUT Default output file path (overridden by --output-<fmt>
243+ --output OUTPUT, -o OUTPUT
244+ Default output file path (overridden by --output-<fmt>
230245 for a specific format)
231246 --output-json OUTPUT_JSON
232247 Write JSON report to this file
@@ -262,8 +277,9 @@ options:
262277 AI Defense API key (or set AI_DEFENSE_API_KEY)
263278 --aidefense-api-url AIDEFENSE_API_URL
264279 AI Defense API URL (optional, defaults to US region)
265- --llm-provider {anthropic,openai}
266- LLM provider
280+ --llm-provider {anthropic,openai,openai-compatible}
281+ LLM provider shortcut or explicit OpenAI-compatible
282+ override
267283 --llm-consensus-runs N
268284 Run LLM analysis N times and keep only findings with
269285 majority agreement (reduces false positives, increases
@@ -276,9 +292,19 @@ options:
276292 Scan policy: preset name (strict, balanced,
277293 permissive) or path to custom YAML
278294 --lenient Tolerate malformed skills: coerce bad fields, fill
279- defaults, and continue instead of failing
295+ defaults, and continue instead of failing. When
296+ SKILL.md is absent, falls back to scanning .md files
297+ in the directory as instruction bodies (supports non-
298+ Codex/Cursor formats such as Claude Code commands).
299+ --skill-file FILENAME
300+ Custom metadata filename to use instead of SKILL.md
301+ (e.g. README.md)
280302 --custom-rules PATH Path to directory containing custom YARA rules (.yara
281303 files)
304+ --rule-packs PACK [PACK ...]
305+ Additional signature rule packs to enable (e.g.
306+ 'atr'). Use '--rule-packs list' to show available
307+ packs.
282308 --taxonomy PATH Path to custom taxonomy JSON/YAML (overrides
283309 SKILL_SCANNER_TAXONOMY_PATH)
284310 --threat-mapping PATH
@@ -320,7 +346,8 @@ usage: cli.py generate-policy [-h] [--output OUTPUT]
320346
321347options:
322348 -h, --help show this help message and exit
323- --output, -o OUTPUT Output file path
349+ --output OUTPUT, -o OUTPUT
350+ Output file path
324351 --preset {strict,balanced,permissive}
325352 Base preset
326353```
@@ -338,9 +365,11 @@ Command: `python -m skill_scanner.cli.cli configure-policy --help`
338365usage: cli.py configure-policy [-h] [--output OUTPUT] [--input INPUT]
339366
340367options:
341- -h, --help show this help message and exit
342- --output, -o OUTPUT Output file path
343- --input, -i INPUT Load existing policy YAML for editing
368+ -h, --help show this help message and exit
369+ --output OUTPUT, -o OUTPUT
370+ Output file path
371+ --input INPUT, -i INPUT
372+ Load existing policy YAML for editing
344373```
345374
346375</details >
0 commit comments