project-recon

作成者: microsoft

依存関係ゼロのシェルリコンで、あらゆるコードリポジトリの言語検出、LOCカウント、プロジェクト規模の報告が可能。純粋なPOSIXのfind/wcまたはPowerShellを使用し、Pythonなどは不要…

npx skills add https://github.com/microsoft/github-copilot-modernization --skill project-recon

Project Recon: Zero-Dependency Repo Sizing

What this skill does

Quickly answers: how big is this repo and what's in it. Shell-only (POSIX find + wc or PowerShell), runs anywhere, no install needed.

Output Format

Emit exactly this JSON structure — no additional fields:

{
  "total_loc": <int>,
  "languages": { "<lang>": <loc>, ... },
  "top_level_dirs": <int>,
  "primary_language": "<lang with highest LOC>",
  "git": <bool>
}
  • total_loc: sum of non-blank lines across all detected source files
  • languages: per-language LOC breakdown (only languages actually found)
  • top_level_dirs: count of immediate subdirectories under repo root (excluding hidden dirs)
  • primary_language: the language key with the highest LOC
  • git: whether the project root is a git repository (git rev-parse --git-dir succeeds)

Do NOT add fields beyond this schema. No descriptions, no module lists, no domain analysis.

Files

FilePurpose
references/language-extensions.yamlLanguage → file extension mapping + generated-file suffixes to skip
references/exclude-patterns.yamlDirectory exclude rules (global + per-language)
references/loc-shell.mdbash + PowerShell counting templates

Workflow

  1. Detect languages. Scan for manifest files (pom.xml, *.csproj, package.json, go.mod, etc.) or dominant extensions. Look up language-extensions.yaml for the canonical extension list.
  2. Resolve excludes. Union exclude-patterns.yaml::global.dirs with per_language.<lang>.dirs for each detected language.
  3. Count. Use the template from references/loc-shell.md. Run once per detected language, sum for total.
  4. Emit JSON. Output the schema above. Nothing else.

Semantics

  • Counts non-blank lines (wc -l), comment-inclusive. This is intentional — speed and simplicity over precision.
  • Expect 5–15% upward bias vs comment-stripping counters on verbose languages (Java, C#). Acceptable for sizing.

microsoftのその他のスキル

oss-growth
microsoft
OSS成長ハッカーのペルソナ
official
accessibility-aria-expert
microsoft
React/Fluent UIのWebビューにおけるアクセシビリティ問題を検出・修正します。スクリーンリーダー互換性のコードレビュー時、ARIAラベルの修正時、および…の確認時に使用します。
official
generate-canvas-app
microsoft
[DEPRECATED — 代わりに canvas-app を使用してください] 完全なPower Appsキャンバスアプリを生成します。
official
django
microsoft
Djangoウェブ開発のベストプラクティス(モデル、ビュー、テンプレート、テストを含む)
official
github-issue-creator
microsoft
生のメモ、エラーログ、音声入力、スクリーンショットを、簡潔なGitHub Flavored MarkdownのIssueレポートに変換します。ユーザーがバグ情報やエラーを貼り付けた際に使用します。
official
python-package-management
microsoft
依存関係管理にuvを使用し、タスク自動化にpoethepoetを使用します。
official
runtime-validation
microsoft
移行アプリケーションのランタイム検証 — テスト戦略(計画フェーズ)とテスト実行(検証フェーズ)をカバー:起動検証、…
official
azure-postgres-ts
microsoft
pg(node-postgres)パッケージを使用してAzure Database for PostgreSQL Flexible Serverに接続し、パスワード認証とMicrosoft Entra ID(パスワードレス)認証をサポートします。
official