Awesome-omni-skill sv-dev
Development workflow for Security Verifiers. Use when asked to run tests, lint code, format files, set up the development environment, or perform CI checks on the codebase.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/testing-security/sv-dev" ~/.claude/skills/diegosouzapw-awesome-omni-skill-sv-dev && rm -rf "$T"
manifest:
skills/testing-security/sv-dev/SKILL.mdsource content
Security Verifiers Development
Testing, linting, formatting, and development workflow for the Security Verifiers codebase.
Quick Start
# Full setup (creates venv, installs all deps) make setup source .venv/bin/activate # Run all checks make check # lint + format + test
Testing
Run All Tests
make test
Test Specific Environment
make test-env E=network-logs make test-env E=config-verification make test-env E=code-vulnerability make test-env E=phishing-detection make test-env E=redteam-attack make test-env E=redteam-defense
Environment Shortcuts
make e1 # test network-logs make e2 # test config-verification make e3 # test code-vulnerability make e4 # test phishing-detection make e5 # test redteam-attack make e6 # test redteam-defense
Test Utils Package
make test-utils
Test with Coverage
make test-cov
Run Single Test
uv run pytest environments/sv-env-network-logs/sv_env_network_logs_test.py::TestNetworkLogParser::test_extracts_label_and_confidence -q
Linting and Formatting
Check Linting (no changes)
make lint
Fix Linting Issues
make lint-fix
Format Code
make format
Quick Fix (lint + format)
make quick-fix
Pre-commit Hooks
# Install and run hooks make pre-commit
This runs:
- Ruff linting
- Ruff formatting
- Trailing whitespace removal
- End-of-file fixes
CI Checks
Run the same checks as CI:
make ci
This runs:
ruff check . --exit-non-zero-on-fixpytest -q --tb=short
Environment Setup
Full Setup
make setup
Creates
.venv, installs all environments and dev tools.
Manual Steps
make venv # Create virtual environment make install # Install all environments make install-dev # Install dev tools (pytest, ruff, etc.)
Install Security Tools (Ubuntu)
For E2 config-verification, install pinned tool versions:
make install-linux # Installs kube-linter, opa, semgrep make check-tools # Verify versions match ci/versions.txt
Project Structure
security-verifiers/ ├── environments/ # Environment packages │ ├── sv-env-network-logs/ │ ├── sv-env-config-verification/ │ └── ... ├── sv_shared/ # Shared utilities (security-verifiers-utils) ├── scripts/ # Build, eval, data scripts ├── outputs/ # Evaluation outputs └── skills/ # Agent skills
Common Workflows
Before Committing
make check # or make quick-check
After Changing Environment Code
make test-env E=network-logs # test specific env make lint # check linting
After Changing Shared Code
make test-utils make test # run all tests to check for regressions
Cleaning Up
make clean # Build artifacts and caches make clean-outputs # Eval outputs (preserves logs) make clean-logs # Log files only make clean-all # Everything including venv
File Watch (requires entr)
# Install: brew install entr (macOS) or apt install entr (Ubuntu) make watch
Automatically runs tests when Python files change.
Environment Info
make info # Show environment status make list-envs # List environment names
Troubleshooting
venv issues:
make clean-all && make setup
Import errors: Ensure source .venv/bin/activate
Tool version mismatch: make check-tools then make install-linux
Pre-commit fails: make lint-fix && make format