agentsclimarketplace

Project audit

Skill claude-hangar/claude-hangar/core/skills/project-audit

Repository audit for non-website projects (CLI, libs, backend, monorepo). Use when: "project-audit", "project audit", "repo audit", "code audit".From its SKILL.md

Install
npx -y skills add claude-hangar/claude-hangar --skill project-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

  • 1 stars1 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

17.6 KB, ~4.6k tokens by cl100k_base, as published. Nobody here has run it

<!-- AI-QUICK-REF ## /project-audit — Quick Reference - **Modes:** start | continue | status | report | auto - **Arguments:** `/project-audit $0` e.g. `/project-audit auto`, `/project-audit status` - **Three-layer:** phases/*.md + stacks/*.md + project-audit-context.md - **Dual-Layer:** Source (read code) + Runtime (npm audit, tsc, docker scout) - **Check-Priorities:** MUST (mandatory) | SHOULD (standard) | COULD (nice-to-have) - **10 Phases:** Structure, Dependencies, Code, Git, CI/CD, Docs, Testing, Security, Deploy, Maintenance - **Finding-IDs:** STRUC-01, DEP-01, QUAL-01, GIT-01, CICD-01, DOC-01, TEST-01, SEC-01, DEPLOY-01, MAINT-01 - **Severity:** CRITICAL > HIGH > MEDIUM > LOW - **Context Protection:** Max 2 phases OR 5 fixes per session (except auto) - **State:** .project-audit-state.json (v2.1) - **Checkpoints:** [CHECKPOINT: verify] after each phase, [CHECKPOINT: decision] at audit scope -->

Skill: project-audit

Systematic project audit for any repository — with a three-layer depth model. Automatically detects the stack, loads relevant supplements, and performs structured checks — for management repos, CLI tools, libraries, backend services, monorepos, Python projects, and shell collections.

Distinction from /audit: No SEO, no accessibility, no privacy/GDPR, no Lighthouse. Instead, more thorough checking of Git, CI/CD, code quality, deployment, and maintenance.


Check Layers

Each phase has two check levels:

LayerMethodWhen
Source LayerRead code, analyze configs, scan filesAlways (offline possible)
Runtime Layernpm audit, tsc --noEmit, docker scout, run tests, check CI logsWhen tools are available

Rule: Source layer is mandatory. Runtime layer supplements with tool-based checks. Both layers are tracked in state per phase.

Runtime layer per phase:

PhaseRuntime Tools
02 Dependenciesnpm audit, pip-audit, npm outdated
03 Code Qualitytsc --noEmit, npx biome check, pylint
05 CI/CDgh run list, check CI logs
07 Testingnpm test, coverage reports
08 Securitynpm audit, docker scout, git log --all -p -- .env
09 Deploymentdocker scout cves, container health check

Check Priorities + Completeness Tracking

See _shared/audit-patterns.md (MUST/SHOULD/COULD markers, completeness counting). Phase with <100% MUST-checks can NOT be marked as done.


Architecture: Three-Layer Model

Layer 1: Base Phase (phases/*.md)                    ~70-100 lines, universal
Layer 2: Stack Supplement (stacks/*.md §-sections)   ~10-15 lines per phase, stack-specific
Layer 3: Project Override (project-audit-context.md)  ~20-40 lines, project-specific

Per phase, only the relevant supplements are loaded. Result: ~100-150 lines of check instructions per phase — comparable to a dedicated skill.


5 Modes

ModeTriggerDescription
start/project-audit startDetect stack + project type, create phase plan, first 2 phases
continue/project-audit continueContinue next phases or fix max 5 findings
status/project-audit statusShow progress + statistics
report/project-audit reportGenerate structured Markdown report
auto/project-audit autoFully autonomous run — all phases without prompts

Mode: start

Step 1 — Detect Project Type

DetectedProject Type
global/, projects/, setup.sh, no src/management-repo
bin in package.jsoncli-tool
main/exports in package.json, no bin, no frameworklibrary
fastify/express/koa without frontend frameworkbackend-service
workspaces in package.json or pnpm-workspace.yamlmonorepo
Python project (setup.py, pyproject.toml, requirements.txt)python-project
Shell scripts dominant (*.sh), no package.jsonscripts-collection
Fallbackgeneric

Step 2 — Stack Detection

Scan files and detect stack:

File/PatternDetectsStack-Key
package.json presentNode.jsnode: true
pyproject.toml, setup.py, requirements.txtPythonpython: true
Majority *.sh files, no package.jsonShell/Bashshell: true
Dockerfile, docker-compose.*Dockerdocker: true
workspaces in package.json, pnpm-workspace.yamlMonorepomonorepo: true
.claude/ directory or CLAUDE.md in rootClaude Codeclaude-code: true
go.mod presentGogo: true
*.tf files, terraform.tfvarsTerraformterraform: true
.github/ directory or git remote shows github.comGitHubgithub: true

Version detection: For each detected stack, extract version:

  • Node: engines.node or .nvmrc / .node-version
  • Python: python_requires or .python-version
  • Docker: Base image tag in Dockerfile

Step 3 — Load Context

  1. Project CLAUDE.md read (architecture, conventions)
  2. project-audit-context.md load (if in project root) — project-specific context
  3. README.md read (purpose, setup instructions)
  4. Existing docs scan: TODO.md, STATUS.md, CHANGELOG.md
  5. package.json / pyproject.toml analyze (if present)
  6. Existing state file (.project-audit-state.json) check > auto-migrate if v1

Step 4 — User Query

Show detection result:

Project Detection:
+-------------+------------------+---------+
| Category    | Detected         | Version |
+-------------+------------------+---------+
| Project Type| management-repo  | —       |
| Stack       | Shell/Bash       | —       |
| Docker      | Yes              | —       |
| Monorepo    | No               | —       |
+-------------+------------------+---------+

Project context: project-audit-context.md found
Existing docs: TODO.md, STATUS.md

Ask user (AskUserQuestion):

  • Audit scope: Complete (all 10 phases) vs. focused (specific phases)
  • Phase order: Sequential (01>10, default) vs. Smart Order (Security>Dependencies>Code>Rest, recommended)

[CHECKPOINT: decision] — User selects audit scope and phase order.

Step 5 — Create state, start first 2 phases


Mode: continue

  1. Read .project-audit-state.json
  2. Identify next pending phase(s)
  3. Generate smart recommendation (> logic in _shared/audit-patterns.md)
  4. Show recommendation as first option in AskUserQuestion, user chooses
  5. Write state immediately after each phase/fix

Fixing Findings

  • Always fix highest severity first: CRITICAL > HIGH > MEDIUM > LOW
  • Per fix: Show problem > Load fix template (from fix-templates.md) > User confirmation > Implement > Test
  • Update fix status in state ("status": "fixed", "fixedIn": "Session N")
  • No auto-fix — every fix requires user confirmation (except auto mode)

Mode: status

Read state file and display:

Project Audit: {{PROJECT_NAME}} (management-repo)
Stack: Shell/Bash, Docker

Phases:
  [done] 01 Structure & Architecture (Session 1, 2 Findings, MUST 100%)
  [done] 02 Dependencies & Ecosystem (Session 1, 1 Finding, MUST 100%)
  [wip]  03 Code Quality (in progress)
  [wait] 04 Git & Versioning
  [wait] 05 CI/CD & Automation
  [wait] 06 Documentation & Onboarding
  [wait] 07 Testing & QA
  [wait] 08 Security & Secrets
  [wait] 09 Deployment & Operations
  [wait] 10 Maintenance & Hygiene

Findings: 3 total
  CRITICAL: 0
  HIGH: 1 (open: 1)
  MEDIUM: 2 (open: 2)
  LOW: 0

Completeness: 2/10 phases completed
  Layer: Source done | Runtime done (2/2 phases)

Mode: report

Generate structured Markdown report based on templates/report.md.

  1. Read state file
  2. Group all findings by phase
  3. Report with Executive Summary, Findings per Phase, Recommendations
  4. Include trend analysis (if history available):
    Trend (recent audits):
      CRITICAL: 3 > 1 > 0  (resolved)
      HIGH:     5 > 3 > 2  (declining)
      Total:   12 > 8 > 5
    Assessment: Project is steadily improving.
    
  5. Save report as PROJECT-AUDIT-REPORT-{YYYY-MM-DD}.md in project root
  6. If previous reports exist: Diff section (new/resolved since last report)

Mode: auto

Fully autonomous project audit without prompts.

Flow

  1. Check orchestrator context: If .audit-orchestrator-state.json exists:
    • Read phaseMapping.project-audit.delegated > skip delegated phases
    • Read sequencingReason > understand context
    • Example: If structure delegated to /audit > skip Phase 01
  2. Auto-detection as in start
  3. All 10 phases run through (no 2-phase limit, skip delegated phases)
  4. Document findings with fix templates from fix-templates.md
  5. Context management: When context is running low:
    • Write state immediately
    • Create task in .tasks.json with handoff note
    • Recommend: "New session with /project-audit continue"
  6. At the end: automatically generate report

Context Protection in Auto Mode

  • Findings are collected but not fixed immediately (documented only)
  • Write state after EVERY phase immediately
  • At context limit: clean abort with complete state
  • Fixes in follow-up sessions with /project-audit continue

10 Phases

#PhasePrefixChecks
01Structure & ArchitectureSTRUCFolder structure, patterns, coupling, layering
02Dependencies & EcosystemDEPPackages, versions, ecosystem health, licenses
03Code QualityQUALPatterns, complexity, dead code, types, linting
04Git & VersioningGIT.gitignore, commits, branches, tags, history
05CI/CD & AutomationCICDWorkflows, actions security, deploy pipelines, hooks
06Documentation & OnboardingDOCREADME, CLAUDE.md, ADRs, API docs, runbooks
07Testing & QATESTTest pyramid, coverage, E2E, mutation testing
08Security & SecretsSECSecrets, supply chain, container security, SAST
09Deployment & OperationsDEPLOYDocker, server, monitoring, rollback, health checks
10Maintenance & HygieneMAINTTech debt, cleanup, lifecycle, deprecations

Details in the phase files under phases/.


Phase Execution

For each phase:

  1. Load base: Read phases/{NN}-{name}.md — universal check items

  2. Load supplements: For each detected stack, load the matching file, ONLY the section relevant to the current phase

    PhaseSupplement Section
    01-structure§Structure
    02-dependencies§Dependencies
    03-code-quality§Code
    04-git§Git
    05-cicd§CICD
    06-documentation§Documentation
    07-testing§Testing
    08-security§Security
    09-deployment§Deployment
    10-maintenance§Maintenance
  3. Project override: If project-audit-context.md exists > include relevant section

  4. Existing findings: Check previous audit docs, do not create duplicates

  5. Source layer: Systematically execute all code/config-based checks

  6. Runtime layer: Execute tool-based checks (when tools are available)

    • Unavailable tools: document, no error
  7. Document findings: Each finding with ID, severity, description, location

  8. Count completeness: MUST/SHOULD/COULD checks (executed vs. skipped)

    • Skipped MUST-checks with reason in checksSkipped[]
    • Phase with <100% MUST = NOT markable as done
  9. Update state: Phase status + completeness + layer status

[CHECKPOINT: verify] — After each phase: show findings + completeness to user, get confirmation.

Supplement Loading Logic

Per phase, the skill loads only relevant stack supplements. Each stack file is structured by sections.

Example Phase 08-security:

> Always: phases/08-security.md (base)
> If node=true: + stacks/node.md §Security
> If docker=true: + stacks/docker.md §Security
> If python=true: + stacks/python.md §Security
> If project-audit-context.md exists: + relevant section

Supplement files:

Stack-KeySupplement Path
node: truestacks/node.md
python: truestacks/python.md
shell: truestacks/shell.md
docker: truestacks/docker.md
monorepo: truestacks/monorepo.md
claude-code: truestacks/claude-code.md
go: truestacks/go.md
terraform: truestacks/terraform.md
github: truestacks/github.md

If a stack is detected but no supplement exists > use base phase only, no error.


Finding-IDs

PhasePrefixExample
01-structureSTRUCSTRUC-01
02-dependenciesDEPDEP-01
03-code-qualityQUALQUAL-01
04-gitGITGIT-01
05-cicdCICDCICD-01
06-documentationDOCDOC-01
07-testingTESTTEST-01
08-securitySECSEC-01
09-deploymentDEPLOYDEPLOY-01
10-maintenanceMAINTMAINT-01

Severity Definitions

LevelCriteriaExamples
CRITICALSecurity vulnerability, data loss, exposed secretsSecrets in repo, SQL injection, open ports
HIGHMissing tests for critical paths, broken CI/CD, CVEsNo tests, outdated deps with CVE, broken pipelines
MEDIUMMissing docs, style inconsistencies, missing .gitignoreNo README, inconsistent naming, missing types
LOWCosmetic, nice-to-have, best practiceOutdated but secure deps, missing comments

Prioritization: CRITICAL > HIGH > MEDIUM > LOW. Security before functional before cosmetic.


State Schema v2.1 (.project-audit-state.json)

Complete state schema (JSON example) + migrations v1>v2 and v2>v2.1: See state-schema.md


Phase Order

Sequential (Default)

01 > 02 > 03 > 04 > 05 > 06 > 07 > 08 > 09 > 10

Smart Order (Recommended)

Prioritized by impact: 08-security > 02-dependencies > 03-code-quality > 05-cicd > 09-deployment > 04-git > 07-testing > 01-structure > 06-documentation > 10-maintenance

Logic: Security and dependencies are most urgent (CVEs, secrets). Code quality and CI/CD have high impact. Structure/docs/maintenance are important but less time-critical.

User chooses at start. Store in state as "phaseOrder": "sequential" or "smart".


Fix Templates

For common findings there are ready-made fix templates in fix-templates.md. Per finding type: code snippet, config change, verify step.


Verification-Depth + Fix Protocol

See _shared/audit-patterns.md (4-Level Verification, Stub-Detection, 5-Step Fix-Protocol). Level 4 (Functional) is mandatory when runtime layer is available. READ + VERIFY never skip.


Context Protection (CRITICAL)

Base rules: See _shared/audit-patterns.md (Max 2 phases, state immediately, no auto-fix).

Project audit specific:

  • Layer tracking: Document source layer and runtime layer status per phase

Smart Next Steps

After completing the project audit, recommend suitable follow-up skills to user:

ConditionRecommendationJustification
>3 HIGH/CRITICAL findings/adversarial-review auditCheck report for completeness
Claude Code project (.claude/ present)/security-scanMCP permissions, hook safety, secret detection
Audit completed/lesson-learned sessionExtract learnings from audit process
Web project detected AND no .audit-state.json/audit startCheck website quality (SEO, A11y, privacy)
Astro project detected AND no .astro-audit-state.json/astro-audit startAstro-specific checks

Output in report: Replace {NEXT_STEPS} placeholder with concrete recommendation list.


Files in This Skill

project-audit/
├── SKILL.md                       <- This file
├── state-schema.md                # State Schema v2.1 + Migrations
├── fix-templates.md               # Quick-Fix templates for common findings
├── phases/
│   ├── 01-structure.md            # Folder structure, architecture, coupling
│   ├── 02-dependencies.md         # Packages, ecosystem, licenses
│   ├── 03-code-quality.md         # Patterns, complexity, dead code
│   ├── 04-git.md                  # .gitignore, commits, branches, tags
│   ├── 05-cicd.md                 # Workflows, actions security, pipelines
│   ├── 06-documentation.md        # README, ADRs, API docs, onboarding
│   ├── 07-testing.md              # Test pyramid, coverage, E2E
│   ├── 08-security.md             # Secrets, supply chain, SAST
│   ├── 09-deployment.md           # Docker, server, monitoring, rollback
│   └── 10-maintenance.md          # Tech debt, cleanup, deprecations
├── stacks/
│   ├── node.md                    # Node.js-specific checks
│   ├── python.md                  # Python-specific checks
│   ├── shell.md                   # Shell/Bash-specific checks
│   ├── docker.md                  # Docker-specific checks
│   ├── monorepo.md                # Monorepo-specific checks
│   ├── claude-code.md             # Claude Code config/skills/agents/hooks checks
│   ├── go.md                      # Go-specific checks
│   ├── terraform.md               # Terraform/IaC-specific checks
│   └── github.md                  # GitHub repo/org security checks
└── templates/
    └── report.md                  # Markdown report template

What ships with it: 20 files

66.9 KB alongside SKILL.md

stacks/

templates/

Gives 0 of the 12 instructions most audit compliance skills give in ~4.6k tokens

Counted across 937 of the 1,487 authors here whose files we hold, read 2026-08-07

  • Fetch latest guidelines before each reviewin 43 of 937, across 3 files
  • Group findings by severityin 43 of 937
  • Check files against all fetched rulesin 42 of 937, across 2 files
  • Output findings in terse file:line formatin 41 of 937, across 3 files
  • Ask user which files to review if none specifiedin 41 of 937, across 3 files
  • Read specified files or prompt user for filesin 39 of 937, across 1 file
  • Generate the audit reportin 33 of 937, across 30 files
  • Assign a severity to every findingin 25 of 937
  • Run automated accessibility scansin 23 of 937, across 13 files
  • Output a markdown audit reportin 22 of 937
  • Map findings to WCAG criteriain 20 of 937, across 10 files
  • Confirm audit scopein 19 of 937, across 9 files

Said here and by no other author read

  • run source layer checks mandatorily
  • run runtime checks when tools are available
  • mark phases incomplete if must checks are skipped
  • ask user to select audit scope and phase order
  • update the state file immediately after each phase
  • group all findings by phase in the report

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,851. 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.