본문으로 건너뛰기
cccskills
무료GitHub에 공개

wfa-platform-services

Phase C of a WinForms-to-Avalonia migration: implement platform and infrastructure adapters for dependencies discovered in Phase A/B, such as persistence, process execution, dialogs, notifications, or environment capabilities. Use only in an explicit migration when such dependencies leak into Forms/core or when the orchestrator routes here. Do not invent adapters for capabilities the product does not have, and do not implement main-window XAML.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(4)

  • SKILL.md4.0 KB
  • references/external-processes.md1.1 KB
  • references/platform-abstraction.md1.2 KB
  • references/settings-migration.md1.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Phase C — Platform / Infrastructure services

Replace legacy static helpers and environment coupling with injectable, testable adapters.

Read platform abstraction to define ports, external processes only when the product launches child processes, and settings migration only when settings exist.

Workflow

1. Catalog touchpoints

Legacy patternService direction
UI prompts hidden in helpershost-owned interaction port
Static notifications or loggingstructured diagnostic/logging port
Persisted application preferencestyped, versioned store
Filesystem or process callsnarrow adapter with cancellation and failure semantics
Environment capability checkscapability query plus supported/unsupported result
Legacy deployment integrationreplace, isolate, or explicitly retire

2. Interfaces vs implementations

  • Abstractions consumable without Avalonia types where possible
  • Implementations in Infrastructure, or in the UI host when they require a UI lifetime

3. Persisted state, when present

Evolve toward a versioned single document when multiple stores appear:

  • schemaVersion + sections
  • Ordered migrators
  • Reject future versions (do not overwrite with defaults)
  • Preserve predecessor data while migration is being validated
  • Validate the complete document before commit
  • Write to a temporary sibling, flush as required, then atomically replace
  • Preserve the last known-good state when parsing or migration fails
  • Define in-process and cross-process coordination from the actual deployment model

4. External processes, when present

  • Argument arrays, never shell string concatenation with user-controlled values
  • Timeout + cancellation
  • Distinguish not-found vs started-but-failed
  • Document selection and fallback policy

Unavailable dependencies return a structured unavailable result without changing product state.

5. Dependency-backed adapters

Implement the ports defined in Phase B and test success, failure, cancellation, timeout, and partial-result cleanup with fakes or controlled integration fixtures.

6. Secondary-surface API only

Use a narrow host interaction/window service for secondary surfaces; XAML belongs in Phase D.

7. Logging

Structured logging; bounded UI buffer with events after append; localize at display time.

Corrections seen in practice

  • Resolve optional dependencies according to documented product policy, not a universal search order.
  • Account for platform differences in process I/O, paths, permissions, and lifecycle when relevant.
  • Prefer portable implementations when cross-platform support is an explicit requirement.
  • Use one transaction boundary for one logical settings update.
  • Treat migration as validated best effort, not a promise of lossless conversion.
  • Do not silently change product defaults without an explicit decision.

Deliverables

  • Service interfaces + registration
  • Persisted-state store and migration story when persistence exists
  • Required platform adapters implemented; absent capabilities were not invented
  • Environment-dependent adapters covered with fakes or integration tests
  • Unsupported platform behavior is explicit and recoverable
  • Persisted writes are versioned, validated, and durable when persistence exists
  • No UI prompts or direct environment calls leak into the application core

Handoff

  • UI → wfa-avalonia-ui
  • Post-port product evolution -> wfa-post-port-evolve

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tautcony/ChapterTool1132026년 10월 14일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tautcony/ChapterTool1132026년 10월 14일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tautcony/ChapterTool1132026년 10월 14일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tautcony/ChapterTool1132026년 10월 14일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tautcony/ChapterTool1132026년 10월 14일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tautcony/ChapterTool1132026년 10월 14일 업데이트

tautcony의 스킬 모두 보기

이 스킬의 문제 신고