Simulate ClawHub's ClawScan security review before publishing. This tool sends your SKILL.md content to a remote LLM service (that you configure) using the same system prompt as the real ClawHub scanner, allowing you to iterate on your skill documentation until it passes.
This tool sends data to a remote LLM API. When you run a scan:
What is transmitted: The entire text content of the SKILL.md file you specify, wrapped in the ClawScan evaluation prompt.
What is NOT transmitted: No other files, environment variables, credentials, or system information beyond the single file you point at.
Your responsibility: Do not scan files containing secrets, API keys, or proprietary content unless you trust your configured LLM provider's data retention policy.
# Basic scan (uses OPENAI_API_KEY env var)
python3 {baseDir}/scripts/scan.py path/to/SKILL.md
# Specify API key and model
python3 {baseDir}/scripts/scan.py path/to/SKILL.md --api-key sk-xxx --model gpt-5.5
# Use a custom OpenAI-compatible endpoint
python3 {baseDir}/scripts/scan.py path/to/SKILL.md --base-url https://your-gateway.com --model gpt-5.5
# Use Anthropic Claude
python3 {baseDir}/scripts/scan.py path/to/SKILL.md --provider anthropic --api-key sk-ant-xxx
# Run multiple times to check consistency
python3 {baseDir}/scripts/scan.py path/to/SKILL.md --runs 3
# Output raw JSON
python3 {baseDir}/scripts/scan.py path/to/SKILL.md --json
The real ClawHub scanner uses gpt-5.5 with reasoning.effort: "xhigh" and max_output_tokens: 16000. For the most accurate simulation, use gpt-5.5 via any OpenAI-compatible endpoint (default).
| Provider | Flag | Models | Accuracy vs ClawHub |
|---|---|---|---|
| ---------- | ------ | -------- | ------------------- |
| OpenAI-compatible | --provider openai (default) | gpt-5.5, gpt-5, gpt-5.1 | Closest to real results |
| Anthropic | --provider anthropic | claude-sonnet-4-6, claude-opus-4-6 | More lenient |
Note: the real scanner uses the Responses API with extended reasoning, which is not available through Chat Completions. Results may be slightly more lenient than production.
The scanner evaluates 5 dimensions, each rated ok, note, or concern:
> "A coherent skill with only purpose-aligned notes should remain benign with clear user guidance."
> "Shell commands, network calls, file I/O, credentials, or install steps are not malicious by themselves; classify based on purpose fit, scope, provenance, and artifact evidence."
| Variable | Description | Default |
|---|---|---|
| ---------- | ------------- | --------- |
OPENAI_API_KEY | API key for the LLM service | (required) |
OPENAI_BASE_URL | Base URL for OpenAI-compatible API | https://api.openai.com |
SCAN_MODEL | Model to use for scanning | gpt-5.5 |
SCAN_PROVIDER | Provider: openai or anthropic | openai |
The script reads your SKILL.md, wraps it in the same evaluation prompt that ClawHub's ClawScan uses (extracted from the open-source ClawHub repository), and sends it to your configured LLM provider for evaluation.
Simulation scope: This tool evaluates instruction-only skills (SKILL.md without accompanying code files). The scan context assumes a single-file skill with no static scan findings — matching the common case for instruction-only skills on ClawHub. Skills with code files, complex install steps, or multiple artifacts may receive different results from the real scanner which inspects the full package.
reasoning.effort: "xhigh" which may produce stricter results.共 2 个版本