Skip to content
Back to skills

Audit

ASecurity

Audit existing project documentation for quality, completeness, consistency, and code alignment. Scans docs against the actual codebase to find stale references, missing coverage, internal contradictions, and quality issues. Generates a structured findings report with severity levels and actionable fix recommendations. Works on any project with a docs/ directory.

  • 9 stars
  • 0 votes
  • 1 copy
  • 2 views
  • Added May 26, 2026
documentationgogitapisecuritydocumentation

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add tercel/spec-forge --skill audit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Audit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Audit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tercel-audit/badge)](https://www.skillsdirectory.com/skills/tercel-audit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: audit
description: >
  Audit existing project documentation for quality, completeness, consistency, and code alignment.
  Scans docs against the actual codebase to find stale references, missing coverage, internal
  contradictions, and quality issues. Generates a structured findings report with severity levels
  and actionable fix recommendations. Works on any project with a docs/ directory.
instructions: >
  Follow the workflow below exactly. This skill is analytical — it reads and evaluates existing
  documents, it does NOT generate new specification documents. The output is a findings report
  with prioritized issues. Each finding must cite the specific file, line or section, and provide
  a concrete fix suggestion. Do NOT fabricate issues — only report what you actually find.
---

# Audit — Documentation Quality & Consistency Review

Systematically review existing project documentation for quality, completeness, consistency with code, and internal coherence. Produce a prioritized findings report.

## Core Principles

1. **Evidence-based**: Every finding must cite a specific file, section, or line — no vague complaints
2. **Code-grounded**: Cross-reference documentation claims against the actual codebase
3. **Prioritized**: Findings are classified by severity so the user can fix what matters first
4. **Read-only by default**: This skill only reads and reports — document modifications require explicit user opt-in (Step 8)
5. **Honest**: Report real issues, don't inflate findings to look thorough

## Severity Levels

| Severity | Meaning | Example |
|----------|---------|---------|
| **Critical** | Documentation is wrong or dangerously misleading | API doc shows deleted endpoint, security guide has incorrect auth flow |
| **Major** | Significant gap or inconsistency that causes confusion | Feature doc missing for a core module, conflicting architecture descriptions |
| **Minor** | Quality issue that degrades usefulness but isn't blocking | Typos in API params, outdated version numbers, missing examples |
| **Info** | Observation or improvement suggestion | Better organization possible, diagram would help clarity |

## Workflow

### Step 1: Determine Audit Scope

Parse the arguments to determine what to audit:

1. If a path argument is provided (e.g., `/spec-forge:audit ../../other-project`), use that as the project root
2. If no path, use the current working directory
3. Verify the target has documentation (check for `docs/`, `README.md`, or markdown files)

If no documentation found, inform the user and stop.

Use `AskUserQuestion` to ask:
- **Audit focus**: Full audit, or focus on a specific area? (Options: Full / API docs only / Feature docs only / Architecture docs only / Custom path)
- **Code alignment**: Should I cross-reference docs against the codebase? (Yes / No — skip if docs-only repo like aipartnerup-docs)

### Step 2: Document Inventory

Scan the documentation landscape and build a complete inventory.

1. **Glob for all markdown files** in the docs directory (and README at root)
2. **Categorize each document** by type:
   - `api` — API reference documentation
   - `architecture` — Architecture, design, system overview
   - `feature` — Feature specifications or descriptions
   - `guide` — How-to guides, tutorials, getting started
   - `spec` — Protocol specs, conformance, standards
   - `decision` — ADRs, decision records
   - `reference` — Data models, type mappings, glossaries
   - `meta` — READMEs, indexes, navigation docs
   - `other` — Doesn't fit above categories
3. **Read each document** (or at least the first 200 lines for very large files) to understand its content and structure
4. **Record metadata** for each document:
   - File path
   - Category
   - Approximate word count
   - Last modified date (from git if available)
   - Key topics covered
   - Cross-references to other docs (internal links)
   - Cross-references to code (file paths, class/function names mentioned)

Display the inventory:

```
Document Inventory: {project-name}
  Path: {project-root}
  Total documents: {N}

  Category          | Count | Files
  api               |   4   | api/README.md, api/executor-api.md, ...
  feature           |   8   | features/acl-system.md, ...
  guide             |   7   | guides/creating-modules.md, ...
  ...
```

### Step 3: Code Alignment Check

**Skip this step if the user opted out in Step 1 (e.g., docs-only repo).**

Cross-reference documentation against the actual codebase:

#### 3.1 API Surface Audit

1. **Scan the codebase** for public API surfaces: exported functions, classes, interfaces, types, endpoints
2. **Compare against API docs**: For each documented API, verify:
   - Does the function/class/endpoint still exist in code?
   - Do parameter names and types match?
   - Do return types match?
   - Are documented examples still valid?
3. **Find undocumented APIs**: Public APIs that exist in code but have no documentation

Report findings:
- **Stale API docs**: Documented APIs that no longer exist or have changed
- **Undocumented APIs**: Code APIs with no corresponding documentation
- **Parameter mismatches**: Documented params that don't match code signatures

#### 3.2 Feature Coverage Audit

1. **Identify features in code**: Major modules, systems, or functional areas in the codebase
2. **Compare against feature docs**: Is each significant feature documented?
3. **Check feature doc accuracy**: Do feature descriptions match the current implementation?

Report findings:
- **Undocumented features**: Significant code modules with no feature documentation
- **Stale feature docs**: Feature docs describing behavior that has changed
- **Missing feature aspects**: Feature docs that exist but skip important aspects (config, error handling, limitations)

#### 3.3 Architecture Alignment

1. **Infer architecture from code**: Module structure, dependency graph, communication patterns
2. **Compare against architecture docs**: Does the documented architecture match reality?
3. **Check for architectural drift**: Places where code has evolved away from the documented design

### Step 4: Internal Consistency Check

Check documents against each other for contradictions and coherence:

#### 4.1 Cross-Document Consistency

1. **Terminology consistency**: Same concept referred to by different names across docs?
2. **Factual consistency**: Do different docs make contradictory claims? (e.g., architecture doc says "microservices" but feature doc says "monolith")
3. **Version/dependency consistency**: Do different docs reference different versions of the same thing?
4. **Link integrity**: Do internal cross-references actually point to existing documents/sections?

#### 4.2 Structural Consistency

1. **Format consistency**: Do similar documents follow similar structures? (e.g., all feature docs should have similar sections)
2. **Depth consistency**: Are some areas documented exhaustively while others are skeletal?
3. **Naming consistency**: File naming conventions, heading styles, code formatting

### Step 5: Quality Assessment

Evaluate each document (or document category) on quality dimensions:

| Dimension | What to Check |
|-----------|---------------|
| **Completeness** | Missing sections, TBD/TODO markers, placeholder text, empty sections |
| **Accuracy** | Incorrect information (detected via code alignment or internal contradictions) |
| **Clarity** | Ambiguous language, undefined terms, unclear instructions |
| **Specificity** | Vague descriptions vs. concrete details (e.g., "fast" vs. "< 100ms p99") |
| **Actionability** | Can a developer act on this doc without guessing? Are examples provided? |
| **Currency** | Signs of staleness — old dates, deprecated references, outdated patterns |
| **Navigation** | Can readers find what they need? Cross-references, indexes, logical organization |

### Step 6: Generate Findings Report

Write the findings report to `{project-docs-path}/audit-report.md` (or a user-specified path).

**Report format:**

```markdown
# Documentation Audit Report

> Project: {project-name}
> Audited: {date}
> Scope: {full / api-only / feature-only / etc.}
> Documents reviewed: {N}
> Code alignment: {Yes / Skipped}

## Executive Summary

{2-3 paragraph overview: overall documentation health, biggest strengths, most critical gaps}

## Findings Summary

| Severity | Count | Categories |
|----------|-------|------------|
| Critical |   {n} | {which areas} |
| Major    |   {n} | {which areas} |
| Minor    |   {n} | {which areas} |
| Info     |   {n} | {which areas} |

## Document Health Matrix

| Document | Completeness | Accuracy | Clarity | Currency | Overall |
|----------|-------------|----------|---------|----------|---------|
| {path}   | {A/B/C/D}   | {A/B/C/D}| {A/B/C/D}| {A/B/C/D}| {A/B/C/D} |

(A = Excellent, B = Good, C = Needs Work, D = Poor)

## Critical Findings

### CRIT-001: {Finding title}
- **Location**: {file path, section/line}
- **Issue**: {What is wrong}
- **Evidence**: {How you know — code reference, conflicting doc, etc.}
- **Impact**: {Why this matters}
- **Fix**: {Concrete recommendation}

### CRIT-002: ...

## Major Findings

### MAJ-001: {Finding title}
...

## Minor Findings

### MIN-001: {Finding title}
...

## Observations & Suggestions

### INFO-001: {Suggestion title}
...

## Coverage Map

{Mermaid diagram showing documentation coverage — which areas are well-documented vs. gaps}

## Recommended Priority Actions

1. **{Action}** — fixes CRIT-001, CRIT-002 — {estimated effort: small/medium/large}
2. **{Action}** — fixes MAJ-001 through MAJ-003 — {effort}
3. ...
```

### Step 7: Present Results

Display a summary to the user:

```
Audit complete: {project-name}

  Documents reviewed: {N}
  Findings: {critical} critical, {major} major, {minor} minor, {info} info

  Report: {path-to-audit-report.md}

  Top 3 priority actions:
    1. {action} — {severity} — {effort}
    2. {action} — {severity} — {effort}
    3. {action} — {severity} — {effort}
```

Use `AskUserQuestion` to ask:
- **Fix mode**: Would you like me to fix any of these issues now?
  - Fix critical findings
  - Fix all findings (critical + major + minor)
  - Just the report, I'll fix manually
  - Fix specific findings (list IDs)

If the user wants fixes, proceed to Step 8.

### Step 8: Apply Fixes (Optional)

For each finding the user wants fixed:

1. Read the target document
2. Apply the fix described in the finding
3. Mark the finding as resolved in the report

**Rules for fixes:**
- Only modify the specific section cited in the finding
- Do NOT restructure or rewrite entire documents
- Do NOT add new documents — only fix existing ones
- If a fix requires information you don't have (e.g., the correct API signature), mark it as "needs manual review" instead of guessing
- After all fixes, re-run a quick validation to ensure fixes didn't introduce new issues

Update the audit report to mark resolved findings:
```markdown
### CRIT-001: {Finding title} [RESOLVED]
```

## Notes

1. **Scope flexibility**: The audit can target the current project, a sibling project, or any directory with docs
2. **Incremental audits**: If a previous `audit-report.md` exists, note which findings are new vs. recurring
3. **No false positives**: It's better to miss an issue than to report a non-issue. Every finding must have concrete evidence
4. **Respect existing structure**: The audit evaluates documentation as-is — it doesn't impose spec-forge's own document structure on projects that use different conventions

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.