* Add dotnet-template-engine plugin
Add template-engine skills for .NET project scaffolding powered by the
DotnetTemplateMCP MCP server (v1.1.0). Includes three skills and one agent:
Skills:
- template-discovery: find, inspect, and compare templates with intent
resolution (70+ keyword mappings)
- template-instantiation: create projects with CPM adaptation, latest NuGet
versions, parameter validation, and multi-template composition
- template-authoring: create templates from existing projects and validate
template.json for authoring issues
Agent:
- template-engine: expert agent that routes to the appropriate skill based
on user intent
Also adds CODEOWNERS entries, marketplace.json registration, eval tests,
and .mcp.json for DotnetTemplateMCP server configuration.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address review feedback: mcpServers in plugin.json, expect_tools, path fix
- Move MCP server config into plugin.json under mcpServers so SkillValidator
discovers the template_* tools during evaluation runs
- Add expect_tools constraints to all eval scenarios to verify actual MCP
tool invocation instead of relying on rubric text alone
- Fix frontmatter path: template.config → .template.config (leading dot)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update DotnetTemplateMCP to v1.2.0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Include 'dotnet new' in agent description for discoverability
Address review feedback from danmoseley: the frontmatter description
is how the caller decides whether to load the agent tokens, so it
needs to mention 'dotnet new' as a trigger keyword.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Remove MCP server configuration and references
- Delete .mcp.json MCP server config file
- Remove mcpServers section from plugin.json
- Remove MCP/DotnetTemplateMCP references from agent, skills, and marketplace descriptions
- Skills and eval files remain unchanged
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Remove ghost tool references and add CLI fallback guidance
- Remove references to 4 non-existent tools: template_compose,
template_suggest_parameters, template_validate, solution_analyze
- Replace with real alternatives (template_inspect, manual review,
sequential template_instantiate, direct file inspection)
- Add CLI fallback guidance so LLMs degrade gracefully when
template tools are unavailable
- Fix authoring eval to not expect template_validate tool
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address review feedback: CODEOWNERS naming, claude marketplace, README
- Rename CODEOWNERS header to dotnet-template-engine for consistency
- Mirror plugin entry in .claude-plugin/marketplace.json
- Add plugin to README What's Included table
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix PR review comments: align eval rubric with expect_tools and sync marketplace.json
- Updated template-discovery eval.yaml rubric to match expect_tools
(removed 'or template_search' since expect_tools enforces template_from_intent)
- Made .claude-plugin/marketplace.json byte-for-byte identical to
.github/plugin/marketplace.json (removed extra trailing newline)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address review comments: strengthen eval assertions and fix rubrics
- Add exit_success assertions to all eval scenarios
- Add file_exists and file_contains assertions for template-instantiation
- Add output_contains for shortName and datatype in template-authoring
- Fix rubrics to reference actual tools (skill + dotnet new CLI) instead
of non-existent MCP tools (template_from_intent, template_inspect,
template_instantiate) which caused the judge to penalize quality scores
- Update expect_tools from non-existent MCP tools to 'skill'
- Change plugin version from 1.2.0 to 0.1.0 for consistency with other plugins
- Remove extra blank line in README.md after plugin table
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Rewrite skills and agent to use dotnet new CLI instead of phantom MCP tools
The SKILL.md files and agent.md referenced MCP tools (template_from_intent,
template_inspect, template_instantiate, template_dry_run, etc.) that are
not available at runtime since no MCP server is declared in plugin.json.
This caused the agent to waste tokens attempting to find these tools before
falling back to dotnet new CLI commands.
Changes:
- template-discovery/SKILL.md: Replace MCP tool calls with dotnet new
search, dotnet new list, dotnet new --help, and dotnet new --dry-run.
Add intent-to-template keyword mapping table.
- template-instantiation/SKILL.md: Replace template_instantiate with
dotnet new CLI commands. Add explicit CPM adaptation steps and
multi-project composition with dotnet sln/dotnet add reference.
- template-authoring/SKILL.md: Replace template_create_from_existing
with manual template.json creation guidance including example JSON.
Replace template_dry_run/template_instantiate with CLI equivalents.
- template-engine.agent.md: Replace Available Tools table with CLI
Commands Reference. Update all workflow steps to use CLI commands.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix file assertion paths: remove ./ prefix for glob matcher compatibility
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>