Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

template-validation模板验证

Agent Skill

template-validation 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,158

周安装

129

GitHub Stars

1,496

下载量

1,022
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:template-validation(模板验证)
来源仓库:https://github.com/dotnet/skills
仓库路径:skills/template-validation
安装命令:
npx skills add https://github.com/dotnet/skills --skill template-validation
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dotnet/skills --skill template-validation

简介

template-validation 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 适用于模板合规检查、格式验证和自动化测试场景。
  • 支持对模板语法、变量替换和输出结构进行校验。
  • 安装命令:npx skills add https://github.com/dotnet/skills --skill template-validation。
  • 使用前需确认权限范围、维护状态及是否触发联网或文件读写操作。

SKILL.md

Template Validation

This skill helps validate custom dotnet new templates for correctness before publishing. It encodes the validation rules that catch common authoring mistakes — issues that cause templates to silently fail, produce broken projects, or not appear in dotnet new list.

When to Use

  • User asks to check or validate a template.json file
  • User reports "my template doesn't show up after installing"
  • User wants to review a template before packaging and publishing to NuGet
  • User encounters unexpected behavior from a custom template

When Not to Use

  • User wants to find or use existing templates — route to template-discovery
  • User wants to create a project — route to template-instantiation
  • User wants to create a template from an existing project — route to template-authoring

Inputs

InputRequiredDescription
template.json pathYesPath to the template.json file or the template directory containing .template.config/template.json

Validation Rules

When reviewing a template.json, check ALL of the following categories systematically. Report every finding as an error, warning, or suggestion.

1. Required Fields

FieldSeverityRule
identityERRORMust be present and non-empty
nameERRORMust be present and non-empty
shortNameERRORMust be present and non-empty
sourceNameWARNINGWithout it, --name won't customize the generated project name
authorWARNINGImproves template discoverability
descriptionSUGGESTIONHelps users understand what the template creates
classificationsSUGGESTIONImproves search and categorization (e.g., ["Web", "API"])
defaultNameSUGGESTIONProvides a fallback project name when --name is not specified

2. Identity Format

  • ERROR if identity contains spaces — use dots or dashes (e.g., MyCompany.WebApi.CSharp)
  • WARNING if identity has no namespace separator (. or -) — use reverse-DNS format

3. ShortName Conflicts

The following short names conflict with dotnet CLI commands and will cause problems:

new, build, run, test, publish, restore, clean, pack, add, remove, list, nuget, tool, sln, help

  • ERROR if shortName matches any reserved name (case-insensitive)
  • WARNING if shortName is only 1 character — too short for discoverability
  • Note: shortName can be a string or an array of strings; check all values

4. Symbol Validation

For each symbol in the symbols object:

  • ERROR if a symbol is missing the type field
  • For type: "parameter":

- WARNING if no datatype specified (defaults to string) - SUGGESTION if no description (improves --help output) - If datatype: "choice": - ERROR if no choices defined - ERROR if choices is empty - ERROR if defaultValue is not in the choices list - WARNING if optional (not isRequired) and no defaultValue — users get unexpected behavior - If datatype: "bool": - ERROR if defaultValue is not a valid boolean - If datatype: "int": - ERROR if defaultValue is not a valid integer - Valid datatypes: string, bool, choice, int, float, hex, text - ERROR if datatype is not in the valid list

  • For type: "computed":

- ERROR if missing value expression

  • For type: "generated":

- ERROR if missing generator field - Valid generators: casing, coalesce, constant, port, guid, now, random, regex, regexMatch, switch, join

Parameter prefix collisions: WARNING if any parameter name is a prefix of another parameter name (e.g., Auth and AuthMode) — this creates ambiguous parsing in expression contexts.

5. Sources Validation

For source modifier conditions:

  • WARNING if a condition string doesn't contain parentheses around symbol names — expected format is (symbolName), not bare symbolName

6. Post-Action Validation

For each post-action:

  • ERROR if missing actionId
  • WARNING if missing description — this text is shown to users when the action requires manual steps
  • SUGGESTION if missing manualInstructions — these are shown when the action can't run automatically (e.g., in an IDE)

7. Constraint Validation

For each constraint:

  • ERROR if missing type field
  • WARNING if missing args — most constraint types require arguments

8. Tags Validation

  • SUGGESTION if no language tag — adding tags.language (e.g., "C#") improves filtering in dotnet new list --language
  • SUGGESTION if no type tag — adding tags.type (e.g., "project" or "item") improves categorization

Workflow

Step 1: Locate the template.json

The file can be at:

  • Direct path: path/to/template.json
  • In a template directory: path/to/.template.config/template.json
  • In a .template.config directory: path/.template.config/template.json

Step 2: Parse and validate

Read the JSON. If it's malformed, report the JSON parse error with line number.

Run all 8 validation categories above. Collect errors, warnings, and suggestions separately.

Step 3: Report results

Present findings organized by severity:

  1. Errors (must fix) — template will not work correctly
  2. Warnings (should fix) — template may cause confusion or limited functionality
  3. Suggestions (nice to have) — improvements for discoverability and user experience

Include the total: "X error(s), Y warning(s), Z suggestion(s)"

Common Pitfalls

PitfallImpact
ShortName = "test" or "build"Template can never be created — conflicts with CLI
Missing sourceName--name MyProject doesn't rename anything in the generated files
Choice parameter without defaultValueConfusing user experience on optional choice params
Invalid datatype valueTemplate engine ignores the symbol, causing silent failures
Computed symbol without valueTemplate engine throws at instantiation time
Parameter prefix collision (Auth vs AuthMode)Ambiguous expression evaluation
Source condition without parenthesesCondition may not evaluate correctly

More Info

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.55%
按下载量换算363

Claude

31.37%
按下载量换算321

Cursor

18.74%
按下载量换算192

Gemini CLI

9.23%
按下载量换算94

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills