codebase-inspection

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

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/TylerSimons1127/vibe --skill codebase-inspection-tylersimons1127
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: codebase-inspection
Source: https://github.com/TylerSimons1127/vibe/tree/main/skills/github/codebase-inspection
Command: npx skills add https://github.com/TylerSimons1127/vibe --skill codebase-inspection-tylersimons1127

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pygount.

What problem does it solve? Answering questions about repository size and composition—how many lines of code, which languages dominate, and how much is comments versus code—normally requires manual counting or ad-hoc scripts. This Skill standardizes that analysis using pygount with correct exclusion rules. ## Core Features & Use Cases - Language Breakdown: Produces a summary table of files, code lines, and comment lines per programming language. - Targeted Counting: Filters analysis by file suffix (e.g., only Python or YAML) and supports JSON output for programmatic use. - Safe Defaults: Enforces --folders-to-skip for .git, node_modules, and venv directories to prevent hangs on large dependency trees. - Use Case: A user asks "how big is this repo and what is it written in?" and gets a per-language LOC table with code-vs-comment percentages in seconds. ## Quick Start Use the codebase-inspection skill to give me a language breakdown and total lines of code for this repository.

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?▼

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 venv directories.

How to count LOC for only one programming language?▼

Use the --suffix flag to filter by file extension, for example pygount --suffix=py --format=summary . counts only Python files. Multiple suffixes can be comma-separated, such as py,yaml,yml.

Why does pygount hang or take minutes on my repo?▼

pygount crawls every directory by default, including node_modules, .git, and virtual environments, which contain thousands of files. Fix this by passing --folders-to-skip with those directory names.

Why does Markdown show zero code lines in pygount?▼

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

Can pygount output results as JSON for scripts?▼

Yes, pygount supports --format=json for programmatic consumption alongside the default summary table and per-file detailed output. JSON output can be piped into other tools for further processing.

What are the limitations of pygount for line counting?▼

pygount may count JSON lines conservatively, so use wc -l for accurate JSON counts. Very large monorepos are better handled with --suffix filtering to target specific languages instead of scanning everything.