Skip to content
Security
Skill

/audit-prep-assistant

Prepares codebases for security review using Trail of Bits' checklist. Helps set review goals, runs static analysis tools, increases test coverage, removes dead code, ensures accessibility, and generates documentation (flowcharts, user stories, inline comments). Use when

From plugin
skills
7.9k95 skills30 agents8 commands1 MCP

Claude Code

$ npx -y skills add trailofbits/skills --skill audit-prep-assistant --agent claude-code

SKILL.md

audit-prep-assistant.SKILL.md
name: audit-prep-assistant
description: Prepares codebases for security review using Trail of Bits' checklist. Helps set review goals, runs static analysis tools, increases test coverage, removes dead code, ensures accessibility, and generates documentation (flowcharts, user stories, inline comments). Use when preparing your own codebase to be audited by someone else, getting a repository review-ready before an external security review, deciding what to fix before auditors start, or asking what assessors need from a project. For understanding unfamiliar code you are about to audit, use audit-context-building instead.

Audit Prep Assistant

Purpose

Helps prepare for a security review using Trail of Bits' checklist. A well-prepared codebase makes the review process smoother and more effective.

**Use this**: 1-2 weeks before your security audit

---

The Preparation Process

Step 1: Set Review Goals

Helps define what you want from the review:

**Key Questions**:

  • What's the overall security level you're aiming for?
  • What areas concern you most?
  • Previous audit issues?
  • Complex components?
  • Fragile parts?
  • What's the worst-case scenario for your project?

Documents goals to share with the assessment team.

---

Step 2: Resolve Easy Issues

Runs static analysis and helps fix low-hanging fruit:

**Run Static Analysis**:

For Solidity:

slither . --exclude-dependencies

For Rust:

dylint --all

For Go:

golangci-lint run

For Go/Rust/C++:

# CodeQL and Semgrep checks

Then I'll:

  • Triage all findings
  • Help fix easy issues
  • Document accepted risks

**Increase Test Coverage**:

  • Analyze current coverage
  • Identify untested code
  • Suggest new tests
  • Run full test suite

**Remove Dead Code**:

  • Find unused functions/variables
  • Identify unused libraries
  • Locate stale features
  • Suggest cleanup

**Goal**: Clean static analysis report, high test coverage, minimal dead code

---

Step 3: Ensure Code Accessibility

Helps make code clear and accessible:

**Provide Detailed File List**:

  • List all files in scope
  • Mark out-of-scope files
  • Explain folder structure
  • Document dependencies

**Create Build Instructions**:

  • Write step-by-step setup guide
  • Test on fresh environment
  • Document dependencies and versions
  • Verify build succeeds

**Freeze Stable Version**:

  • Identify commit hash for review
  • Create dedicated branch
  • Tag release version
  • Lock dependencies

**Identify Boilerplate**:

  • Mark copied/forked code
  • Highlight your modifications
  • Document third-party code
  • Focus review on your code

---

Step 4: Generate Documentation

Helps create documentation:

**Flowcharts and Sequence Diagrams**:

  • Map primary workflows
  • Show component relationships
  • Visualize data flow
  • Identify critical paths

**User Stories**:

  • Define user roles
  • Document use cases
  • Explain interactions
  • Clarify expectations

**On-chain/Off-chain Assumptions**:

  • Data validation procedures
  • Oracle information
  • Bridge assumptions
  • Trust boundaries

**Actors and Privileges**:

  • List all actors
  • Document roles
  • Define privileges
  • Map access controls

**External Developer Docs**:

  • Link docs to code
  • Keep synchronized
  • Explain architecture
  • Document APIs

**Function Documentation**:

  • System and function invariants
  • Parameter ranges (min/max values)
  • Arithmetic formulas and precision loss
  • Complex logic explanations
  • NatSpec for Solidity

**Glossary**:

  • Define domain terms
  • Explain acronyms
  • Consistent terminology
  • Business logic concepts

**Video Walkthroughs** (optional):

  • Complex workflows
  • Areas of concern
  • Architecture overview

---

How I Work

When invoked, I will:

1. **Help set review goals** - Ask about concerns and document them 2. **Run static analysis** - Execute appropriate tools for your platform 3. **Analyze test coverage** - Identify gaps and suggest improvements 4. **Find dead code** - Search for unused code and libraries 5. **Review accessibility** - Check build instructions and scope clarity 6. **Generate documentation** - Create flowcharts, user stories, glossaries 7. **Create prep checklist** - Track what's done and what's remaining

Adapts based on:

  • Your platform (Solidity, Rust, Go, etc.)
  • Available tools
  • Existing documentation
  • Review timeline

---

Rationalizations (Do Not Skip)

| Rationalization | Why It's Wrong | Required Action | |-----------------|----------------|-----------------| | "README covers setup, no need for detailed build instructions" | READMEs assume context auditors don't have | Test build on fresh environment, document every dependency version | | "Static analysis already ran, no need to run again" | Codebase changed since last run | Execute static analysis tools, generate fresh report | | "Test coverage looks decent" | "Looks decent" isn't measured coverage | Run coverage tools, identify specific untested code paths | | "Not much dead code to worry about" | Dead code hides during manual review | Use automated detection tools to find unused functions/variables | | "Architecture is straightforward, no diagrams needed" | Text descriptions miss visual patterns | Generate actual flowcharts and sequence diagrams | | "Can freeze version right before audit" | Last-minute freezing creates rushed handoff | Identify and document commit hash now, create dedicated branch | | "Terms are self-explanatory" | Domain knowledge isn't universal | Create comprehensive glossary with all domain-specific terms | | "I'll do this step later" | Steps build on each other - skipping creates gaps | Complete all 4 steps sequentially, track progress with checklist |

---

Example Output

When I finish helping you prepare, you'll have concrete deliverables like:

=== AUDIT PREP PACKAGE ===

Project: DeFi DEX Protocol
Audit Date: March 15, 2024
Preparation Status: Complete

---

## REVIEW GOALS DOCUMENT

Security Objectives:
- Verify economic security of liquidity pool swaps
-
Read more
@trailofbits
Ships withskills

Trail of Bits skills and plugins for AI-assisted security analysis, testing, and development. Install this marketplace in Claude Code or Codex, or import it into your ChatGPT workspace marketplace.

7.9k95 skills30 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
7.9k
Star history of trailofbits/skills on GitHub, a chart by star-history.com

Other skills on skills.

agentic-actions-auditor

agentic-actions-audito…

Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI,…

@trailofbits@trailofbitsInstall Skill
audit-context-building

audit-context-building

Understand a codebase before looking for bugs in it - what each function assumes, what it guarantees, and what it depends on…

@trailofbits@trailofbitsInstall Skill
code-maturity-assessor

code-maturity-assessor

Systematic code maturity assessment using Trail of Bits' 9-category framework. Analyzes codebase for arithmetic safety, auditing…

@trailofbits@trailofbitsInstall Skill

More skills from other plugins.

api-security

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…

@zhaoxuya520@zhaoxuya520Install Skill
nemoclaw-user-guide

nemoclaw-user-guide

Find official NemoClaw documentation for installation, configuration, operation, or troubleshooting. Also handles requested docs…

nemoclaw11d23k
@nvidia@nvidiaInstall Skill

Questions about audit-prep-assistant.

Which coding agents can use audit-prep-assistant?
audit-prep-assistant installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.