skills/sus/SKILL.md
Finds suspicious, architecturally problematic, or high-impact maintainability issues in a codebase. Deploys parallel analysis agents to explore code, then synthesizes findings into a prioritized report. Use when user says "find problems", "audit code", "what's sus", "code review the repo", "find tech debt", or asks about code quality.
npx skillsauth add nathan13888/nice-skills susInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deploy parallel analysis agents to find architecturally problematic, suspicious, or high-impact maintainability issues in a codebase. Produces a prioritized report of at most 10 findings.
Follow all 5 steps sequentially. Do NOT skip the compilation gate.
Before analyzing code quality, confirm the project actually builds. This is a hard gate.
Detect the build system by checking for these files (in order):
Cargo.toml -> cargo checkgo.mod -> go build ./...tsconfig.json with package.json -> check for build script in package.json, run it (e.g., tsc --noEmit, npm run build)package.json (no tsconfig) -> check for build script, run if presentpyproject.toml -> python -m py_compile on main entry or python -m compileall src/Makefile -> make (default target, or make check if available)CMakeLists.txt -> cmake --build .Run the compile/build command.
Hard gate: If compilation fails, report the errors and STOP. Do not proceed to analysis.
## Compilation Failed
The project does not compile. Fix these errors before running a code quality audit:
{error output}
Lint warnings, style warnings, and CI checks are irrelevant here. Only "does the code compile/parse?" matters.
If no build system is detected (e.g., standalone scripts, config files), ask the user using AskUserQuestion:
Determine the candidate roster. Check in this priority order:
/sus focus: security -> swap default roster for security-focused agents/sus agents: Architecture Scout, Security Sentinel, Performance Oracle -> use exactly those agents/sus add: Concurrency Analyst -> default roster + the specified agent/agents skill or agent configuration that overrides the default roster.Present the roster for confirmation. Use AskUserQuestion with multiSelect: true to show the candidate agents. List each agent with a short description so the user can disable any they don't want. All agents should be presented as options -- the user can select any combination or select all.
Example framing: "Which agents should I deploy? (select all that apply)"
If the user's roster includes optional specialists, list those too.
Deploy only the selected agents in Step 3.
Launch the user-selected agents simultaneously using the Task tool.
Each agent below has a subagent_type, focus area, and exploration strategy. Use this information to construct the prompt for each agent's Task call.
Architecture Scout (Plan)
Complexity Hunter (Explore)
Coupling Detector (Explore)
Consistency Auditor (general-purpose)
Risk Assessor (Plan)
as any, unsafe, unchecked unwrap), cascading failure risk, data integrity gaps, race conditions.unwrap, as any, bare except:, empty catch blocks.Optional specialist agents (available via /sus add: or /sus agents:):
general-purpose) -- injection vectors, hardcoded secrets, auth bypasses, CSRF/XSS/SSRFExplore) -- N+1 queries, unbounded data loading, sync blocking in async, missing caching, O(n^2) on large dataPlan) -- shared mutable state without sync, deadlocks, TOCTOU, unawaited promisesgeneral-purpose) -- breaking change risks, inconsistent endpoints, missing error responses, leaking internalsInclude these criteria in every agent prompt so agents filter correctly.
CRITICAL (active danger to production):
MAJOR (significant maintenance/bug risk):
FILTERED OUT (never report): Naming preferences, formatting, missing docs, minor DRY (2 occurrences), unused code, TODOs, test code quality, single-use abstractions, language idiom preferences, dependency versions, magic numbers in tests, boilerplate/ceremony.
For each selected agent, construct the Task prompt as:
You are the {Agent Name} analyzing a codebase at {project_root}.
## Your Focus
{focus from the agent roster above}
## What to Look For
{look-for list from the agent roster above}
## Exploration Strategy
{strategy from the agent roster above}
## Severity Criteria
CRITICAL: Silent data corruption, concurrency hazards, security boundary violations, cascading failure risk, untestable architecture.
MAJOR: God classes (5+ responsibilities), shotgun surgery (4+ files), pattern confusion (3+ approaches), complexity walls (CC 15+, nesting 4+), missing boundary error handling, implicit contracts, abstraction leaks.
NEVER REPORT: Naming preferences, formatting, missing docs, minor DRY (2 occurrences), unused code, TODOs, test code quality, single-use abstractions, language idiom preferences, dependency versions.
## Rules
- Return at most 5 findings, prioritized by severity
- Quality over quantity: only report issues a senior engineer would flag in a design review
- Use the finding format below for each finding
- Include specific file paths and line numbers for every finding
- If you find fewer than 5 issues worth reporting, return fewer. Zero is acceptable.
## Finding Format
### [SEVERITY] Title
- **Category:** {category}
- **Location:** {file_path:line_number} (and related locations)
- **Description:** {what's wrong and why it matters}
- **Impact:** {what breaks, degrades, or becomes unmaintainable}
- **Suggested approach:** {high-level fix direction, not a full implementation}
## Output
Return your findings as a markdown list, or "No findings." if nothing meets the severity bar.
Once all agents return:
Deduplicate: If multiple agents flagged the same location or issue, merge them into a single finding. Note which agents flagged it (this boosts confidence).
Rank: Sort findings by:
Final filter: Re-check each finding against the severity guide. Remove anything that slipped through that should be filtered out.
Cap at 10: Keep the top 10 findings maximum. If there are more, drop the lowest-ranked ones.
Output the final report in this format:
## Sus Report: {project name}
**Agents deployed:** {list of agent names}
**Files explored:** {approximate count from agent outputs}
**Findings:** {count}
---
### 1. [SEVERITY] Title
- **Category:** {category}
- **Location:** `{file_path:line_number}` (and related locations)
- **Flagged by:** {agent name(s)}
- **Description:** {what's wrong and why it matters}
- **Impact:** {what breaks, degrades, or becomes unmaintainable}
- **Suggested approach:** {high-level fix direction}
---
### 2. [SEVERITY] Title
...
---
## What's Next?
Pick an option or tell me what you'd like to do:
1. **Deep-dive** into a specific finding (give me the number)
2. **Start fixing** -- I'll tackle findings in priority order
3. **Export** this report to a markdown file
4. **Re-run** with a different focus (e.g., `/sus focus: security`)
data-ai
Ingest arbitrary feedback (GitHub/GitLab URL, pasted review, image, file path, free text) about the current repo, decompose it into a prioritized action plan with per-item owners (human / main-agent / subagent), confirm with the user, then dispatch execution. Use when user says "/tackle", "address this feedback", "act on this review", "work through this feedback", or "what should I do about this".
development
Capture a problem or change request, verify it lightly against the codebase, draft a structured issue report, then route to one of: upload to GitHub/GitLab, document in code, hand off for implementation, or a free-text next step. Use when user says "/issue", "report a problem", "file a bug", "raise an issue", "track this", or "open a ticket".
testing
Create a new git branch off trunk using the project's existing naming convention. Detects trunk (main/master/etc.) and the dominant prefix pattern (feat/, <username>/, etc.) from existing branches, slugifies the feature description, and runs git checkout -b. Use when user says "feature branch", "new branch", "create branch", "git branch", or "/feature-branch".
development
Quick situational awareness for the current git branch. Summarizes what a feature branch is about by analyzing commits and changes against trunk. On trunk, highlights recent interesting activity. Use when user says "wtf", "what's going on", "what is this branch", "what changed", or "catch me up".