technology-selection
Guides technology selection and implementation of AI and ML features in .NET 8+ applications using ML.NET, Microsoft.Extensions.AI (MEAI), Microsoft Agent Framework (MAF), GitHub Copilot SDK, ONNX Runtime, and OllamaSharp. Covers the full spectrum from classic ML through modern LLM orchestration to local inference. Use when adding classification, regression, clustering, anomaly detection, recommendation, LLM integration (text generation, summarization, reasoning), RAG pipelines with vector search, agentic workflows with tool calling, Copilot extensions, or custom model inference via ONNX Runti
npx skills add majiayu000/claude-skill-registry --skill technology-selection --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Guides technology selection and implementation of AI and ML features in .NET 8+ applications using ML.NET, Microsoft.Extensions.AI (MEAI), Microsoft Agent Framework (MAF), GitHub Copilot SDK, ONNX Runtime, and OllamaSharp. Covers the full spectrum from classic ML through modern LLM orchestration to local inference. Use when adding classification, regression, clustering, anomaly detection, recommendation, LLM integration (text generation, summarization, reasoning), RAG pipelines with vector search, agentic workflows with tool calling, Copilot extensions, or custom model inference via ONNX Runtime to a .NET project.
How it works
The skill provides a decision framework to classify a given AI/ML task into technology layers and libraries. It starts by selecting a base abstraction layer (MEAI), then adds a provider SDK (OpenAI, Azure OpenAI, OllamaSharp, etc.) and, if needed, an orchestration layer (Microsoft.Agents.AI) for tool use, multi-step reasoning, or agent loops. It prescribes which libraries to include for classic ML, modern AI, and Copilot extensions, and outlines guarded steps for implementing with dependency injection, guardrails (reproducibility, structured output, retries, cost controls, secret management, and model pinning), and agent/RAG workflows. It also provides concrete XML package references, DI wiring examples, and code patterns for guarding LLM and agentive behavior. The workflow emphasizes layering, non-mixing SDKs per boundary, and using the appropriate combinations for the task type.
When to use it
Use when deciding technology for: structured ML tasks (classification, regression, clustering, anomaly detection, recommendation), natural language tasks (generation, summarization, reasoning), LLM integration, RAG with vector stores, agentic workflows with tool calls, Copilot extensions, or custom ONNX runtime inference in a .NET 8+ project. Do not use for projects targeting .NET Framework (requires .NET 8+), pure data engineering/ETL with no ML/AI component, or projects needing a custom deep learning training loop outside the .NET ecosystem.
What it can touch
Microsoft.Extensions.AI (MEAI) as the abstraction layer; provider SDKs (OpenAI, Azure OpenAI, OllamaSharp, etc.); Microsoft.Agents.AI for orchestration; GitHub.Copilot.SDK for Copilot extensions; Microsoft.ML.OnnxRuntime; OllamaSharp; Microsoft.Extensions.VectorData.Abstractions; Microsoft.Extensions.AI.DataIngestion; tokenizers; and related DI registrations (AddChatClient, etc.).
Caveats
Package references rely on specific versions and prerelease status for some layers (e.g., Microsoft.Agents.AI). The approach requires not mixing raw HTTP calls to providers with MEAI or Agent Framework in the same workflow. It emphasizes guardrails, iteration limits, token budgeting, and strict layering. License indicated: MIT.
# .NET AI and Machine Learning ## Inputs | Input | Required | Description | |-------|----------|-------------| | Task description | Yes | What the AI/ML feature should accomplish (e.g., "classify support tickets", "summarize documents") | | Data description | Yes | Type and shape of input data (structured/tabular, unstructured text, images, mixed) | | Deployment constraints | No | Cloud vs. local, latency SLO, cost budget, offline requirements | | Existing project context | No | Current .csproj, existing packages, target framework | ## Workflow ### Step 1: Classify the task using the decision tree Evaluate the developer's task against this decision tree and select the appropriate technology. State which branch applies and why. | Task type | Technology | Rationale | |-----------|-----------|-----------| | Structured/tabular data: classification, regression, clustering, anomaly detection, recommendation | **ML.NET** (`Microsoft.ML`) | Reproducible (given a fixed seed and dataset), no cloud dependency, purpose-built models for these tasks | | Natural language understanding, generation, summarization, reasoning over unstructured text (single prompt → response, no tool calling) | **LLM
- Inputs
- Workflow
- Step 1: Classify the task using the decision tree
- Step 1b: Select the correct library layer
- Step 2: Select packages and set up the project
- Step 3: Implement with guardrails
- Step 4: Handle non-determinism
- Step 5: Apply performance and cost controls
- Step 6: Validate the implementation
- Validation
- Anti-Patterns to Reject
- Common Pitfalls
dotnet build -c Release -warnaserror dotnet test -c Release
What does the technology-selection skill do?
Guides technology selection and implementation of AI and ML features in .NET 8+ applications using ML.NET, Microsoft.Extensions.AI (MEAI), Microsoft Agent Framework (MAF), GitHub Copilot SDK, ONNX Runtime, and OllamaSharp. Covers the full spectrum from classic ML through modern LLM orchestration to local inference. Use when adding classification, regression, clustering, anomaly detection, recommendation, LLM integration (text generation, summarization, reasoning), RAG pipelines with vector search, agentic workflows with tool calling, Copilot extensions, or custom model inference via ONNX Runti
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill technology-selection --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
