posix-shell-validator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited posix-shell-validator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Validate scripts for POSIX compliance and portability.
Invoke this skill when you need to:
# Bashism → POSIX Alternative
# Arrays
arr=(a b c) # Use: set -- a b c; or newline-separated
${arr[0]} # Use: $1 (after set --)
# [[ ]] test
[[ $x == y ]] # Use: [ "$x" = "y" ]
[[ $x =~ regex ]] # Use: case or expr
# String substitution
${var/old/new} # Use: $(echo "$var" | sed 's/old/new/')
${var,,} # Use: $(echo "$var" | tr '[:upper:]' '[:lower:]')
${var^^} # Use: $(echo "$var" | tr '[:lower:]' '[:upper:]')
# Arithmetic
((x++)) # Use: x=$((x + 1))
$((x**2)) # Use: $(expr $x \* $x) or awk
# Here strings
cat <<< "$var" # Use: echo "$var" | cat
# Process substitution
diff <(cmd1) <(cmd2) # Use: temp files
# Brace expansion
{1..10} # Use: seq 1 10
file.{txt,md} # Use: file.txt file.md
# Local variables
local var # Use: var= (function-scoped in many shells)
# Source
source file # Use: . file
# Function syntax
function name { } # Use: name() { }#!/bin/sh
# POSIX compliance validator
check_file() {
file="$1"
errors=0
# Check shebang
head -1 "$file" | grep -q '^#!/bin/bash' && {
echo "WARNING: $file uses bash shebang"
errors=$((errors + 1))
}
# Check for bashisms
bashisms='
\[\[
\(\(
\$\{[^}]*//
\$\{[^}]*,,
\$\{[^}]*\^\^
\$\{[^}]*:[-+=?][^}]*\}
<<<
<\(
>\(
\{[0-9]+\.\.[0-9]+\}
function[[:space:]]+[a-zA-Z_]
source[[:space:]]
declare[[:space:]]
local[[:space:]]
readonly[[:space:]]
'
for pattern in $bashisms; do
if grep -En "$pattern" "$file" 2>/dev/null; then
echo "BASHISM: $file contains: $pattern"
errors=$((errors + 1))
fi
done
return $errors
}
# Run checkbashisms if available
if command -v checkbashisms >/dev/null 2>&1; then
checkbashisms -f "$1"
else
check_file "$1"
fi~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.