Claude Code Plugin [wpf-dev-pack] 을 만들었습니다.

Claude Code 에서 사용할 수 있는 WPF Plugin 을 만들었습니다.

Claude MAX 구독하시면서 WPF 쓰시는 분들 한번씩 써보시고 피드백 주시면 감사드리겠습니다.

10개의 좋아요

1.3.0을 배포했습니다.

wpf-dev-pack은 아래 4개의 mcp를 사용하고 있습니다.

microsoftdocs, serena, context7, sequential-thinking

그 중에서 serena, context7, sequential-thinking mcp는 claude code 공식 mcp 라서 많이들 claude code에서 사용 중이실 것입니다. 저도 그렇고…

그래서 mcp가 2중으로 설치되어 토큰을 중복해서 먹을 수 있어서 microsoft docs mcp를 제외한 mcp를 제거했습니다.

혹시 사용하시는 분들은 update 부탁드립니다.

3개의 좋아요

1.4 버전을 배포했습니다.


● wpf-dev-pack v1.4.0 변경 요약

  1. 서드파티 라이브러리 스킬 5개 신규 추가 (57 → 62개)
  • integrating-wpfui-fluent — WPF-UI (Wpf.Ui) 4.2.x: Fluent Design, FluentWindow, NavigationView
  • integrating-livecharts2 — LiveCharts2 2.0: 실시간 차트, CartesianChart, PieChart
  • validating-with-fluentvalidation — FluentValidation 12.x: INotifyDataErrorInfo 브리지 패턴
  • handling-errors-with-erroror — ErrorOr 2.x: 서비스 계층 Result 패턴, Switch/Match
  • integrating-nodify — Nodify 7.2.x: 노드 기반 에디터 (MVVM 구조)
  1. 기존 스킬 개선
  • CommunityToolkit.Mvvm — .NET 8 호환을 위해 backing field 방식을 기본값으로 변경, partial property는 .NET 9+ 업그레이드 가이드로 분리
  • Prism — 9.0.537 대응 (DialogCloseListener, IEventAggregator Pub/Sub, 듀얼 라이선스 안내)
  1. 적응형 인터뷰 시스템

기존 고정 4단계 인터뷰를 경로 기반 적응형 인터뷰로 교체:

  • 경로 A: 새 프로젝트 생성 (7단계)
  • 경로 B: 분석/개선 (5단계)
  • 경로 C: 기능 구현 (5단계)
  • 경로 D: 디버깅/수정 (4단계)

자유 입력에서 키워드 분석 → 후속 단계 기본값 자동 설정. 예: “차트 대시보드” 입력 시 LiveCharts2, 성능 관련 스킬 자동 추천

  1. .NET 버전 정책 명확화
  • wpf-dev-pack 실행: .NET SDK 10.0+ 필수 (file-based app 훅)
  • 생성 프로젝트 대상: .NET 8 이상 선택 가능 (이전에는 .NET 10만 지원)
6개의 좋아요

v1.4.1

Prism 9 듀얼 프레임워크 지원

  • 13개 스킬에 PRISM.md 컴패니언 파일 추가
    • 기존 SKILL.md(CommunityToolkit.Mvvm)와 PRISM.md(Prism 9 Community License)가 상호 참조
    • ViewModel, DI, Navigation, Dialog, Validation 등 주요 MVVM 영역을 Prism 9 패턴으로 제공
  • 대상 스킬: implementing-communitytoolkit-mvvm, configuring-dependency-injection, structuring-wpf-projects, mapping-viewmodel-view-datatemplate, creating-wpf-dialogs, managing-wpf-application-lifecycle, binding-enum-command-parameters, handling-wpf-input-commands,
    implementing-wpf-validation, managing-wpf-collectionview-mvvm, validating-with-fluentvalidation, implementing-repository-pattern, displaying-slider-index
  • MVVM 프레임워크 자동 감지 시스템 (mvvm-framework.md) — csproj NuGet 패키지 또는 키워드로 Prism/CommunityToolkit 자동 판별
  • Command에서 Skill로 마이그레이션 (Claude Code 2.1.3 agent skill 2.0 대응)

v1.4.2

FlaUI 크로스 프로세스 입력 보정 스킬 추가 (77번째 스킬)

  • 새 스킬: flaui-cross-process-input
    • FlaUI로 WPF 앱을 UI 자동화할 때 발생하는 크로스 프로세스 입력 전달 문제 해결 가이드
  • 다루는 문제:
    a. Stuck Keys — Keyboard.Press() 후 key-up이 처리되기 전 마우스 이벤트가 전달되어 WPF 제스처 매칭이 무시되는 현상 → ReleaseAllKeys() 패턴 제공
    b. SetCursorPos vs SendInput — Mouse.MoveTo()가 WM_MOUSEMOVE를 주입하지 않아 WPF 히트 테스트가 갱신되지 않는 현상 → SendInput(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE) 해결법 제공
    c. Adorner 깜빡임 — 드래그 중 보간 포인트가 다른 인터랙티브 존을 통과하며 발생하는 플리커 → 스텝 수/딜레이 조절 및 경로 우회 전략
  • 진단 체크리스트 (Keyboard state → Mouse.Captured → ClickCount → Hit test → Binary 확인) 포함
  • 키워드 자동 트리거: flaui, cross-process, sendinput, keybd_event, stuck key

v1.4.5

Hook 출력 개선 및 3rd Party 키워드 확장

  • WpfKeywordDetector 출력 포맷 재설계 — 트리거된 스킬의 가시성 향상
  • 3rd Party 라이브러리 키워드 30개 이상 추가
    • FlaUI, Nodify, WPF-UI, LiveCharts2, FluentValidation, ErrorOr 관련 키워드
    • 해당 라이브러리 언급 시 관련 스킬 자동 트리거
  • flaui-cross-process-input 스킬 강화
    • xUnit 병렬 테스트 비활성화(xunit.runner.json) 전제조건 추가
    • 스킬 설명 및 평가 데이터에 xUnit 관련 트리거 키워드 반영

v1.4.6

HandMirrorMcp 통합 (.NET API 검증용 MCP 서버)

  • HandMirrorMcp를 MCP 서버로 추가 — MCP 서버 수 1개 → 2개 (MicrosoftDocs + HandMirrorMcp)
    • .NET 어셈블리 및 NuGet 패키지의 실제 컴파일된 API를 검사하여 네임스페이스, 메서드 시그니처, 확장 메서드 위치를 정확히 확인
    • Context7, MicrosoftDocs와 병행 사용하여 NuGet/API 할루시네이션 감소
  • PreToolUse Hook 추가: HandMirrorReminder.cs
    • Context7 또는 MicrosoftDocs MCP 호출 전 .NET/NuGet 관련 질의를 감지 (58개 .NET 지표 기반)
    • 해당 시 HandMirrorMcp 우선 사용을 자동 리마인드
  • 버전 릴리즈 검증 Hook: VersionReleaseChecker.cs
    • git push 시 자동 실행 — GitHub 릴리즈 존재 여부, README 수치(Skills/Agents/MCP), GitHub 프로필 수치 동기화를 검증
  • README 스킬 수 보정: 77개 → 78개
    • 카테고리 테이블에 누락된 9개 스킬 추가, flaui-wpf-element-discovery를 3rd Party 섹션에 반영
3개의 좋아요

v1.5.0

View First MVVM 공식 채택, 자동화 Hook 강화, 신규 스킬 3종, Progressive Disclosure 적용

View First MVVM을 공식 MVVM 방식으로 선언

  • View가 먼저 생성되고, View가 자신의 ViewModel을 결정하는 방식
  • View-ViewModel 연결 규칙을 CommunityToolkit.Mvvm / Prism 9 별도 rules 파일로 정의
  • ViewModelLocator, ViewModel First Navigation을 금지 규칙(prohibitions.md)으로 명시

신규 Hook 2종 추가

  • BuildErrorDiagnoser — dotnet build 실패 시 에러코드(CS0234, CS0246, NU1101 등)를 파싱하여 HandMirror MCP 도구 자동 안내
  • MvvmViolationDetector — ViewModel 파일에서 System.Windows.* 참조 감지 시 MVVM 위반 경고 (System.Windows.Input.ICommand는 예외)

XamlValidator 규칙 확장 (5개 → 8개)

  • TextBox에 UpdateSourceTrigger=PropertyChanged 누락 감지
  • ElementName=“self” 사용 시 RelativeSource Self 안내
  • TextBlock에 Mode=TwoWay 바인딩 감지

신규 스킬 3종 추가 — 스킬 수 79개 → 81개

  • make-wpf-viewmodel — ViewModel + View + DI 등록 + DataTemplate 매핑을 한 번에 생성 (Prism 9 PRISM.md 포함)
  • make-wpf-service — 서비스 인터페이스 + 구현 클래스 + DI 등록 자동 생성
  • testing-wpf-viewmodels — xUnit + NSubstitute 기반 ViewModel 단위 테스트 패턴 (Prism 9 PRISM.md 포함)

기능 의도 키워드 감지 추가 — 라이브러리 이름을 몰라도 원하는 기능만 말하면 스킬 자동 추천

  • “차트/그래프/대시보드” → integrating-livecharts2
  • “입력 검증/폼 검증” → validating-with-fluentvalidation
  • “모던 UI/플루언트 디자인” → integrating-wpfui-fluent
  • “느려/렉/대용량 데이터” → rendering-wpf-high-performance, virtualizing-wpf-ui
  • “다국어 지원” → localizing-wpf-applications 외 다수

Progressive Disclosure 적용 — 대형 스킬 8개에서 고급 패턴을 ADVANCED.md로 분리 (평균 47% 축소)

  • creating-wpf-animations, routing-wpf-events, implementing-wpf-automation, understanding-wpf-content-model, structuring-wpf-projects, rendering-with-drawingcontext, managing-wpf-collectionview-mvvm, handling-wpf-input-commands

플러그인 품질 개선

  • 11개 에이전트 전부 color 필드 추가 (Claude Code UI 시각적 구분)
  • 7개 scaffolding 스킬 description에 “Use when” 트리거 구문 추가
  • 삭제된 스킬에 대한 4개 에이전트 참조 수정
  • scottplot 스킬 description 중복 수정 및 누락 evals 생성

Others

  • mapping-viewmodel-view-datatemplate 스킬 삭제 → rules로 이전 (스킬 수 -1)
  • 내장 MicrosoftDocs MCP 제거 — claude official marketplace의 microsoft-docs 플러그인으로 분리 (MCP 서버 수 2개 → 1개)
2개의 좋아요