What problem does it solve? Writing Intent Architect templates that emit C# via the CSharpFile fluent builder involves many non-obvious rules — callback priority bands, type resolution through GetTypeName/UseType, sibling placement of else/catch blocks, and obsolete API traps — and mistakes surface as build lifecycle exceptions or uncompilable generated code. ## Core Features & Use Cases - Template authoring rules: Enforces the required contract (CSharpTemplateBase<TModel>, ICSharpFileBuilderTemplate, DefineFileConfig/TransformText) and constructor-based CSharpFile initialization. - Lifecycle and type-resolution guidance: Covers OnBuild/AfterBuild priority bands (0/100/500/1000), single-file vs file-per-model namespace resolution, and DI parameter injection via IntroduceReadonlyField. - Troubleshooting reference: Indexes 11 indexed failure modes such as "Build() needs to be called before ToString()", double semicolons from AddReturn, and FindMethod returning only the first overload. - Use Case: When converting a *TemplatePartial.cs to emit C# via CSharpFile, use this Skill to structure the constructor, register callbacks at correct priorities, and resolve model types without hardcoded namespaces. ## Quick Start Use the file-builder-expert skill to review my TemplatePartial.cs and convert it to emit C# through the CSharpFile fluent builder API.