project-recon

作者: microsoft

零依賴的 shell 重構工具,適用於任何程式碼倉庫 — 偵測語言、計算程式碼行數,並報告專案規模。純 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
開源增長駭客角色
agent-framework-azure-ai-py
microsoft
使用Microsoft Agent Framework Python SDK(agent-framework-azure-ai)构建Azure AI Foundry代理。适用于使用AzureAIAgentsProvider创建持久化代理、使用托管工具(代码解释器、文件搜索、网络搜索)、集成MCP服务器、管理对话线程或实现流式响应。涵盖函数工具、结构化输出和多工具代理。
development
airunway-aks-setup
microsoft
在AKS上設定AI Runway——從裸叢集到執行模型。涵蓋叢集驗證、控制器安裝、GPU評估、供應商設定及首次部署。時機:「設定AI Runway」、「上線AKS叢集」、「安裝AI Runway」、「airunway設定」、「部署模型至AKS」、「在AKS上進行GPU推論」、「在AKS上設定KAITO」、「在AKS上執行LLM」、「在AKS上使用vLLM」、「在AKS上設定模型服務」、「AI Runway控制器」。
devops
appinsights-instrumentation
microsoft
使用Azure Application Insights檢測Web應用程式的指南。提供遙測模式、SDK設定與組態參考。適用時機:如何檢測應用程式、App Insights SDK、遙測模式、什麼是App Insights、Application Insights指南、檢測範例、APM最佳實踐。
devops
applicationinsights-web-ts
microsoft
使用Application Insights JavaScript SDK(@microsoft/applicationinsights-web)為瀏覽器/Web應用程式進行檢測。適用於真實使用者監控(RUM)——頁面檢視、點擊、AJAX/fetch依賴、例外、自訂事件,以及與後端OpenTelemetry追蹤關聯的瀏覽器端GenAI代理追蹤。涵蓋SDK載入器指令碼與npm設定、框架擴充(React、React Native、Angular)、點擊分析、遙測初始化器,以及從瀏覽器發出的代理/工具/模型span的OTel GenAI語意慣例。
devops
azure-ai-anomalydetector-java
microsoft
使用適用於 Java 的 Azure AI 異常偵測器 SDK 建置異常偵測應用程式。在實作單變量/多變量異常偵測、時間序列分析或 AI 驅動監控時使用。
development
azure-ai-language-conversations-py
microsoft
使用 azure-ai-language-conversations Python SDK 實作對話語言理解(CLU)。當使用 ConversationAnalysisClient 分析對話意圖與實體、建置 NLP 功能,或將語言理解整合至應用程式時使用。
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 for Python。用於機器學習工作區、作業、模型、資料集、計算資源與管線。 觸發詞:「azure-ai-ml」、「MLClient」、「workspace」、「model registry」、「training jobs」、「datasets」。
development