Install
openclaw skills install @garsonjw/secure-skillScan skills in a project directory for security issues and generate a markdown table report, then install skills from a local registry. Combines static analysis of code and markdown files with supply chain checks. Use when auditing a skills directory, generating a security summary table, or installing skills from a local registry.
openclaw skills install @garsonjw/secure-skillTier: POWERFUL Category: Engineering / Security
Scans all skills found under a target directory for security issues — covering code execution risks, prompt injection patterns, and supply chain vulnerabilities — and produces a structured markdown table report summarising the verdict for each skill. Also installs skills from a local registry into a project's .claude/skills/ directory.
scripts/scan_skills.py — scans all skill subdirectories and writes a markdown reportscripts/install_skills.py — installs skills from a local registry.json into a projectpython scripts/scan_skills.py <skills_dir> [--output report.md] [--strict] [--json]
Examples:
# Scan all skills in a directory and write report to scan_report.md
python scripts/scan_skills.py .claude/skills
# Scan with strict mode (HIGH findings count as FAIL) and save to custom path
python scripts/scan_skills.py .claude/skills --output security_report.md --strict
# Output raw JSON results
python scripts/scan_skills.py .claude/skills --json
Open scripts/install_skills.py and edit the DEFAULT_SKILLS list near the top:
DEFAULT_SKILLS = [
"skill-name-1",
"skill-name-2",
]
Then run:
python scripts/install_skills.py <project_root>
To install specific skills without editing the file:
python scripts/install_skills.py <project_root> skill-a skill-b skill-c
The scan report is a markdown table with one row per skill:
| Skill | Code | Prompt | Supply Chain | Overall | Critical | High | Info |
|-------|------|--------|--------------|---------|----------|------|------|
| my-skill | PASS | PASS | PASS | PASS | 0 | 0 | 2 |
| bad-skill | FAIL | WARN | PASS | FAIL | 1 | 1 | 0 |
Overall verdict is the worst of the three individual verdicts. Exit code is 1 if any skill has a FAIL verdict, 0 otherwise.
For scanning: The target directory should contain skill subdirectories, each with a SKILL.md file.
For installation: A registry.json file must exist in the skill root directory (same folder as this SKILL.md). Each entry needs "name" and "path" fields:
[
{ "name": "my-skill", "path": "my-skill" },
{ "name": "another-skill", "path": "another-skill" }
]