When the user invokes this skill, they will provide:
- class name
- a list of properties as "Type Name" pairs (comma-separated)
Optional:
- namespace
- file path
- whether to generate constructor
- whether to use record/class
- whether properties are init-only
Rules:
- Ask ZERO follow-up questions unless required to avoid overwriting an existing file.
- Parse the user’s input list. Accept formats like:
- "string FirstName, int Age"
- "string firstName, int age" (PascalCase property names)
- "FirstName:string, Age:int" (support this too if given)
- Generate idiomatic C#:
- Namespace if provided
- public class {Name}
- public {Type} {PropertyName} { get; init; } (default init-only)
- If constructor requested:
- Create a constructor with parameters camelCase
- Assign to properties
- File placement:
- If a path is provided, write there.
- Otherwise, look for a project folder (a directory containing a
.csproj) in the current workspace.