windows-app-organization-maintenance

Reorganize WinUI Windows app code into host, application, and portable core layers.

Updated Jan 15, 2026
One-click install
npx skills add https://github.com/ethanhanderson/church-presenter --skill windows-app-organization-maintenance
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: windows-app-organization-maintenance
Source: https://github.com/ethanhanderson/church-presenter/tree/main/.cursor/skills/windows-app-organization-maintenance
Command: npx skills add https://github.com/ethanhanderson/church-presenter --skill windows-app-organization-maintenance

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of Windows app codebases drifting into inconsistent folder/project structure, causing hard-to-maintain files, unclear ownership of UI vs logic, and messy workspace/content layouts.

Core Features & Use Cases

  • Project boundary enforcement: Keeps WinUI host concerns in ChurchPresenter, testable application logic in ChurchPresenter.Application, and portable core/file-format code in ChurchPresenter.Core.
  • Deterministic placement rules: Guides where pages, view models, controls, services, converters, resources, and interop should live to prevent UI, XAML, and application logic from collapsing into monolithic files.
  • Workspace/content layout preservation: Maintains canonical TitleCase folder structure and correct state location rules (including migration compatibility) when reorganizing workspace/content logic.
  • Cleanup and splitting workflow: Identifies dead code and stale files from recent refactors/renames and splits mixed-purpose files into smaller focused units.

Quick Start

Use windows-app-organization-maintenance to review recent changes under apps/windows, reorganize code into the correct Windows projects and folders, preserve the canonical content/workspace layout, and remove any unused or dead files.

Frequently Asked Questions about windows-app-organization-maintenance

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

FAQPage Schema
How do I split oversized mixed-purpose WinUI files into correct Windows app project layers?

To split oversized WinUI files, separate code into host concerns in the main project, testable application logic in the Application project, and portable core code in the Core project. This enforces project boundaries and prevents UI and application logic from collapsing into monolithic files.

Where should view models, controls, and services live in a WinUI workspace layout?

In a WinUI workspace layout, view models, controls, services, converters, and resources follow deterministic placement rules to maintain namespace-folder alignment. Pages and interop also have designated locations to keep UI separated from testable application logic.

What is the canonical folder structure for preserving workspace and content layout during Windows app reorganization?

The canonical workspace and content layout uses TitleCase folder structure and correct state location rules. Maintaining this structure during reorganization ensures migration compatibility and prevents messy workspace content layouts.

How do I clean up dead code and stale files after refactoring a Windows app?

To clean up dead code after refactoring a Windows app, review recent changes under the apps/windows directory, identify unused files from renames or splits, and remove them using safe cleanup procedures. This keeps the codebase free of drifted remnants.

When do I need to reorganize code between Windows app projects?

You need to reorganize code between Windows app projects when editing files under apps/windows causes structure to drift. This occurs when UI and application logic collapse into monolithic files, making ownership unclear and maintenance difficult.

Does this Windows app maintenance approach require strict .NET and WinUI placement rules?

Yes, this Windows app maintenance approach requires strict adherence to .NET and WinUI placement rules. Following these rules ensures namespace-folder alignment, correct project boundary enforcement, and safe splitting procedures across host, application, and core layers.