Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Verify operating system hardening using CIS benchmarks with patch management, kernel hardening, and host-based firewall validation.
.claude/skills/williamzujkowski-operating-system-security-hardening-checker/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 140% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 147% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 7% | 0% |
Trigger conditions:
Not for:
Time normalization:
NOW_ET using NIST/time.gov semantics (America/New_York, ISO-8601): 2025-10-26T01:33:55-04:00NOW_ET for all citation access datesInput validation:
os_platform must be one of: linux, windows, both]os_distribution must be one of: ubuntu, rhel, centos, debian, windows-server] or omittedcis_level must be one of: 1, 2] (Level 1=basic, Level 2=comprehensive)Source freshness:
Patch Management:
Kernel Hardening (Linux):
Host-Based Firewall:
Services and Processes:
File Integrity Monitoring:
For each CIS control assessed:
cis_level=2 (defense-in-depth)Token budgets:
Ambiguity thresholds:
Abort conditions:
Severity classification:
Required fields:
json{ "os_platform": "linux|windows|both", "os_distribution": "ubuntu|rhel|centos|debian|windows-server or null", "cis_level": "1|2", "timestamp": "ISO-8601 with timezone", "findings": [ { "id": "unique identifier", "category": "patching|kernel|firewall|services|fim", "severity": "critical|high|medium|low", "cvss_score": 0.0, "title": "brief description", "description": "detailed finding", "cis_control": "CIS Benchmark control ID", "nist_control": "SP 800-53 control (e.g., CM-7, SI-2)", "remediation": "specific fix steps", "remediation_command": "shell command or script" } ], "cis_compliance_score": 0.0, "summary": { "total_findings": 0, "critical_count": 0, "high_count": 0, "overall_risk": "critical|high|medium|low" } }
Example: Linux Hardening Check
yaml# Input os_platform: "linux" os_distribution: "ubuntu" cis_level: "1" # Output (abbreviated) { "os_platform": "linux", "os_distribution": "ubuntu", "findings": [ { "id": "OS-001", "category": "kernel", "severity": "high", "cvss_score": 7.8, "title": "AppArmor not enabled", "cis_control": "CIS Ubuntu 1.6.1", "remediation_command": "systemctl enable apparmor && systemctl start apparmor" } ], "cis_compliance_score": 72.5, "summary": {"high_count": 1, "overall_risk": "high"} }
Token budgets:
Safety:
Auditability:
Determinism:
CIS Benchmarks:
NIST Standards:
Hardening Guides:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 17,609 | 13,658 | -22% | 1 | 1 | 0% | 4,136 | 5,172 | +25% | 0 | 0 | — |
case-02 | fail→pass | 14,564 | 11,962 | -18% | 1 | 1 | 0% | 3,301 | 4,676 | +42% | 0 | 0 | — |
case-03 | fail→pass | 8,734 | 12,142 | +39% | 1 | 1 | 0% | 1,885 | 4,532 | +140% | 0 | 0 | — |
case-04 | fail→pass | 9,792 | 11,999 | +23% | 1 | 1 | 0% | 1,750 | 4,330 | +147% | 0 | 0 | — |
case-05 | pass→fail | 13,175 | 15,663 | +19% | 1 | 1 | 0% | 1,471 | 4,405 | +199% | 0 | 0 | — |
case-06 | fail→fail | 9,160 | 11,228 | +23% | 1 | 1 | 0% | 1,660 | 4,211 | +154% | 0 | 0 | — |
case-07 | fail→fail | 12,705 | 10,724 | -16% | 1 | 1 | 0% | 2,726 | 4,223 | +55% | 0 | 0 | — |
case-08 | fail→pass | 15,613 | 7,460 | -52% | 1 | 1 | 0% | 3,568 | 3,815 | +7% | 0 | 0 | — |
case-09 | fail→pass | 12,152 | 10,817 | -11% | 1 | 1 | 0% | 1,287 | 2,953 | +129% | 0 | 0 | — |
case-10 | fail→pass | 7,586 | 5,680 | -25% | 1 | 1 | 0% | 1,648 | 3,445 | +109% | 0 | 0 | — |
case-11 | fail→pass | 6,713 | 9,750 | +45% | 1 | 1 | 0% | 1,484 | 4,140 | +179% | 0 | 0 | — |
case-12 | fail→fail | 9,555 | 6,461 | -32% | 1 | 1 | 0% | 2,010 | 3,379 | +68% | 0 | 0 | — |
case-13 | pass→pass | 12,981 | 8,856 | -32% | 1 | 1 | 0% | 3,049 | 4,152 | +36% | 0 | 0 | — |
case-14 | pass→pass | 6,007 | 10,036 | +67% | 1 | 1 | 0% | 1,298 | 4,379 | +237% | 0 | 0 | — |
case-15 | fail→pass | 8,816 | 7,147 | -19% | 1 | 1 | 0% | 2,087 | 3,588 | +72% | 0 | 0 | — |
case-16 | fail→pass | 7,507 | 8,391 | +12% | 1 | 1 | 0% | 1,587 | 3,933 | +148% | 0 | 0 | — |
case-17 | fail→pass | 6,544 | 6,918 | +6% | 1 | 1 | 0% | 1,140 | 3,641 | +219% | 0 | 0 | — |
case-18 | fail→pass | 8,832 | 6,415 | -27% | 1 | 1 | 0% | 1,783 | 3,404 | +91% | 0 | 0 | — |
case-19 | fail→pass | 9,408 | 7,067 | -25% | 1 | 1 | 0% | 2,004 | 3,696 | +84% | 0 | 0 | — |
case-20 | pass→pass | 10,195 | 5,717 | -44% | 1 | 1 | 0% | 2,304 | 3,198 | +39% | 0 | 0 | — |
case-21 | fail→pass | 16,757 | 10,372 | -38% | 1 | 1 | 0% | 3,679 | 4,252 | +16% | 0 | 0 | — |
case-22 | fail→pass | 11,190 | 13,466 | +20% | 1 | 1 | 0% | 2,815 | 5,110 | +82% | 0 | 0 | — |
case-23 | pass→pass | 6,664 | 5,823 | -13% | 1 | 1 | 0% | 1,376 | 3,283 | +139% | 0 | 0 | — |
case-24 | pass→pass | 3,514 | 2,576 | -27% | 1 | 1 | 0% | 697 | 2,524 | +262% | 0 | 0 | — |
case-25 | pass→pass | 11,866 | 6,777 | -43% | 1 | 1 | 0% | 2,502 | 3,490 | +39% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +56 percentage points is the difference between those two pass rates over the 25 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.