Claude Code 에서 사용할 수 있는 WPF Plugin 을 만들었습니다.
Claude MAX 구독하시면서 WPF 쓰시는 분들 한번씩 써보시고 피드백 주시면 감사드리겠습니다.
Claude Code 에서 사용할 수 있는 WPF Plugin 을 만들었습니다.
Claude MAX 구독하시면서 WPF 쓰시는 분들 한번씩 써보시고 피드백 주시면 감사드리겠습니다.
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 부탁드립니다.
1.4 버전을 배포했습니다.
● wpf-dev-pack v1.4.0 변경 요약
기존 고정 4단계 인터뷰를 경로 기반 적응형 인터뷰로 교체:
자유 입력에서 키워드 분석 → 후속 단계 기본값 자동 설정. 예: “차트 대시보드” 입력 시 LiveCharts2, 성능 관련 스킬 자동 추천
dotnet build 실패 시 에러코드(CS0234, CS0246, NU1101 등)를 파싱하여 HandMirror MCP 도구 자동 안내microsoft-docs mcp가 microsoft-docs claude code plugin이 되면서 지속적으로 개선되고 있습니다. 기본적으로 microsoft docs를 검색하는 mcp기능은 microsoft-learn 이라는 mcp로 이름이 변경되었고, 아래 3개의 skill이 추가되었습니다.
원래는 context7과 ms docs에서 가져올 수 있었던 정보를 굳이 skill로 생성한 다음 그 skill들을 AI를 통해 깎아서 최적화해서 사용하려는 의도였는데 microsoft-docs:microsoft-skill-creator 와 같은 스킬의 등장으로 직접 만들어서 사용할 수 있게되어 많은 스킬을 아카이브 했습니다.
Microsoft 공식 문서와 중복되는 스킬을 정리하여 Claude Code의 컨텍스트 사용을 최적화한 메이저 릴리스입니다. microsoft-docs MCP 플러그인이 관련 주제를 동적으로 제공하게 되면서 34개의 doc-mirror 스킬을 archive-skills/로 이동했고, 큐레이션 가치가 높은 49개의 스킬만 활성 상태로 유지합니다.
archive-skills/로 이동WPF 개념 (26개): DependencyProperty, ControlTemplate, Storyboard/Animation, Brushes, Dialogs, FlowDocument, Adorners, UI Automation, DragDrop, RoutedCommand, Behaviors/Triggers, Converter MarkupExtension, XAML Property Element Syntax, Content Model, Clipboard, MediaElement, Visual Tree navigation, 2D Graphics, Localization, RTL 지원, Culture-aware formatting, .NET migration 등
.NET 공통 (8개): async/await, Span<T>/ArrayPool, Parallel/PLINQ, HashSet/FrozenSet, System.IO.Pipelines, Pub/Sub, GeneratedRegex 등
WpfKeywordDetector.cs에서 키워드 매핑 158개 제거, 5개 배열 트리밍. BuildErrorDiagnoser.cs의 아카이브된 스킬 참조 삭제.~~strikethrough~~ (archived) 표기로 보존하여 에이전트 추론 컨텍스트를 유지.implementing-wpf-validation, make-wpf-converter가 archive-skills/ 경로와 룰 파일을 참조하도록 업데이트.README.md, README.ko.md, skills/README.md, skills/.claude/CLAUDE.md의 카테고리 테이블·카운트 갱신, 빈 섹션 제거.managing-unit-tests 스킬 + WPF 단위 테스트 원칙 추가wpf-button-keyboard-behavior.md, wpf-dialog-focus-timing.md, wpf-helixtoolkit-escape-routing.md)의견·워크플로우·3rd-party 통합·사용자 노하우 스킬은 그대로 유지됩니다:
make-wpf-project, make-wpf-custom-control, make-wpf-viewmodel 외 4종/plugin install wpf-dev-pack@dotnet-claude-plugins
아카이브된 스킬은 저장소의 archive-skills/ 경로에서 그대로 접근 가능합니다. 이전에 해당 스킬이 다루던 WPF·.NET 개념은 microsoft-docs 플러그인에 관련 키워드(DependencyProperty, Span<T>, Storyboard 등)로 조회하시면 공식 문서 기반의 최신 정보를 얻을 수 있습니다.
함께 설치 권장: microsoft-docs claude code plugin
v1.6.0 출시 직후 plugin-dev:plugin-validator 에이전트로 플러그인 가이드라인 점검을 수행하여 발견된 이슈를 수정한 패치 릴리스입니다. 잘못 아카이브된 스킬 3개를 되살리고, 문서와 에이전트 참조를 정리했으며, Nodify 소켓 하이라이트 노하우 스킬 1개가 추가되었습니다.
README.md, README.ko.md 24번째 줄)
.claude/rules/prohibitions.md의 ViewModelLocator 금지 규칙과 일치하도록 교정v1.6.0에서 아카이브했으나 활성 스킬·에이전트가 여전히 참조하고 있던(dead link) 스킬입니다.
advanced-data-binding — MultiBinding, PriorityBinding, 고급 바인딩 패턴. make-wpf-converter, wpf-data-binding-expert 에이전트가 참조.using-converter-markup-extension — IValueConverter를 MarkupExtension으로 구현하는 패턴. make-wpf-converter, code-formatter, wpf-data-binding-expert, wpf-code-reviewer가 참조.using-xaml-property-element-syntax — XAML Property Element Syntax 패턴. code-formatter의 Silent Trigger로 사용.highlighting-nodify-connections — Nodify 소켓↔연결선 네온 글로우 하이라이트 패턴. ConnectorItem과 ConnectionItem 사이 weak-event 구독, NodeInput/NodeOutput ControlTemplate 내부의 IsMouseOver 함정, 1:N fan-out 상황의 peer-count 전파, 그리고 IsMouseOver를 데이터 기반 IsHighlighted 트리거로 교체하는 로컬 ControlTemplate 오버라이드를 다룹니다.복구된 3개 스킬에 대한 모든 참조가 다시 연결되었습니다:
hooks/WpfKeywordDetector.cs: binding, multibinding, converter, markupextension, property element 키워드 매핑 복원code-formatter, wpf-data-binding-expert, wpf-code-reviewer 업데이트skills/.claude/CLAUDE.md, skills/README.md, skills/README.ko.md: 카테고리 테이블·키워드 인덱스 갱신/plugin install wpf-dev-pack@dotnet-claude-plugins
이번 릴리스는 WPF 애플리케이션의 가장 흔한 런타임 버그 중 하나인 Dispatcher 데드락과 비동기 종료 처리를 체계적으로 다루는 두 개의 신규 skill을 추가했습니다. 기존 skill 트리거 매핑을 전반적으로 정비하여 자동 활성화 정확도도 함께 개선했습니다.
preventing-dispatcher-deadlock — Foundation skill. WPF의 DispatcherSynchronizationContext가 await 시 캡처되는 메커니즘과 .GetAwaiter().GetResult(), .Wait(), .Result가 UI 스레드를 교착시키는 과정을 단계별로 설명합니다. 이벤트 핸들러에서 유일하게 안전한 패턴인 async void + try/catch를 강제하고, Task.Run 래핑·ConfigureAwait(false)가 왜 근본 해결책이 아닌지, 재진입 가드와 CommunityToolkit.Mvvm [RelayCommand] / Prism 9 AsyncDelegateCommand 대안까지 다룹니다.
shutting-down-wpf-gracefully — Application skill. 위 foundation을 종료 시나리오에 적용합니다. OnExit 오버라이드는 시그니처 고정 탓에 async void로 바꿀 수 없다는 제약을 설명하고, 두 가지 검증된 전략을 제시합니다:
ShutdownMode=OnMainWindowClose + Window.OnClosing에서 e.Cancel = true → await cleanup → Close() 재호출ShutdownMode=OnExplicitShutdown + MainWindow.Closed 이벤트(async void) → cleanup 완료 후 Application.Current.Shutdown()추가로 CancellationTokenSource 타임아웃 가드, CommunityToolkit.Mvvm의 IHost.StopAsync teardown, Prism 9 컨테이너 정리 예시를 포함합니다.
managing-wpf-application-lifecycle의 §3 Shutdown Handling 상단에 두 신규 skill로의 cross-link 추가skills/.claude/CLAUDE.md의 keyword 매핑과 Skill Category Index 대폭 정비 — 신규 2개 + 기존에 트리거 누락되어 있던 skill 8개(managing-wpf-popup-focus, implementing-repository-pattern, configuring-console-app-di, rendering-wpf-architecture, flaui-wpf-element-discovery, flaui-prism-dialog-discovery, implementing-hit-testing, managing-wpf-application-lifecycle)의 키워드·카테고리 등록wpf-dev-pack/.claude/CLAUDE.md에 Adding a New Skill — Required Co-updates 섹션 추가. 향후 skill 추가 시 동반 업데이트 지점(keyword 매핑, cross-link, PRISM.md 컴패니언, foundation+application 쌍 패턴)을 체크리스트화wpf-dev-pack/agents/.claude/CLAUDE.md 중복 제거 — 부모 CLAUDE.md와 동일하던 Requirements Interview 사본(49줄)을 포인터로 교체/plugin install wpf-dev-pack@dotnet-claude-plugins
이번에 추가된 두 skill은 원문 토론(닷넷데브 포럼 글)의 내용을 체계화한 것입니다. 기존 코드베이스에 OnExit 또는 이벤트 핸들러에서 .GetAwaiter().GetResult(), .Wait(), .Result를 사용하는 패턴이 있다면 교체를 권장합니다.
제가 바이브코딩으로 만들었던 프로젝트에 적용하니까 최적화 할게 많이 나오네요. 감사합니다. 많은 도움이 되고 있습니다.
이용해 주셔서 정말 감사드립니다..!