Agent skill

Wfa Extract Domain

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

GPL-3.0Auto-check passedTesting & QA

Install Wfa Extract Domain

skills CLI
$ npx skills add tautcony/ChapterTool --skill wfa-extract-domain -a claude-code

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

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

At a glance

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.

  • Works in 7 steps: Scaffold (if needed) → Models and invariants → Application rules and use cases → …
  • Tasks that involve Test-driven development
  • SKILL.md covers Workflow, Corrections seen in practice, Deliverables and Handoff
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Wfa Extract Domain is an agent skill from 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. Use only when an explicit migration still has business behavior in Forms or UI helpers, or when the orchestrator routes here. Do not build Avalonia XAML in this phase.

Its SKILL.md is about 860 tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/boundary-adapter-patterns.md`, `references/core-layer.md` and `references/tdd-baseline.md`).

It sits in Testing & QA, covering Test-driven development. 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 Test-driven development

Example prompts

  • “/wfa-extract-domain”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Scaffold (if needed)
  2. Models and invariants
  3. Application rules and use cases
  4. Boundary contracts
  5. Untrusted-input baseline
  6. TDD
  7. Coupling kill list

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

    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

Wfa Extract Domain loads about 862 tokens when it runs, and up to ~1.9k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 374 words of instructions outside code blocks.

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

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). 374 words, ~862 tokens.

Download SKILL.mdSave it as .claude/skills/wfa-extract-domain/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
wfa-extract-domain
description
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. Use only when an explicit migration still has business behavior in Forms or UI helpers, or when the orchestrator routes here. Do not build Avalonia XAML in this phase.

Phase B — Extract application core

Implement Phase A contracts as a UI-independent application core. The UI may call the core; the core never calls UI controls or framework services.

Read core layer for dependency boundaries, boundary adapter patterns when the application has external inputs or effects, and TDD baseline for test sequencing.

Workflow

1. Scaffold (if needed)
  • src/<Product>.Core — modern TFM, no UI packages
  • tests/<Product>.Core.Tests — representative behavior fixtures and helpers
2. Models and invariants
  • Preserve field meanings and documented invariants
  • Drop UI-only storage (control tags, display-only caches unless computed by services)
  • Prefer explicit edit APIs over free-form mutation from Views

Document intentional semantic changes.

3. Application rules and use cases

Extract calculations, validation, state transitions, and multi-step use cases discovered in Phase A. Replace control indexes and tags with semantic types.

4. Boundary contracts
  1. Keep deterministic translation or validation logic in the core when it has no environment dependency.
  2. Represent filesystem, process, network, device, clock, and OS dependencies as narrow ports when present.
  3. Implement environment-dependent adapters in Phase C, not as hidden calls from the core.

Return structured outcomes and diagnostics. Never prompt the user from the application core.

5. Untrusted-input baseline
  • Validate size, depth, counts, recursion, and identifier ranges before allocation or traversal.
  • Disable external resource access unless the product explicitly requires and constrains it.
  • Bound dynamic execution by capability, time, memory, and cancellation when it exists.
  • Add negative fixtures before the first releasable Avalonia build.
Show full SKILL.md (135 more words)Show less
6. TDD

Port legacy tests; goldens for representative fixtures; edge cases from contracts; document intentional non-support with tests.

7. Coupling kill list

Check the core for zero WinForms/Avalonia types, UI prompts, environment-specific APIs, and unmediated external effects.

Corrections seen in practice

  • One application rule must drive every relevant entry point and consumer.
  • Validate extreme values and illegal transitions; add regression tests for rejected states.
  • Prefer typed diagnostic codes over free-form strings.
  • Public core types are a stable API: use role-based names, explicit invariants, and accurate documentation.
  • Preserve authoritative external contracts at boundary adapters; do not simplify away required semantics.

Deliverables

  • Core builds
  • Models, invariants, and use cases extracted
  • Boundary ports match discovered dependencies
  • Untrusted-input bounds covered before first release
  • Core tests green

Handoff

  • Platform and infrastructure adapters -> wfa-platform-services
  • UI → wfa-avalonia-ui
  • Product evolution after ship -> wfa-post-port-evolve

© 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 3 other files (references) in .codex/skills/wfa-extract-domain of tautcony/ChapterTool.

  • SKILL.md
  • references/boundary-adapter-patterns.md
  • references/core-layer.md
  • references/tdd-baseline.md

Open the folder on GitHubat commit a66d7ce

Compare with similar skills

Wfa Extract Domain 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 Extract Domain compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wfa Extract Domain this skilltautcony/ChapterTool113—~862Automated safety check: PassGPL-3.0
Jest Testing PatternsChrisWiles/claude-code-showcase6.1k7 repos~1.5kAutomated safety check: PassNone
Rust TDD Workflowrtk-ai/rtk83k—~753Automated safety check: NotesApache-2.0
TDDpietheinstrengholt/rssmonster56430 repos~906Automated safety check: PassMIT
RTK Filter TDD in Rustrtk-ai/rtk83k—~1.9kAutomated safety check: NotesApache-2.0
TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph11211 repos~2.4kAutomated safety check: PassNone

Similar skills

  • Jest Testing Patterns

    ChrisWiles/claude-code-showcase

    Jest patterns for React Native style tests: TDD discipline, mock factory functions, module and GraphQL hook mocking, custom render helpers and anti-patterns to avoid.

    6.1k GitHub starsUsed in 7 repos~1.5k tokens
    Testing & QAAuto-check passed
  • Enforces red-green-refactor for Rust work, with idiomatic test patterns, a naming convention and a pre-commit gate of cargo fmt, clippy and test.

    83k GitHub stars~753 tokensUpdated today
    Testing & QAAuto-check: notes
  • TDD

    pietheinstrengholt/rssmonster

    Test-driven development. An agent skill from pietheinstrengholt/rssmonster.

    564 GitHub starsUsed in 30 repos~906 tokens
    Testing & QAAuto-check passed
  • Enforces red-green-refactor for new RTK output filters in Rust, using real captured fixtures, snapshot tests with insta and token-savings assertions.

    83k GitHub stars~1.9k tokensUpdated today
    Testing & QAAuto-check: notes
  • TDD Workflow

    hellangleZ/burn-in-cceverywhere-ralph

    A skill your agent uses when writing new features, fixing bugs, or refactoring code.

    112 GitHub starsUsed in 11 repos~2.4k tokens
    Testing & QAAuto-check passed
  • Official

    A skill your agent uses when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty…

    50k GitHub stars~838 tokensUpdated today
    Testing & QAAuto-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
  • 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

Works with

Categories

Questions about Wfa Extract Domain

What does Wfa Extract Domain do?

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. Wfa Extract Domain is an agent skill from 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.

When should I use Wfa Extract Domain?

Wfa Extract Domain fits situations like: tasks that involve Test-driven development.

How do I install Wfa Extract Domain in Claude Code?

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

How do I install Wfa Extract Domain in Codex?

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

Can I use Wfa Extract Domain 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-extract-domain -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-extract-domain, .gemini/skills/wfa-extract-domain, .github/skills/wfa-extract-domain and .opencode/skills/wfa-extract-domain in your project.

What does Wfa Extract Domain need to run?

SKILL.md names no scripts, command-line tools or credentials: Wfa Extract Domain is instructions for the agent only.

Does Wfa Extract Domain 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 Extract Domain 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 Extract Domain use?

Wfa Extract Domain 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 Extract Domain use?

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

What are the alternatives to Wfa Extract Domain?

Skills that share tags, products or a category with Wfa Extract Domain: Jest Testing Patterns (ChrisWiles/claude-code-showcase, 6.1k stars), Rust TDD Workflow (rtk-ai/rtk, 83k stars), TDD (pietheinstrengholt/rssmonster, 564 stars) and RTK Filter TDD in Rust (rtk-ai/rtk, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wfa Extract Domain?

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.