Workflow Mastery
codewithmukesh/dotnet-claude-kit
Claude Code workflow mastery for .NET developers. An agent skill from codewithmukesh/dotnet-claude-kit.
Strategic Claude model selection for .NET development workflows.
$ npx skills add Resgrid/Core --skill model-selection -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Resgrid/Core model-selection --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.forge/skills/model-selection .claude/skills/model-selection && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "model-selection" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/model-selection into .claude/skills/model-selection/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-selection", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Resgrid/Core/tree/master/.forge/skills/model-selectionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Resgrid/Core --skill model-selection -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Resgrid/Core model-selection --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.forge/skills/model-selection .agents/skills/model-selection && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "model-selection" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/model-selection into .agents/skills/model-selection/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-selection", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Resgrid/Core --skill model-selection -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Resgrid/Core model-selection --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.forge/skills/model-selection .cursor/skills/model-selection && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "model-selection" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/model-selection into .cursor/skills/model-selection/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-selection", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Resgrid/Core.git --path .forge/skills/model-selection--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Resgrid/Core --skill model-selection -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Resgrid/Core model-selection --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.forge/skills/model-selection .gemini/skills/model-selection && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "model-selection" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/model-selection into .gemini/skills/model-selection/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-selection", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Resgrid/Core model-selectionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Resgrid/Core --skill model-selection -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .github/skills && cp -r skills-src/.forge/skills/model-selection .github/skills/model-selection && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "model-selection" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/model-selection into .github/skills/model-selection/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-selection", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Resgrid/Core --skill model-selection -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Resgrid/Core model-selection --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.forge/skills/model-selection .opencode/skills/model-selection && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "model-selection" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/model-selection into .opencode/skills/model-selection/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-selection", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
model-selectionStrategic Claude model selection for .NET development workflows.
Model Selection is an agent skill from Resgrid/Core. Strategic Claude model selection for .NET development workflows. Guides when to use Opus 4.6 (deep reasoning, architecture, ambiguous problems) vs Sonnet 4.6 (throughput, large context, routine implementation) vs Haiku 4.5 (fast, cheap subagent tasks). Covers model switching workflows, subagent model assignment, and cost-effective task routing. Load this skill when choosing models for tasks, optimizing costs, working with subagents, or when the user mentions "model", "Opus", "Sonnet", "Haiku", "which model"…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Subagents. It works with .NET. The repository describes itself as: The Open Source Computer Aided Dispatch (CAD), Personnel, Shift Management, Automatic Vehicle Location (AVL) and Emergency Management Platform that powers Resgrid.com. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a31015f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
claudeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Model Selection loads about 2k tokens when it runs. Until then it costs about 142 tokens; SKILL.md has 408 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Resgrid/Core at commit a31015f, republished under its Apache-2.0 licence (© Resgrid). 408 words, ~1,990 tokens.
.claude/skills/model-selection/SKILL.md (or your agent's skills folder).Match model to complexity, not size — A 50-file refactor that follows a clear pattern is a Sonnet task (high throughput, simple logic). A 3-file architecture decision with trade-offs is an Opus task (deep reasoning). File count and complexity are orthogonal.
Sonnet is the workhorse — 80% of .NET development tasks are routine: implement a feature following an established pattern, write tests, fix a known bug, run scaffolding. Sonnet 4.6 handles all of these at higher speed and lower cost.
Opus is the architect — Use Opus 4.6 for tasks that require weighing trade-offs, reasoning about system design, debugging subtle issues, or making decisions with incomplete information. Opus excels when the answer isn't obvious.
Context window is a budget, not a dumping ground — Sonnet 4.6's large context window enables working with big codebases but doesn't mean you should load everything. Apply context-discipline principles regardless of model. A focused Sonnet session outperforms a bloated one.
Haiku for fire-and-forget subagents — When a subagent does a simple lookup, runs a script, or fetches information, Haiku 4.5 is fast and cheap. Reserve heavier models for subagents that need to reason.
Classify each task to select the right model:
ROUTINE TASKS → Sonnet 4.6
- Implement a feature following an existing pattern
- Write tests for existing code
- Fix a bug with a clear stack trace
- Add a new endpoint matching the project's convention
- Run scaffolding or code generation
- Apply a known refactoring pattern
- Format, lint, or fix build errors
- Write documentation from existing code
COMPLEX TASKS → Opus 4.6
- Design a new module or subsystem from scratch
- Choose between architecture approaches (VSA vs CA vs DDD)
- Debug a subtle issue with no clear stack trace
- Refactor with trade-offs (performance vs readability, consistency vs simplicity)
- Review architecture for design flaws
- Make decisions with incomplete or conflicting requirements
- Untangle complex dependencies or circular references
- Write a migration strategy for breaking changes
SIMPLE TASKS → Haiku 4.5 (subagents only)
- Look up a file path or symbol location
- Run a build/test and report results
- Search for a pattern across files
- Summarize a file or module
- Format or validate dataThe most effective pattern: Opus plans, Sonnet executes, Opus reviews.
PHASE 1: PLAN (Opus 4.6)
├── Analyze requirements and constraints
├── Identify architectural trade-offs
├── Design the approach with rationale
├── Define acceptance criteria
└── Output: detailed implementation plan
PHASE 2: EXECUTE (Sonnet 4.6)
├── Implement following the Opus plan
├── Write code, tests, configurations
├── Run build and test verification
├── Handle routine issues (compilation errors, test fixes)
└── Output: working implementation
PHASE 3: REVIEW (Opus 4.6)
├── Review implementation against the plan
├── Check for subtle issues (race conditions, N+1, security)
├── Evaluate architectural compliance
├── Suggest refinements
└── Output: approval or specific revision requestsHow to switch in practice:
Claude Code CLI:
- /model opus → Switch to Opus 4.6 (planning/review phases)
- /model sonnet → Switch to Sonnet 4.6 (implementation phase)
- /model auto → Let Claude Code choose based on task
Toggle fast mode:
- /fast → Toggle fast mode (Opus fast output for throughput)Assign models to subagents based on task complexity:
SUBAGENT: "Find all authentication middleware in the project"
→ MODEL: Haiku 4.5
→ WHY: Simple search task, no reasoning required
SUBAGENT: "Run dotnet test and summarize failures"
→ MODEL: Haiku 4.5
→ WHY: Execute command, parse output, no complex analysis
SUBAGENT: "Analyze the dependency graph for circular references and suggest fixes"
→ MODEL: Sonnet 4.6
→ WHY: Needs to understand project structure and propose solutions
SUBAGENT: "Review this PR for architectural issues and security vulnerabilities"
→ MODEL: Opus 4.6
→ WHY: Deep reasoning about trade-offs, subtle issue detection
SUBAGENT: "Summarize what the Orders module does"
→ MODEL: Haiku 4.5 or Sonnet 4.6
→ WHY: Haiku for a quick overview, Sonnet if the module is complex// BAD — Opus for a routine CRUD endpoint
Using Opus 4.6 to implement GetOrderById following the exact same pattern
as the existing GetCustomerById. No decisions to make, just pattern replication.
*Slower and more expensive than needed*
// GOOD — Sonnet for pattern replication
Using Sonnet 4.6 to implement GetOrderById. The pattern is established,
the code is straightforward, and Sonnet executes it faster.// BAD — Sonnet for "should we use VSA or Clean Architecture?"
Sonnet gives a reasonable answer but may miss nuanced trade-offs
about team size, domain complexity, and long-term maintenance.
*The wrong architecture costs months of refactoring*
// GOOD — Opus for architectural decisions
Opus weighs team size, domain complexity, current codebase patterns,
and long-term implications. The architecture decision is worth the
extra reasoning power.// BAD — all subagents use Opus
5 subagents running Opus 4.6:
- "Find OrderService.cs" (Haiku could do this)
- "Run dotnet test" (Haiku could do this)
- "Summarize the Catalog module" (Haiku/Sonnet could do this)
- "Analyze circular dependencies" (Sonnet is sufficient)
- "Review architecture for security issues" (Opus is appropriate)
*4 out of 5 subagents are using more model than needed*
// GOOD — model matches subagent task
- "Find OrderService.cs" → Haiku 4.5
- "Run dotnet test" → Haiku 4.5
- "Summarize the Catalog module" → Haiku 4.5
- "Analyze circular dependencies" → Sonnet 4.6
- "Review architecture for security issues" → Opus 4.6| Scenario | Model | Rationale |
|---|---|---|
| Plan a new feature or module | Opus 4.6 | Requires weighing trade-offs |
| Implement a feature following existing patterns | Sonnet 4.6 | Pattern replication, high throughput |
| Debug a subtle intermittent issue | Opus 4.6 | Requires deep reasoning about state/timing |
| Fix a compilation error | Sonnet 4.6 | Clear error, mechanical fix |
| Write tests for existing code | Sonnet 4.6 | Test patterns are established |
| Architecture review / PR review | Opus 4.6 | Subtle issues need deep analysis |
| Code review for anti-patterns | Sonnet 4.6 | Pattern matching, well-defined rules |
| Refactor across many files (same pattern) | Sonnet 4.6 | Volume + consistency, not deep reasoning |
| Design database schema from requirements | Opus 4.6 | Normalization trade-offs, domain modeling |
| Subagent: file lookup or search | Haiku 4.5 | Simple task, fast and cheap |
| Subagent: summarize a module | Haiku 4.5 | Straightforward reading + compression |
| Subagent: analyze dependencies | Sonnet 4.6 | Needs to reason about structure |
| Working in a very large codebase | Sonnet 4.6 | Large context window + discipline |
| End-of-day wrap-up / handoff | Sonnet 4.6 | Structured capture, no deep reasoning |
© Resgrid, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .forge/skills/model-selection of Resgrid/Core.
Open the folder on GitHubat commit a31015f
Model Selection next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Model Selection this skillResgrid/Core | 229 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Workflow Masterycodewithmukesh/dotnet-claude-kit | 751 | — | ~3.5k | Automated safety check: Pass | MIT | |
| .NET MAUI Code Reviewdotnet/efcore | 15k | — | ~2k | Automated safety check: Pass | MIT | |
| Update Dotty Docsnewrelic/newrelic-dotnet-agent | 117 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 37k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Subagent Driven DevelopmentAsvarox/allkaraoke | 261 | 37 repos | ~1.2k | Automated safety check: Pass | None |
codewithmukesh/dotnet-claude-kit
Claude Code workflow mastery for .NET developers. An agent skill from codewithmukesh/dotnet-claude-kit.
dotnet/efcore
Deep code-only review of a pull request or candidate patch for correctness, safety and .NET MAUI conventions, judging the code before reading the PR description.
newrelic/newrelic-dotnet-agent
A skill your agent uses when the user mentions a Dotty PR, dotty (package/dependency) updates, or asks to update the .NET agent compatibility docs / net-agent-compatibility-requirements after tested…
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Asvarox/allkaraoke
A skill your agent uses when executing implementation plans with independent tasks in the current session
ultralisp/ultralisp
A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Resgrid/Core
Focus code review effort on the 20% of code that causes 80% of issues.
Resgrid/Core
Autonomous iteration loops for .NET development: build-fix, test-fix, refactor, and scaffold loops.
Resgrid/Core
Auto-document insights and discoveries during development sessions.
Resgrid/Core
Observability for .NET 10 applications. An agent skill from Resgrid/Core.
Resgrid/Core
Strategic Codex model selection for .NET development workflows.
Resgrid/Core
End-to-end session lifecycle management for .NET projects. An agent skill from Resgrid/Core.
Works with
Categories
Strategic Claude model selection for .NET development workflows. Model Selection is an agent skill from Resgrid/Core.NET development workflows.
Model Selection fits situations like: tasks that involve Subagents.
Run `npx skills add Resgrid/Core --skill model-selection -a claude-code`. Or copy the skill folder (.forge/skills/model-selection in Resgrid/Core) into .claude/skills/model-selection in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Resgrid/Core --skill model-selection -a codex`. Or copy the skill folder (.forge/skills/model-selection in Resgrid/Core) into .agents/skills/model-selection in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Resgrid/Core --skill model-selection -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/model-selection, .gemini/skills/model-selection, .github/skills/model-selection and .opencode/skills/model-selection in your project.
Going by SKILL.md and its folder, Model Selection needs the command-line tools its instructions call (claude).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Model Selection is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Model Selection: Workflow Mastery (codewithmukesh/dotnet-claude-kit, 751 stars), .NET MAUI Code Review (dotnet/efcore, 15k stars), Update Dotty Docs (newrelic/newrelic-dotnet-agent, 117 stars) and Claude Code Agent Development (anthropics/claude-plugins-official, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Resgrid (a GitHub organization) maintains it in Resgrid/Core, which has 229 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 7, 2026.
Source: Resgrid/Core on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.