ubs-scanner
Bug scanning with UBS (Ultimate Bug Scanner). Use before commits, when scanning for bugs, when the user mentions "ubs", "bugs", "scan", or "code quality".
When & Why to Use This Skill
UBS (Ultimate Bug Scanner) is a comprehensive static analysis skill for Claude designed to automate bug detection and enforce code quality. It scans for over 1,000 bug patterns across major programming languages including Python, JavaScript, Rust, and Go, providing developers with an automated safety net before code is committed or deployed.
Use Cases
- Pre-Commit Validation: Automatically scan staged changes using `ubs --staged` to catch and fix potential bugs before they enter the version control system.
- CI/CD Pipeline Integration: Incorporate the scanner into continuous integration workflows with the `--ci` flag to maintain high quality standards across team projects.
- Targeted Code Audits: Perform deep scans on specific files or directories to identify complex logic errors and vulnerabilities during the debugging process.
- Development Environment Health Checks: Use the `ubs doctor` command to diagnose and resolve configuration issues, ensuring the scanning environment is always optimized.
| name | ubs-scanner |
|---|---|
| description | Bug scanning with UBS (Ultimate Bug Scanner). Use before commits, when scanning for bugs, when the user mentions "ubs", "bugs", "scan", or "code quality". |
UBS (Ultimate Bug Scanner)
Scans for 1000+ bug patterns across multiple languages.
When This Applies
| Signal | Action |
|---|---|
| Before committing | ubs --staged |
| Scanning changes | ubs --diff |
| Scanning specific file | ubs path/to/file |
| CI integration | ubs --ci |
Pre-Commit (Required)
Run before every commit:
ubs --staged # Scan staged changes
ubs --staged --fail-on-warning # Strict mode (exit 1 on any issue)
Fix all issues before committing. Rerun until clean.
Scanning Options
# Scan current directory
ubs .
# Scan specific file
ubs path/to/file.ts
# Scan working tree changes vs HEAD
ubs --diff
# Verbose with code examples
ubs -v .
Profiles
# Strict (fail on warnings) - for production code
ubs --profile=strict .
# Loose (skip nits) - for prototyping
ubs --profile=loose .
Language Filters
# Single language
ubs --only=python .
# Multiple languages
ubs --only=typescript,javascript .
Supported languages:
- javascript, typescript
- python
- c, c++
- rust, go
- java, ruby
Output Formats
ubs . --format=json # JSON
ubs . --format=jsonl # Line-delimited JSON
ubs . --format=sarif # GitHub Code Scanning
CI Integration
ubs --ci # CI mode
ubs --comparison baseline.json . # Regression detection
Suppressing False Positives
Add to the line:
// ubs:ignore
const result = eval(userInput); // ubs:ignore
Health Check
ubs doctor
ubs doctor --fix
Quick Reference
ubs --staged # Pre-commit scan (required)
ubs --staged --fail-on-warning # Strict pre-commit
ubs --diff # Working tree changes
ubs path/to/file # Specific file
ubs --profile=strict . # Production mode
ubs doctor --fix # Health check
Workflow Integration
The standard pre-commit workflow:
# 1. Run tests
npm test # or pytest, etc.
# 2. Scan staged changes
ubs --staged
# 3. Fix any issues found
# 4. Re-run until clean
ubs --staged
# 5. Commit
git add -A && git commit
Anti-Patterns
| Don't | Why |
|---|---|
Skip ubs --staged |
Bugs slip into commits |
| Ignore warnings | May be real issues |
Over-suppress with // ubs:ignore |
Defeats the purpose |
See Also
verification/— Full pre-commit checklistbead-workflow/— Bead close workflow includes UBS