MCPInstall

ubs

Ultimate Bug Scanner - Pre-commit static analysis for AI coding workflows. 18 detection categories, 8 languages, 4-layer analysis engine. The AI agent's quality gate.

Installs
64
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations --skill ubs
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads ubs automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

UBS - Ultimate Bug Scanner

Static analysis tool built for AI coding workflows. Catches bugs that AI agents commonly introduce: null safety, async/await issues, security holes, memory leaks. Scans JS/TS, Python, Go, Rust, Java, C++, Ruby, Swift in 3-5 seconds.

Why This Exists

AI agents move fast. Bugs move faster. You're shipping features in minutes, but:

  • Null pointer crashes slip through
  • Missing await causes silent failures
  • XSS vulnerabilities reach production
  • Memory leaks accumulate

UBS is the quality gate: scan before commit, fix before merge.

Golden Rule

ubs <changed-files> --fail-on-warning

Exit 0 = safe to commit. Exit 1 = fix and re-run.

Essential Commands

Quick Scans (Use These)

ubs file.ts file2.py                    # Specific files (< 1s)
ubs $(git diff --name-only --cached)    # Staged files
ubs --staged                            # Same, cleaner syntax
ubs --diff                              # Working tree vs HEAD

Full Project Scans

ubs .                                   # Current directory
ubs /path/to/project                    # Specific path
ubs --only=js,python src/               # Language filter (faster)

CI/CD Mode

ubs --ci --fail-on-warning .            # Strict mode for CI
ubs --format=json .                     # Machine-readable
ubs --format=sarif .                    # GitHub code scanning

Output Format

⚠️  Category (N errors)
    file.ts:42:5 – Issue description
    💡 Suggested fix
Exit code: 1

Parse: file:line:col → location | 💡 → how to fix | Exit 0/1 → pass/fail

The 18 Detection Categories

Critical (Always Fix)

CategoryWhat It Catches
Null SafetyUnguarded property access, missing null checks
SecurityXSS, injection, prototype pollution, hardcoded secrets
Async/AwaitMissing await, unhandled rejections, race conditions
Memory LeaksEvent listeners without cleanup, timer leaks
Type Coercion== vs ===, parseInt without radix, NaN comparison

Important (Production Risk)

CategoryWhat It Catches
Division SafetyDivision without zero check
Resource LifecycleUnclosed files, connections, context managers
Error HandlingEmpty catch blocks, swallowed errors
Promise Chains.then() without .catch()
Array MutationsMutating during iteration

Code Quality (Contextual)

CategoryWhat It Catches
Debug Codeconsole.log, debugger, print() statements
TODO MarkersTODO, FIXME, HACK comments
Type SafetyTypeScript any usage
ReadabilityComplex ternaries, deep nesting

Language-Specific Detection

LanguageKey Patterns
JavaScript/TypeScriptinnerHTML XSS, eval(), missing await, React hooks deps
Pythoneval(), open() without with, missing encoding=, None checks
GoNil pointer, goroutine leaks, defer symmetry, context cancel
Rust.unwrap() panics, unsafe blocks, Option handling
JavaResource leaks (try-with-resources), null checks, JDBC
C/C++Buffer overflows, strcpy(), memory leaks, use-after-free
Rubyeval(), send(), instance_variable_set
SwiftForce unwrap (!), ObjC bridging issues

Profiles

ubs --profile=strict .    # Fail on warnings, enforce high standards
ubs --profile=loose .     # Skip TODO/debug nits when prototyping

Category Packs (Focused Scans)

ubs --category=resource-lifecycle .    # Python/Go/Java resource hygiene

Narrows scan to relevant languages and suppresses unrelated categories.

Comparison Mode (Regression Detection)

# Capture baseline
ubs --ci --report-json .ubs/baseline.json .

# Compare against baseline
ubs --ci --comparison .ubs/baseline.json --report-json .ubs/latest.json .

Useful for CI to detect regressions vs. main branch.

Output Formats

FormatFlagUse Case
text(default)Human-readable terminal output
json--format=jsonMachine parsing, scripting
jsonl--format=jsonlLine-delimited, streaming
sarif--format=sarifGitHub code scanning
html--html-report=file.htmlPR attachments, dashboards

Inline Suppression

When a finding is intentional:

eval(trustedCode);  // ubs:ignore

// ubs:ignore-next-line
dangerousOperation();

Exit Codes

CodeMeaning
0No critical issues (safe to commit)
1Critical issues or warnings (with --fail-on-warning)
2Environment error (missing ast-grep, etc.)

Doctor Command

ubs doctor                # Check environment
ubs doctor --fix          # Auto-fix missing dependencies

Checks: curl/wget, ast-grep, ripgrep, jq, typos, Node.js + TypeScript.

Agent Integration

UBS auto-configures hooks for coding agents during install:

AgentHook Location
Claude Code.claude/hooks/on-file-write.sh
Cursor.cursor/rules
Codex CLI.codex/rules/ubs.md
Gemini.gemini/rules
Windsurf.windsurf/rules
Cline.cline/rules

Claude Code Hook Pattern

#!/bin/bash
# .claude/hooks/on-file-write.sh
if [[ "$FILE_PATH" =~ \.(js|jsx|ts|tsx|py|go|rs|java|rb)$ ]]; then
  echo "🔬 Quality check running..."
  if ubs "${PROJECT_DIR}" --ci 2>&1 | head -30; then
    echo "✅ No critical issues"
  else
    echo "⚠️  Issues detected - review above"
  fi
fi

Git Pre-Commit Hook

#!/bin/bash
# .git/hooks/pre-commit
echo "🔬 Running bug scanner..."
if ! ubs . --fail-on-warning 2>&1 | tail -30; then
  echo "❌ Critical issues found. Fix or: git commit --no-verify"
  exit 1
fi
echo "✅ Quality check passed"

Performance

Small (5K lines):     0.8 seconds
Medium (50K lines):   3.2 seconds
Large (200K lines):   12 seconds
Huge (1M lines):      58 seconds

10,000+ lines per second. Use --jobs=N to control parallelism.

Speed Tips

  1. Scope to changed files: ubs src/file.ts (< 1s) vs ubs . (30s)
  2. Use --staged or --diff: Only scan what you're committing
  3. Language filter: --only=js,python skips irrelevant scanners
  4. Skip categories: --skip=11,14 to skip debug/TODO markers

Fix Workflow

1. Read finding → category + fix suggestion
2. Navigate file:line:col → view context
3. Verify real issue (not false positive)
4. Fix root cause (not symptom)
5. Re-run ubs <file> → exit 0
6. Commit

Bug Severity Guide

  • Critical (always fix): Null safety, XSS/injection, async/await, memory leaks
  • Important (production): Type narrowing, division-by-zero, resource leaks
  • Contextual (judgment): TODO/FIXME, console logs

Common Anti-Patterns

Don'tDo
Ignore findingsInvestigate each
Full scan per editScope to changed files
Fix symptom (if (x) { x.y })Fix root cause (x?.y)
Suppress without understandingVerify false positive first

Installation

# One-liner (recommended)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/ultimate_bug_scanner/master/install.sh?$(date +%s)" | bash -s -- --easy-mode

# Manual
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/ultimate_bug_scanner/master/ubs \
  -o /usr/local/bin/ubs && chmod +x /usr/local/bin/ubs

Custom AST Rules

mkdir -p ~/.config/ubs/rules

cat > ~/.config/ubs/rules/no-console.yml <<'EOF'
id: custom.no-console
language: javascript
rule:
  pattern: console.log($$$)
severity: warning
message: "Remove console.log before production"
EOF

ubs . --rules=~/.config/ubs/rules

Excluding Paths

ubs . --exclude=legacy,generated,vendor

Auto-ignored: node_modules, .venv, dist, build, target, editor caches.

Session Logs

ubs sessions --entries 1    # View latest install session

Integration with Flywheel

ToolIntegration
BV--beads-jsonl=out.jsonl exports findings for Beads
CASSSearch past sessions for similar bug patterns
CMExtract rules from UBS findings
Agent MailNotify agents of scan results
DCGUBS runs inside DCG protection

Troubleshooting

ErrorFix
"Environment error" (exit 2)ubs doctor --fix
"ast-grep not found"brew install ast-grep or cargo install ast-grep
Too many false positivesUse --skip=N or // ubs:ignore
Slow scansScope to files: ubs <file> not ubs .

FAQ

What does the ubs skill do?

Ultimate Bug Scanner - Pre-commit static analysis for AI coding workflows. 18 detection categories, 8 languages, 4-layer analysis engine. The AI agent's quality gate.

How do I install ubs?

Run npx skills add https://github.com/dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations --skill ubs in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ubs/ (personal) or .claude/skills/ubs/ (project).

Which AI agents can use ubs?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is ubs safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains ubs?

It is published by dicklesworthstone in dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations. It has 64 recorded installs.

More from dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations

View all →

ssh

dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations

SSH remote access - connections, tunnels, keys, file transfers. Use when connecting to servers, managing SSH keys, setting up port forwarding, or transferring files with scp/rsync.

703 installs

ui-ux-polish

dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations

Open the skill to read its SKILL.md instructions.

Frontend & Design234 installs

gcloud

dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations

Google Cloud Platform CLI - manage GCP resources. Use when working with Compute Engine, Cloud Run, GKE, Cloud Functions, Storage, BigQuery, or other GCP services.

DevOps & Cloud233 installs

agent-swarm-workflow

dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations

Jeffrey Emanuel's multi-agent implementation workflow using NTM, Agent Mail, Beads, and BV. The execution phase that follows planning and bead creation. Includes exact prompts used.

planning-workflow

dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations

Comprehensive markdown planning methodology for software projects. Use when starting a new project, creating implementation plans, or refining architecture before coding.

cass

dicklesworthstone/agent_flywheel_clawdbot_skills_and_integrations

Mine past agent sessions for working prompts, decisions, and patterns. Use when "what did I ask?", "find that prompt", session archaeology, or agent history.

AI & Agents98 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.