codebase-inspection

Inspect codebases with pygount to report LOC, language breakdown, and code-to-comment ratios.

115|9|Updated Aug 5, 2026
One-click install
npx skills add https://github.com/AtlasOmnia/donna-starter --skill codebase-inspection-atlasomnia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: codebase-inspection
Source: https://github.com/AtlasOmnia/donna-starter/tree/main/skills/github/codebase-inspection
Command: npx skills add https://github.com/AtlasOmnia/donna-starter --skill codebase-inspection-atlasomnia

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pygount.

What problem does it solve? Answering questions about repository size, language composition, and code-versus-comment ratios requires running the right counting tool with the right exclusions, which is easy to get wrong on large projects. ## Core Features & Use Cases - Language Breakdown: Produces a summary table of files, code lines, and comment lines per programming language using pygount. - Targeted Counting: Filters analysis by file suffix (e.g., Python only) and excludes dependency directories like node_modules and .git to avoid hangs. - Multiple Output Formats: Supports summary tables, per-file detail, and JSON output for programmatic consumption. - Use Case: A developer evaluating an unfamiliar open-source repo asks how large it is and what languages it uses, and receives a clean per-language LOC summary with build and vendor directories excluded. ## Quick Start Analyze this repository and give me a breakdown of lines of code by programming language, excluding dependencies and build folders.

Frequently Asked Questions about codebase-inspection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I count lines of code in a repository by language?

Run pygount with --format=summary from the repository root to get a per-language table of files, code lines, and comment lines. Always pass --folders-to-skip to exclude .git, node_modules, and virtualenv directories.

How to count LOC for only one programming language with pygount?

Use the --suffix flag to restrict analysis, for example --suffix=py for Python files only or --suffix=py,yaml,yml for multiple types. Combine it with --format=summary for a compact breakdown.

Why does pygount hang or take a long time on my repo?

pygount crawls every directory by default, including .git, node_modules, and virtualenvs, which can contain millions of files. Always pass --folders-to-skip with dependency and build directories to keep scans fast.

Why does pygount show zero code lines for Markdown files?

pygount classifies all Markdown content as comments rather than code, so Markdown files show zero code lines. This is expected behavior, not a bug in the counting.

Can pygount output results as JSON for scripts?

Yes, pygount supports --format=json for programmatic consumption, alongside the default per-file listing and the summary table format. JSON output is useful when feeding metrics into other tools.