Skip to content
cccskills
FreePublished on GitHub

winforms-to-avalonia

Orchestrate a phased WinForms-to-Avalonia migration: behavior contracts, UI-independent application logic, platform adapters, MVVM shell, parity/cutover, evolution, and hardening. Use when the request explicitly involves moving a WinForms or .NET Framework desktop UI to Avalonia, or continuing that migration. Do not trigger for unrelated migrations, rewrites, ViewModel refactors, settings work, or command-line work without WinForms-to-Avalonia context. Load this orchestrator before one matching phase skill.

The English summary is being prepared. Showing the original description.

See how to install

Files included (8)

  • SKILL.md4.7 KB
  • evals/evals.json3.3 KB
  • references/anti-patterns.md2.7 KB
  • references/architecture-blueprint.md2.2 KB
  • references/execution-corrections.md5.8 KB
  • references/lifecycle-full.md2.2 KB
  • references/phase-roadmap.md1.4 KB
  • references/reusable-learnings.md5.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

WinForms -> Avalonia (generic orchestrator)

Rewrite for behavior contracts and layered architecture, not control-for-control ports. WinForms handlers and Designer state are evidence of what users can do; Avalonia Views only present ViewModel state.

Suite (A–G)

PhaseSkillGeneric outcome
Awfa-capture-contractsInventory, modules, command contracts, coverage matrix, capability split
Bwfa-extract-domainUI-independent application core, boundary ports, TDD
Cwfa-platform-servicesPlatform and infrastructure adapters
Dwfa-avalonia-uiComposition root, MVVM, bindings, secondary tools
Ewfa-parity-verifyDiff matrix, acceptance, packaging, trunk/cutover
Fwfa-post-port-evolveProduct evolution without reintroducing legacy coupling
Gwfa-harden-decomposeState decomposition, resilience, security review, test isolation

Shared references (all product-agnostic):

  • references/lifecycle-full.md — A–G journey and gates
  • references/phase-roadmap.md — critical path and parallelism
  • references/architecture-blueprint.md — layering and composition
  • references/anti-patterns.md — port and long-term smells
  • references/reusable-learnings.md — distilled rules of thumb
  • references/execution-corrections.md — how humans correct agents mid-migration (read this)

Route work

  1. Locate the legacy tree, target runtime, repository guidance, and existing migration artifacts.
  2. Inventory actual product capabilities before proposing abstractions or project boundaries.
  3. Choose a phase from the evidence below.
  4. Load one phase skill and only the references needed for that work.
  5. Use the repository's specification workflow per capability slice when applicable.
SituationPhase
No contracts / file coverage mapA
Business rules or use-case orchestration still inside Forms/helpersB
Filesystem, process, dialogs, settings, or OS APIs leak into the application coreC
UI event-driven / manual control refreshD
Comparing old vs new / delete legacy?E
Avalonia is the trunk; evolving discovered product capabilitiesF
Oversized ViewModels, stale async results, security debt, mixed Headless hostG

Rules that always apply

  1. Contracts before controls - command catalog, state transitions, external effects, and acceptance evidence.
  2. Discover before abstracting - never assume a feature, integration, or storage mechanism exists.
  3. Layering - the application core has no Avalonia/WinForms types; adapters own environment-specific effects.
  4. Diagnostics over UI prompts below the presentation layer.
  5. State over controls - bindings and application state are authoritative; do not scrape controls before commands.
  6. Consistent behavior - one rule or option must produce the same semantics at every entry point and consumer.
  7. Security before release - bound untrusted input, external resource access, and dynamic execution in the phase that introduces them.
  8. Durable writes - version, validate, and atomically replace persisted state; preserve recoverable data on failure.
  9. No source-text tests that grep implementation files; no file-existence-only unit tests.
  10. Headless UI tests run in a separate project/process from non-UI unit tests.
  11. Sequential tests when multiple projects share build outputs.
  12. Legacy delete only after parity evidence and explicit decisions for every remaining gap.
  13. Half-extractions are bugs - extracted types must own behavior or be removed.
  14. Analyze then patch - establish the cause before changing architecture or adding fallbacks.
  15. Clean cuts over dual paths when the target design has been chosen.
  16. Firm specification decisions - do not leave incompatible designs simultaneously optional.
  17. Tasks need evidence - code, behavior tests, and command output before marking done.

Handoff after each phase

  • Artifacts and paths
  • Specification/change status if used
  • Gaps and decisions
  • Next phase skill
  • Tests run

For “do the whole migration,” still checkpoint after A and after B+C before large UI work.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

The English summary is being prepared. Showing the original description.

tautcony/ChapterTool113Updated Oct 14, 2026

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

The English summary is being prepared. Showing the original description.

tautcony/ChapterTool113Updated Oct 14, 2026

Archive multiple completed changes at once. Use when archiving several parallel changes.

The English summary is being prepared. Showing the original description.

tautcony/ChapterTool113Updated Oct 14, 2026

Continue working on an OpenSpec change by creating the next artifact. Use when the user wants to progress their change, create the next artifact, or continue their workflow.

The English summary is being prepared. Showing the original description.

tautcony/ChapterTool113Updated Oct 14, 2026

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

The English summary is being prepared. Showing the original description.

tautcony/ChapterTool113Updated Oct 14, 2026

Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.

The English summary is being prepared. Showing the original description.

tautcony/ChapterTool113Updated Oct 14, 2026

See all skills by tautcony

Report a problem with this skill