Agent skill

Wfa Harden Decompose

by tautcony in 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…

GPL-3.0Auto-check passedDevelopment

Install Wfa Harden Decompose

skills CLI
$ npx skills add tautcony/ChapterTool --skill wfa-harden-decompose -a claude-code

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

GitHub CLI
$ gh skill install tautcony/ChapterTool wfa-harden-decompose --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/wfa-harden-decompose .claude/skills/wfa-harden-decompose && 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
wfa-harden-decompose
GitHub stars
113
Token cost
~1.1k tokens
SKILL.md length
397 words
Files
2 (incl. references)
Skills in repo
9
Repo updated
First seen
Licence
GPL-3.0

At a glance

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…

  • Tasks that involve Async programming
  • SKILL.md covers Track G1 — Typed state…, Track G2 — Extract workflows, Track G3 — Command surface and Track G4 — Composition lifecycle, plus 5 more sections
  • Calls dotnet

What it does

Wfa Harden Decompose is an agent skill from 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 tests process-isolated, and update ownership documentation. Use only when an explicit migration has post-port structural or resilience debt, or when the orchestrator routes here. Baseline input security belongs in the phase that introduces the boundary, not only here.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/decomposition-checklist.md`).

It sits in Development, covering Async programming. It works with Avalonia. 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

  • Tasks that involve Async programming

Example prompts

  • “/wfa-harden-decompose”

What it can do on your machine

Read from SKILL.md and the folder at commit a66d7ce. 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

    Shell commands in SKILL.md call:

    • dotnet

    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

Wfa Harden Decompose loads about 1.1k tokens when it runs, and up to ~1.4k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 397 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.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 a66d7ce, republished under its GPL-3.0 licence (© tautcony). 397 words, ~1,070 tokens.

Download SKILL.mdSave it as .claude/skills/wfa-harden-decompose/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
wfa-harden-decompose
description
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 tests process-isolated, and update ownership documentation. Use only when an explicit migration has post-port structural or resilience debt, or when the orchestrator routes here. Baseline input security belongs in the phase that introduces the boundary, not only here.

Phase G — Harden and decompose

Keep the Avalonia trunk secure and maintainable after features accumulate. Behavior-preserving structural changes preferred; ship large work as ordered PR slices.

Read decomposition checklist to select the tracks supported by code evidence; do not introduce a session/workspace abstraction by default.

Track G1 — Typed state aggregate, when warranted

text
Composition root
  └── Main ViewModel (thin: commands + bindable projections)
        └── State aggregate
              ├── Domain/application state
              ├── Interaction mode (typed, not flag soup)
              ├── Pending changes
              ├── Derived presentation state
              └── Operation preferences
  └── Workflow coordinators
  └── Narrow collaborator ports
  • Mode transitions as pure functions where possible
  • Bindings own options; remove scrape-before-command
  • Route UI actions by stable identifiers, not localized display text
  • Collaborators do not take the full main ViewModel when a narrow port suffices
  • Shared application behavior across every relevant surface and host
Anti-stale async
RuleBehavior
RevisionMonotonic; superseding work advances it
ProgressApply only if revision current
CommitAtomic if revision/context still match
Incremental updateRevision + context token match
CancelNo partial mutation
Stale failureMust not clobber newer state

Require regression tests when touching this.

Track G2 — Extract workflows

Move multi-step orchestration out of the ViewModel:

CollaboratorOwns
Primary workflow coordinatorasync state machine + revision
State transition serviceselection/mode and structural changes when present
Presentation projectionderived view state and option snapshots
Status presenterstatus, progress, and diagnostic formatting

ViewModel remains INPC façade. Half-extraction ban: extracted modules must be wired or deleted.

Expect bridge/proxy lines to remain (bindings need VM properties).

Track G3 — Command surface

Keep one command semantics on the ViewModel; code-behind contains only control/host adapters.

Track G4 — Composition lifecycle

Shared long-lived services; identity tests if needed; controls re-bind when services arrive (not only constructor fallbacks for production hosts).

Show full SKILL.md (151 more words)Show less

Track G5 — Headless isolation

  • Dedicated Headless project (separate process)
  • Serial collection inside Headless
  • Never merge into unit assemblies “to simplify”
  • Behavior tests; avoid long sleeps
  • Sequential multi-project dotnet test

Track G6 — External-boundary security review

  • Recheck size, depth, count, recursion, and allocation bounds before consuming untrusted data.
  • Deny external resource access unless explicitly required and constrained.
  • Constrain dynamic execution by capabilities, time, memory, cancellation, and isolation.
  • Use compact negative fixtures for each boundary actually present.

Track G7 — Alignment docs

  • Spec scenario ↔ implementation matrix after large moves
  • Remediation: finding → design → steps → tests → acceptance
  • Maintainer code map updated in the same change
  • Three-way gate: plan item ↔ OpenSpec task ↔ code/tests/command evidence before checking off
  • Prefer plan review before apply and after structural slices

Deliverables

  • Typed state aggregate if flag soup existed
  • Anti-stale tests
  • Real workflow ownership; dead modules gone
  • Headless isolation intact
  • Security bounds tested
  • Ownership map updated

Handoff

Product features → wfa-post-port-evolve Legacy delete → wfa-parity-verify

© 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 1 other file (references) in .codex/skills/wfa-harden-decompose of tautcony/ChapterTool.

  • SKILL.md
  • references/decomposition-checklist.md

Open the folder on GitHubat commit a66d7ce

Compare with similar skills

Wfa Harden Decompose 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.

Wfa Harden Decompose compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wfa Harden Decompose this skilltautcony/ChapterTool113—~1.1kAutomated safety check: PassGPL-3.0
YugabyteDB ASH Instrumentationyugabyte/yugabyte-db11k—~4.5kAutomated safety check: PassCustom licence
Mirage VFS Adapter Authoringstrukto-ai/mirage3.7k—~2.5kAutomated safety check: PassApache-2.0
Golang Patternsantoniopaya22/go-rest-template1729 repos~3.5kAutomated safety check: PassNone
Rust Async Patternsdiodeme/Gold-Band14310 repos~3.1kAutomated safety check: PassAGPL-3.0
Swift Concurrencyhenrypldev/react-native-nitro-mlx1003 repos~3.1kAutomated safety check: PassMIT

Similar skills

  • YugabyteDB ASH Instrumentation

    yugabyte/yugabyte-db

    Procedure for adding or changing YugabyteDB Active Session History wait states in TServer and DocDB C++ code, including the macro to use for sync and async paths.

    11k GitHub stars~4.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Builds or extends a custom Mirage virtual filesystem adapter for an API, database, object store or app data, with a working mount configuration and filesystem tests.

    3.7k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Golang Patterns

    antoniopaya22/go-rest-template

    Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.

    172 GitHub starsUsed in 9 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Rust Async Patterns

    diodeme/Gold-Band

    Master Rust async programming with Tokio, async traits, error handling, and concurrent patterns.

    143 GitHub starsUsed in 10 repos~3.1k tokens
    DevelopmentAuto-check passed
  • Swift Concurrency

    henrypldev/react-native-nitro-mlx

    Diagnose Swift Concurrency issues, refactor callback-based code to async/await, and guide Swift 6 migration when working with tasks, actors, @MainActor, Sendable, data races, thread safety, or…

    100 GitHub starsUsed in 3 repos~3.1k tokens
    DevelopmentAuto-check passed
  • Rust Engineer

    farm-fe/farm

    Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost abstractions.

    5.6k GitHub starsUsed in 1 repo~1.5k tokens
    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 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
  • Winforms To Avalonia

    tautcony/ChapterTool

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

    113 GitHub stars~1.2k 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 Wfa Harden Decompose

What does Wfa Harden Decompose do?

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…. Wfa Harden Decompose is an agent skill from 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 tests process-isolated, and update ownership documentation.

When should I use Wfa Harden Decompose?

Wfa Harden Decompose fits situations like: tasks that involve Async programming.

How do I install Wfa Harden Decompose in Claude Code?

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

How do I install Wfa Harden Decompose in Codex?

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

Can I use Wfa Harden Decompose 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 wfa-harden-decompose -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wfa-harden-decompose, .gemini/skills/wfa-harden-decompose, .github/skills/wfa-harden-decompose and .opencode/skills/wfa-harden-decompose in your project.

What does Wfa Harden Decompose need to run?

Going by SKILL.md and its folder, Wfa Harden Decompose needs the command-line tools its instructions call (dotnet).

Does Wfa Harden Decompose 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 Wfa Harden Decompose 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 Wfa Harden Decompose use?

Wfa Harden Decompose 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 Wfa Harden Decompose use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 327 tokens, read only when the agent opens those files.

What are the alternatives to Wfa Harden Decompose?

Skills that share tags, products or a category with Wfa Harden Decompose: YugabyteDB ASH Instrumentation (yugabyte/yugabyte-db, 11k stars), Mirage VFS Adapter Authoring (strukto-ai/mirage, 3.7k stars), Golang Patterns (antoniopaya22/go-rest-template, 172 stars) and Rust Async Patterns (diodeme/Gold-Band, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wfa Harden Decompose?

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.