Agent skill

Winforms To Avalonia

by tautcony in tautcony/ChapterTool

Orchestrate a phased WinForms-to-Avalonia migration: behavior contracts, UI-independent application logic, platform adapters, MVVM shell, parity/cutover, evolution, and hardening.

GPL-3.0Auto-check passedDevelopment

Install Winforms To Avalonia

skills CLI
$ npx skills add tautcony/ChapterTool --skill winforms-to-avalonia -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tautcony/ChapterTool winforms-to-avalonia --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tautcony/ChapterTool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/winforms-to-avalonia .claude/skills/winforms-to-avalonia && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
winforms-to-avalonia
GitHub stars
113
Token cost
~1.2k tokens
SKILL.md length
516 words
Files
8 (incl. references)
Skills in repo
9
Repo updated
First seen
Licence
GPL-3.0

At a glance

Orchestrate a phased WinForms-to-Avalonia migration: behavior contracts, UI-independent application logic, platform adapters, MVVM shell, parity/cutover, evolution, and hardening.

  • Works in 5 steps: Locate the legacy tree, target runtime,… → Inventory actual product capabilities… → Choose a phase from the evidence below. → …
  • The request explicitly involves moving a WinForms
  • SKILL.md covers Suite (A–G), Route work, Rules that always apply and Handoff after each phase
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Winforms To Avalonia is an agent skill from tautcony/ChapterTool. 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.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `evals/evals.json`, `references/anti-patterns.md` and `references/architecture-blueprint.md`).

It sits in Development, covering Refactoring. It works with Avalonia and .NET. The repository describes itself as: Cross-platform chapter editing and conversion toolkit for desktop, CLI, WebAssembly, and Node.js, with support for Blu-ray and common media chapter formats. The licence is GPL-3.0.

When your agent uses it

  • The request explicitly involves moving a WinForms
  • .NET Framework desktop UI to Avalonia
  • Continuing that migration
  • Unrelated migrations

Example prompts

  • “/winforms-to-avalonia”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  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.

What it can do on your machine

Read from SKILL.md and the folder at commit 5034449. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Winforms To Avalonia loads about 1.2k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 133 tokens; SKILL.md has 516 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~133
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tautcony/ChapterTool at commit 5034449, republished under its GPL-3.0 licence (© tautcony). 516 words, ~1,205 tokens.

Download SKILL.mdSave it as .claude/skills/winforms-to-avalonia/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
winforms-to-avalonia
description
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.

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
Show full SKILL.md (265 more words)Show less

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.

© tautcony, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (references) in .codex/skills/winforms-to-avalonia of tautcony/ChapterTool.

  • SKILL.md
  • evals/evals.json
  • references/anti-patterns.md
  • references/architecture-blueprint.md
  • references/execution-corrections.md
  • references/lifecycle-full.md
  • references/phase-roadmap.md
  • references/reusable-learnings.md

Open the folder on GitHubat commit 5034449

Compare with similar skills

Winforms To Avalonia next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Winforms To Avalonia compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Winforms To Avalonia this skilltautcony/ChapterTool113—~1.2kAutomated safety check: PassGPL-3.0
.NET Native AOT Compatibilitydotnet/skills5.6k2 repos~4.2kAutomated safety check: PassMIT
Add Refactoringdotnet/roslynator3.5k—~946Automated safety check: PassCustom licence
Coverage Analysismicrosoft/testfx1k2 repos~2.8kAutomated safety check: PassMIT
Roslynkmrpmorris/Roslynk1361 repos~3.8kAutomated safety check: PassMIT
Csharp Refactoringmicrosoft/testfx1k2 repos~3.1kAutomated safety check: PassMIT

Similar skills

  • Official

    Makes .NET projects compatible with Native AOT and trimming by resolving IL trim and AOT analyzer warnings through annotations rather than suppressions.

    5.6k GitHub starsUsed in 2 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Add Refactoring

    dotnet/roslynator

    Official

    A skill your agent uses when adding a new RR refactoring in roslynator, editing Refactorings.xml, registering in RefactoringContext, or when refactorings-testing.md shows XunitRefactoringVerifier —…

    3.5k GitHub stars~946 tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Coverage Analysis

    microsoft/testfx

    Official

    Activation requires either supplied .NET coverage reports/percentages/line, branch, or condition metrics, or an explicit request to collect .NET coverage for analysis.

    1k GitHub starsUsed in 2 repos~2.8k tokens
    DevelopmentAuto-check passed
  • Roslynk

    mrpmorris/Roslynk

    How to use the Roslynk MCP tools (mcproslynk) effectively for .NET work.

    136 GitHub starsUsed in 1 repo~3.8k tokens
    DevelopmentAuto-check passed
  • Csharp Refactoring

    microsoft/testfx

    Official

    Safely refactors C/.NET code without changing behavior. An agent skill from microsoft/testfx.

    1k GitHub starsUsed in 2 repos~3.1k tokens
    DevelopmentAuto-check passed
  • Dynamo Dotnet Expert

    DynamoDS/Dynamo

    Write and review C/.NET code in Dynamo following Dynamo coding standards, modern C patterns, and repo conventions.

    2k GitHub stars~922 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from tautcony/ChapterTool

All 9 skills in this repo
  • Reclaim Code Entropy

    tautcony/ChapterTool

    Find, rank, and safely remove accidental codebase complexity by proving real consumers, dynamic entrypoints, compatibility obligations, duplicate representations, speculative surfaces, and lifecycle…

    113 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Wfa Harden Decompose

    tautcony/ChapterTool

    Phase G of a WinForms-to-Avalonia migration: decompose oversized UI state and orchestration, harden asynchronous workflows and external boundaries, preserve composition lifetimes, keep Headless…

    113 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Wfa Post Port Evolve

    tautcony/ChapterTool

    Phase F of a WinForms-to-Avalonia migration: evolve the Avalonia trunk after cutover without reintroducing WinForms coupling or bypassing established layers.

    113 GitHub stars~914 tokensUpdated today
    Auto-check passed
  • Wfa Avalonia UI

    tautcony/ChapterTool

    Phase D of a WinForms-to-Avalonia migration: build the Avalonia UI shell with composition, MVVM state and commands, responsive XAML, accessibility, localization boundaries, and behavior-focused…

    113 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Wfa Capture Contracts

    tautcony/ChapterTool

    Phase A of a WinForms-to-Avalonia migration: inventory the legacy application, split responsibilities, capture command and state contracts, build a coverage matrix, and define acceptance evidence…

    113 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Wfa Extract Domain

    tautcony/ChapterTool

    Phase B of a WinForms-to-Avalonia migration: extract UI-independent application behavior, state rules, use cases, and boundary contracts with TDD and no WinForms/Avalonia references.

    113 GitHub stars~862 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Winforms To Avalonia

What does Winforms To Avalonia do?

Orchestrate a phased WinForms-to-Avalonia migration: behavior contracts, UI-independent application logic, platform adapters, MVVM shell, parity/cutover, evolution, and hardening. Winforms To Avalonia is an agent skill from tautcony/ChapterTool. Orchestrate a phased WinForms-to-Avalonia migration: behavior contracts, UI-independent application logic, platform adapters, MVVM shell, parity/cutover, evolution, and hardening.

When should I use Winforms To Avalonia?

Winforms To Avalonia fits situations like: the request explicitly involves moving a WinForms; .NET Framework desktop UI to Avalonia; continuing that migration; unrelated migrations.

How do I install Winforms To Avalonia in Claude Code?

Run `npx skills add tautcony/ChapterTool --skill winforms-to-avalonia -a claude-code`. Or copy the skill folder (.codex/skills/winforms-to-avalonia in tautcony/ChapterTool) into .claude/skills/winforms-to-avalonia in your project. Claude Code loads it when a task matches its description.

How do I install Winforms To Avalonia in Codex?

Run `npx skills add tautcony/ChapterTool --skill winforms-to-avalonia -a codex`. Or copy the skill folder (.codex/skills/winforms-to-avalonia in tautcony/ChapterTool) into .agents/skills/winforms-to-avalonia in your project. Codex loads it when a task matches its description.

Can I use Winforms To Avalonia in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tautcony/ChapterTool --skill winforms-to-avalonia -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/winforms-to-avalonia, .gemini/skills/winforms-to-avalonia, .github/skills/winforms-to-avalonia and .opencode/skills/winforms-to-avalonia in your project.

What does Winforms To Avalonia need to run?

SKILL.md names no scripts, command-line tools or credentials: Winforms To Avalonia is instructions for the agent only.

Does Winforms To Avalonia access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Winforms To Avalonia safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Winforms To Avalonia use?

Winforms To Avalonia is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Winforms To Avalonia use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.1k tokens, read only when the agent opens those files.

What are the alternatives to Winforms To Avalonia?

Skills that share tags, products or a category with Winforms To Avalonia: .NET Native AOT Compatibility (dotnet/skills, 5.6k stars), Add Refactoring (dotnet/roslynator, 3.5k stars), Coverage Analysis (microsoft/testfx, 1k stars) and Roslynk (mrpmorris/Roslynk, 136 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Winforms To Avalonia?

tautcony (a GitHub user) maintains it in tautcony/ChapterTool, which has 113 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.

Source: tautcony/ChapterTool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.