project-recon

作者: microsoft

零依赖的代码仓库外壳侦察工具——检测编程语言、统计代码行数并报告项目规模。纯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增长黑客角色
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)、点击分析、遥测初始化器,以及从浏览器发出的代理/工具/模型跨度所遵循的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”、“工作区”、“模型注册表”、“训练作业”、“数据集”。
development