本文へ移動
cccskills
無料GitHub で公開

codebase-inspection

Measure a codebase: lines of code, language mix, and symbol lookups.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Codebase inspection

Analyze repositories for lines of code, language breakdown, file counts, and code-vs-comment ratios using pygount. Run all commands via shell_exec.

Reading code, not just counting it

Counting tells you the shape of a repository. To understand a specific symbol, use lsp, which asks the real language server instead of guessing from text.

lsp requires all four arguments: operation, file, line and character. There is no default position, and an approximate one returns an answer about the wrong symbol.

  • goToDefinition: where this symbol is actually defined.
  • findReferences: every call site, which is what you need before changing a signature.
  • hover: the resolved type and documentation.

Locate the symbol first with file_search or grep, take the exact line and column from that result, then call lsp. Supported servers are rust-analyzer and typescript-language-server; on a project in another language, fall back to text search.

Install

pip install --break-system-packages pygount 2>/dev/null || pip install pygount

1. Basic Summary (Start Here)

cd /path/to/repo && pygount --format=summary \
  --folders-to-skip=".git,node_modules,venv,.venv,__pycache__,.cache,dist,build,.next,.tox,.eggs,vendor,third_party" \
  .

CRITICAL: Always pass --folders-to-skip. Without it, pygount crawls dependency/build directories and can hang for minutes on large repos.

Project-type additions to --folders-to-skip:

  • Python: .mypy_cache,.tox,.eggs
  • JS/TS: .turbo,coverage

2. Filter by Language

# Python only
pygount --suffix=py --format=summary .

# Python + YAML
pygount --suffix=py,yaml,yml --format=summary .

Use --suffix on large monorepos to avoid scanning irrelevant file types.

3. File-by-File Output

# Per-file breakdown (default format, no --format flag)
pygount --folders-to-skip=".git,node_modules,venv" .

# Top 20 files by code lines (Linux/macOS)
pygount --folders-to-skip=".git,node_modules,venv" . | sort -t$'\t' -k1 -nr | head -20

On Windows, skip the sort pipe - use JSON output and post-process instead (see §4).

4. JSON Output (Programmatic / Windows-safe)

pygount --format=json --folders-to-skip=".git,node_modules,venv" . > loc_report.json

Then use execute_code (Python) to parse and aggregate, or file_write to save and pass downstream. Example aggregation:

import json, collections
data = json.load(open("loc_report.json"))
by_lang = collections.defaultdict(lambda: {"files": 0, "code": 0, "comment": 0})
for entry in data:
    lang = entry.get("language", "__unknown__")
    by_lang[lang]["files"] += 1
    by_lang[lang]["code"] += entry.get("code", 0)
    by_lang[lang]["comment"] += entry.get("documentation", 0)
for lang, stats in sorted(by_lang.items(), key=lambda x: -x[1]["code"])[:10]:
    print(f"{lang}: {stats['code']} code, {stats['comment']} comment ({stats['files']} files)")

5. Interpreting the Summary Table

ColumnMeaning
LanguageDetected language
FilesFile count
CodeExecutable/declarative lines
CommentComment/doc lines
%Share of total

Special pseudo-languages: __empty__, __binary__, __generated__, __duplicate__, __unknown__.

Pitfalls

  1. Missing --folders-to-skip - crawls node_modules/venv and hangs. Always include it.
  2. Markdown = 0 code lines - pygount classifies all Markdown as comments. Expected behavior.
  3. JSON files show low counts - pygount is conservative; use wc -l for raw line counts.
  4. Large monorepos - target with --suffix to avoid scanning everything.
  5. pygount not found - run the install command above; confirm with pygount --version.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Drive an installed LaRuche App through its declared actions, never its files.

日本語の概要は準備中です。原文の説明を表示しています。

infinition/LaRuche332026年9月22日 更新

arxiv

無料

Find academic papers on arXiv, with citation counts and BibTeX.

日本語の概要は準備中です。原文の説明を表示しています。

infinition/LaRuche332026年9月22日 更新

ascii-art

無料

Render text or an image as ASCII art for terminal-friendly output.

日本語の概要は準備中です。原文の説明を表示しています。

infinition/LaRuche332026年9月22日 更新

Track RSS/Atom feeds and blogs via blogwatcher-cli.

日本語の概要は準備中です。原文の説明を表示しています。

infinition/LaRuche332026年9月22日 更新

Drive a real web browser: navigate, read, find, click, fill, screenshot

日本語の概要は準備中です。原文の説明を表示しています。

infinition/LaRuche332026年9月22日 更新

Store, find and curate lasting facts in the cognitive memory map.

日本語の概要は準備中です。原文の説明を表示しています。

infinition/LaRuche332026年9月22日 更新

infinition のスキルをすべて見る

このスキルの問題を報告する