Skip to content
cccskills
FreePublished on GitHub

wfa-capture-contracts

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 without implementing Avalonia UI. Use only in an explicit WinForms-to- Avalonia migration when behavior is undocumented or the orchestrator routes here. Generated artifacts must use the current repository's real paths, terminology, and capabilities.

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

See how to install

Files included (4)

  • SKILL.md4.0 KB
  • references/contract-templates.md1.5 KB
  • references/coverage-matrix.md782 B
  • references/module-split.md1.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Phase A — Capture legacy contracts

Turn a WinForms app into documented contracts so the rewrite does not depend on copying event handlers. Prefer Designer metadata, resources, handlers, helpers, services, and tests over screenshots alone.

Read contract templates when writing behavior contracts, coverage matrix when checking file ownership, and module split when defining responsibility boundaries.

Workflow

1. Inventory

Classify legacy files:

CategoryTypical contents
Entry / shellProgram, main Form, startup args, runtime checks
Domain modelsEntities and value objects mutated by legacy workflows
Application behaviorUse cases, policies, validation, calculations
State and dataIn-memory state, persistence, mapping, synchronization
External boundariesFilesystem, network, process, device, or service integrations actually present
Supporting UISecondary windows, dialogs, notifications, settings surfaces
PlatformEnvironment-specific capabilities and lifecycle behavior
Build / distributionProjects, packaging, CI, deployment assets
Tests / fixturesUnit, integration, UI tests, representative scenarios

Assign every production file a primary module.

2. Split modules

Suggested shape (rename to the product):

  1. UI shell and interactions
  2. Application core and state transitions
  3. Boundary ports and adapters, grouped by dependency
  4. Supporting UI and platform services
  5. Tests, build, distribution, and assets

Each module doc: purpose, rewrite boundary, reviewed files, behaviors, UI coupling to strip, risks/decisions. See references/module-split.md.

3. Command catalog

For every user-visible action:

  • Entry point or user gesture
  • Preconditions and authorization
  • State transitions
  • Observable outputs and external effects
  • Cancellation, failure, and recovery behavior
  • Platform-specific or intentionally hidden behavior

Also list semantic window state (context, selection, modes, pending changes, status) rather than only control names.

4. Coverage matrix

| File | Primary module | Referenced | Notes |

Mechanically verify against a full legacy file listing.

5. Acceptance samples and fixture policy

For each major workflow: success, validation failure, cancellation, dependency failure, and recovery from partial or stale state. Derive scenarios from the application, not this skill.

Plan a stable fixture/scenario layout. Prefer the smallest representative data that exercises real behavior over inventory-only checks.

6. Decision log

Supported platforms, accessibility expectations, hidden gesture policy, deployment strategy, external dependencies, compatibility obligations, and known bugs to preserve or fix.

7. Capability / apply order

Map modules to implementable capabilities ordered by dependency:

  1. Scaffolding + core contracts
  2. Platform services
  3. Pure application behavior and boundary contracts
  4. Infrastructure adapters required by those contracts
  5. UI shell
  6. Later product evolution and structural hardening

Document parallel lanes and shared-contract locks.

Deliverables

  • Rewrite index linking modules
  • Module docs with boundaries
  • Coverage matrix without orphans
  • Command + state contracts
  • Fixture/acceptance list
  • Risk and decision list
  • Capability apply order

Handoff

Load wfa-extract-domain. Do not implement Avalonia Views here.

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