proj/SKILLS/type-get-json-schema/SKILL.md
Generates a JSON Schema for a given C# type name using reflection. Supports primitives, enums, arrays, generic collections, dictionaries, and complex objects. The type must be present in any loaded assembly. Use the full type name (e.g. 'UnityEngine.Vector3') for best results.
npx skillsauth add luxuia/testgame1 type-get-json-schemaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generates a JSON Schema for a given C# type name using reflection. Supports primitives, enums, arrays, generic collections, dictionaries, and complex objects. The type must be present in any loaded assembly. Use the full type name (e.g. 'UnityEngine.Vector3') for best results.
Execute this tool directly via the MCP Plugin HTTP API:
curl -X POST http://localhost:52605/api/tools/type-get-json-schema \
-H "Content-Type: application/json" \
-d '{
"typeName": "string_value",
"descriptionMode": "string_value",
"propertyDescriptionMode": "string_value",
"includeNestedTypes": false,
"writeIndented": false
}'
curl -X POST http://localhost:52605/api/tools/type-get-json-schema \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"typeName": "string_value",
"descriptionMode": "string_value",
"propertyDescriptionMode": "string_value",
"includeNestedTypes": false,
"writeIndented": false
}'
The token is stored in the file:
UserSettings/AI-Game-Developer-Config.jsonUsing the format:"token": "YOUR_TOKEN"
| Name | Type | Required | Description |
|------|------|----------|-------------|
| typeName | string | Yes | Full C# type name to generate the schema for. Examples: 'System.String', 'UnityEngine.Vector3', 'System.Collections.Generic.List<System.Int32>'. Simple names like 'Vector3' are also accepted when unambiguous. |
| descriptionMode | string | No | Controls the type-level 'description' field. Include: keep on the target type only. IncludeRecursively: keep on the target type and inside $defs entries. Ignore: strip all type-level descriptions. Default: Ignore. |
| propertyDescriptionMode | string | No | Controls 'description' fields on properties, fields, and array items. Include: keep on the target type's own properties/items only. IncludeRecursively: keep on all properties/items including those inside $defs entries. Ignore: strip all property/item descriptions. Default: Ignore. |
| includeNestedTypes | boolean | No | When true, complex nested types are extracted into '$defs' and referenced via '$ref' instead of being inlined. Useful for large or recursive types. Default: false. |
| writeIndented | boolean | No | Whether to format the output JSON with indentation for readability. Default: false. |
{
"type": "object",
"properties": {
"typeName": {
"type": "string",
"description": "Full C# type name to generate the schema for. Examples: \u0027System.String\u0027, \u0027UnityEngine.Vector3\u0027, \u0027System.Collections.Generic.List\u003CSystem.Int32\u003E\u0027. Simple names like \u0027Vector3\u0027 are also accepted when unambiguous."
},
"descriptionMode": {
"type": "string",
"enum": [
"Include",
"IncludeRecursively",
"Ignore"
],
"description": "Controls the type-level \u0027description\u0027 field. Include: keep on the target type only. IncludeRecursively: keep on the target type and inside $defs entries. Ignore: strip all type-level descriptions. Default: Ignore."
},
"propertyDescriptionMode": {
"type": "string",
"enum": [
"Include",
"IncludeRecursively",
"Ignore"
],
"description": "Controls \u0027description\u0027 fields on properties, fields, and array items. Include: keep on the target type\u0027s own properties/items only. IncludeRecursively: keep on all properties/items including those inside $defs entries. Ignore: strip all property/item descriptions. Default: Ignore."
},
"includeNestedTypes": {
"type": "boolean",
"description": "When true, complex nested types are extracted into \u0027$defs\u0027 and referenced via \u0027$ref\u0027 instead of being inlined. Useful for large or recursive types. Default: false."
},
"writeIndented": {
"type": "boolean",
"description": "Whether to format the output JSON with indentation for readability. Default: false."
}
},
"required": [
"typeName"
]
}
{
"type": "object",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
]
}
development
Execute Unity tests and return detailed results. Supports filtering by test mode, assembly, namespace, class, and method. Recommended to use 'EditMode' for faster iteration during development.
tools
Updates or creates script file with the provided C# code. Does AssetDatabase.Refresh() at the end. Provides compilation error details if the code has syntax errors. Use 'script-read' tool to read existing script files first.
tools
Reads the content of a script file and returns it as a string. Use 'script-update-or-create' tool to update or create script files.
development
Compiles and executes C# code dynamically using Roslyn. The provided code must define a class with a static method to execute.