agentsclimarketplace

Audit

Skill herbert-julio-azion/specialist-agent/skills/audit

Use when you need a comprehensive code audit covering security, performance, architecture, and dependencies before a release, major refactor, or compliance review.From its SKILL.md

Install
npx -y skills add herbert-julio-azion/specialist-agent --skill audit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 20 stars20 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.4 KB, as published. Nobody here has run it

/audit - Multi-Agent Code Audit

Run a comprehensive audit that combines security, performance, architecture, and dependency analysis in one pass.

Target: $ARGUMENTS

When to Use

  • Before a production release
  • After a major refactor
  • During compliance reviews (SOC2, ISO 27001)
  • When onboarding to an unfamiliar codebase
  • When technical debt feels unmanageable
  • NOT for: single-file reviews (use @reviewer instead)

Workflow

Step 1: Scope Definition

Determine audit scope:

IF $ARGUMENTS is a path → audit that path
IF $ARGUMENTS is a module name → find and audit the module
IF $ARGUMENTS is empty → audit entire project

Read the project structure. Identify:

  • Total files and lines of code
  • Primary language and framework
  • Test coverage indicators
  • CI/CD configuration

Step 2: Security Audit

Check for OWASP Top 10 vulnerabilities:

CheckWhat to Look For
InjectionSQL/NoSQL injection, command injection, XSS
AuthHardcoded secrets, weak JWT config, missing CSRF
Access ControlMissing auth checks, IDOR, privilege escalation
CryptographyWeak algorithms, plaintext passwords, missing encryption
ConfigurationDebug mode in production, verbose errors, default credentials
DependenciesKnown CVEs in packages
Data ExposureSensitive data in logs, responses, or error messages

Run if available:

npm audit --json 2>/dev/null || true
npx eslint --format json $TARGET 2>/dev/null || true

Step 3: Architecture Audit

Check structural integrity:

CheckCriteria
Layer separationServices don't import from components
Circular dependenciesNo import cycles
Naming conventionsConsistent file/function naming
Type safetyTypeScript strict mode, no any abuse
Error handlingTry/catch at boundaries, custom error classes
API contractsDTOs/schemas at boundaries

Step 4: Performance Audit

Check for performance issues:

CheckWhat to Look For
Bundle sizeLarge imports, missing tree-shaking
N+1 queriesDatabase calls in loops
Memory leaksUncleaned listeners, subscriptions, timers
RenderingUnnecessary re-renders, missing memoization
NetworkMissing caching, redundant API calls
AssetsUnoptimized images, missing lazy loading

Step 5: Observability Audit

Check for production readiness observability:

CheckWhat to Look For
Structured loggingJSON format, consistent fields (timestamp, level, service, traceId)
Error trackingErrors captured with context (user, request, stack trace)
Health endpoints/health or equivalent exposed by every service
MetricsRED metrics (Rate, Errors, Duration) for critical operations
Correlation IDsTrace/request IDs propagated across service boundaries
Sensitive dataNO passwords, tokens, PII, credit cards in logs
# Check for structured logging
grep -rn "console\.log\|console\.error\|console\.warn" $TARGET --include="*.ts" --include="*.tsx" 2>/dev/null | grep -v "node_modules\|test\|spec" | head -15

# Check for health endpoints
grep -rn "health\|healthcheck\|readiness\|liveness" $TARGET --include="*.ts" --include="*.tsx" 2>/dev/null | head -10

# Check for sensitive data in logs
grep -rn "console\.\|logger\.\|log\." $TARGET --include="*.ts" 2>/dev/null | grep -i "password\|token\|secret\|credit\|ssn" | head -10

Step 6: Accessibility Audit (if frontend detected)

If the project contains frontend code (.tsx, .vue, .svelte, .astro), check:

CheckCriteria
Alt textAll images have descriptive alt attributes
Form labelsAll inputs have associated labels or aria-label
Heading hierarchySingle H1, logical H2-H6, no skipped levels
Keyboard navigationInteractive elements accessible via keyboard
Color contrastText meets WCAG AA 4.5:1 ratio
ARIA usageCorrect roles, states, properties
# Detect frontend code
FRONTEND_FILES=$(find $TARGET -name "*.tsx" -o -name "*.vue" -o -name "*.svelte" -o -name "*.astro" 2>/dev/null | grep -v node_modules | head -5)
if [ -n "$FRONTEND_FILES" ]; then
  echo "Frontend detected - running accessibility checks"
  grep -rn "<img" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | grep -v "alt=" | head -10
  grep -rn "<input\|<select" $TARGET --include="*.tsx" --include="*.vue" 2>/dev/null | grep -v "aria-label\|id=" | head -10
fi

Step 7: Dependency Audit

Check dependency health:

CheckWhat to Look For
OutdatedMajor versions behind
VulnerableKnown CVEs
UnusedInstalled but not imported
DuplicateMultiple versions of same package
LicenseIncompatible licenses (GPL in MIT project)

Run if available:

npx depcheck --json 2>/dev/null || true

Step 8: Report Generation & Scoring

Compile findings into a structured report with severity ratings.

Scoring formula per domain (0-100):

  • Start at 100
  • CRITICAL finding: -25 points
  • HIGH finding: -15 points
  • MEDIUM finding: -10 points
  • LOW finding: -5 points
  • INFO: -0 points
  • Minimum: 0

Overall score = average of all domain scores (weighted: Security 30%, Architecture 25%, Performance 20%, Observability 15%, Dependencies 10%).

Severity Levels

LevelDescriptionAction
CRITICALSecurity vulnerability or data loss riskFix immediately
HIGHArchitecture violation or major performance issueFix before release
MEDIUMCode quality issue or minor vulnerabilityFix in next sprint
LOWStyle issue or minor improvementFix when convenient
INFOObservation or recommendationConsider for future

Verification Protocol

Before claiming audit is complete:

  1. All domains were checked (security, architecture, performance, observability, dependencies, and accessibility if frontend)
  2. Every finding has a severity level
  3. Every CRITICAL/HIGH finding has a specific remediation step
  4. Automated tools were run where available (npm audit, eslint, depcheck)
  5. Report includes line-level references for each finding

Anti-Rationalization

ExcuseReality
"No security issues found"Absence of evidence is not evidence of absence. Did you check all OWASP categories?
"Architecture looks fine"Did you trace actual imports, or just scan filenames?
"Dependencies are up to date"Did you run npm audit? Check for unused deps?
"Performance seems okay"Did you check for N+1 queries, memory leaks, bundle size?
"The codebase is too large to audit fully"Scope down to critical paths (auth, payments, data). Never skip security.
"Observability is a nice-to-have"Production without observability is flying blind. You can't fix what you can't see.
"Accessibility doesn't apply to us"Internal tools have users with disabilities too. And legal requirements don't have exemptions.

Rules

  1. Check all domains - Skipping one defeats the purpose (security, architecture, performance, observability, dependencies + accessibility if frontend)
  2. Run automated tools - Never skip npm audit or linting if available
  3. Severity must be justified - Every rating needs evidence
  4. Remediation is required - Findings without fix suggestions are useless
  5. Line references are required - Point to exact files and lines
  6. Never assume safety - Verify, don't trust

Output

──── /audit ────
Target: [path or module]
Scope: [X files, Y lines]

Security:      [score]/100 - [X critical, Y high, Z medium]
Architecture:  [score]/100 - [X high, Y medium]
Performance:   [score]/100 - [X high, Y medium]
Observability: [score]/100 - [X high, Y medium]
Dependencies:  [score]/100 - [X vulnerable, Y outdated, Z unused]
Accessibility: [score]/100 - [N findings] (if frontend)

Overall Score: [0-100] (weighted average)
Risk Level: [CRITICAL | HIGH | MEDIUM | LOW]

Top Findings:
1. [CRITICAL] [description] - [file:line]
2. [HIGH] [description] - [file:line]
3. [HIGH] [description] - [file:line]

Full report: [inline below]

Keep looking

Skills are one crate of 626,194. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.