template-authoring

Create and validate dotnet new templates from .csproj sources.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/1k-off/umbraco-observability-playground --skill template-authoring-1k-off
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: template-authoring
Source: https://github.com/1k-off/umbraco-observability-playground/tree/main/.agents/skills/template-authoring
Command: npx skills add https://github.com/1k-off/umbraco-observability-playground --skill template-authoring-1k-off

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you reliably create and validate custom dotnet new templates by generating a correct template.json from an existing project and catching common authoring mistakes before packaging or publishing.

Core Features & Use Cases

  • Template Bootstrapping: Generate .template.config/template.json from a source .csproj while preserving relevant SDK/project characteristics and establishing a correct identity, shortName, and tags.
  • template.json Validation: Detect missing required fields, incorrect reverse-DNS identity formatting, invalid parameter definitions, shortName conflicts with dotnet CLI commands, and incomplete/incorrect post-action configuration.
  • Test-First Refinement: Improve the template by adding parameters, conditional content, constraints, and then validate it locally via install, dry-run, and build checks. Use case: Convert an internal library project into a repeatable dotnet new template that produces consistent starter code and solution structure across a team.

Quick Start

Ask the skill to bootstrap a template.json from your existing .csproj, validate the resulting template.json, then generate a corrected version ready for local install and dry-run.

Frequently Asked Questions about template-authoring

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a dotnet new template from an existing .csproj file?

Create a dotnet new template by bootstrapping a .template.config/template.json file from your source .csproj. This preserves SDK characteristics and establishes a correct reverse-DNS identity, shortName, and tags for the template.

What is a reverse-DNS identity in template.json and why does it matter?

A reverse-DNS identity in template.json is a unique naming convention required for dotnet new templates. It prevents conflicts and ensures your template can be installed and instantiated successfully without shortName or identity collisions.

Why does my dotnet new template fail to install or instantiate locally?

Dotnet new template installation fails when template.json contains missing required fields, invalid parameter schemas, or incorrect post-action configurations. Validate your template.json to catch these authoring errors before packaging.

How do I validate template.json parameters and post-actions before NuGet packaging?

Validate template.json parameters and post-actions by checking schema compliance for parameter definitions, constraints, and post-action configuration. This ensures your template is ready for local install, dry-run, and build checks before NuGet packaging.

Can I convert an internal library project into a repeatable dotnet new template?

Yes, you can convert an internal library project into a repeatable dotnet new template. It generates a template.json from your .csproj and validates it, producing consistent starter code and solution structure across a team.

What are common limitations when authoring dotnet custom templates?

Common limitations when authoring dotnet custom templates include shortName conflicts with dotnet CLI commands, incomplete post-action configuration, and incorrect reverse-DNS identity formatting. Validating template.json detects these issues before local testing.