Claude Code Plugins

Community-maintained marketplace

Feedback

widget-creation

@YosrBennagra/3SC
0
0

Create new desktop widgets for the 3SC WPF widget host. Use when adding a new widget type or instance, including its domain model, persistence, viewmodel, view, and registration in the shell/launcher flow.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name widget-creation
description Create new desktop widgets for the 3SC WPF widget host. Use when adding a new widget type or instance, including its domain model, persistence, viewmodel, view, and registration in the shell/launcher flow.

Widget Creation

Overview

Define, implement, and register widgets consistently across domain, data, UI, and tests.

Constraints

  • .NET 8 WPF
  • MVVM with CommunityToolkit.Mvvm
  • Use shared styles/resources; avoid widget-specific hardcoded colors
  • Persist widget instances in SQLite via repositories

Workflow

  1. Add domain artifacts:
    • Ensure a Widget entry exists for the type.
    • Add or update WidgetInstance usage for placements.
  2. Add application logic:
    • Add a viewmodel for the widget.
    • Add any commands or validation.
  3. Add UI artifacts:
    • Create a view under 3SC/Views or 3SC/Widgets/<WidgetName>/.
    • Bind to viewmodel properties; no code-behind logic.
  4. Register the widget:
    • Add to the widget picker viewmodel list.
    • Create or update any factory/service to instantiate widgets.
  5. Persist widget state:
    • Use repositories and unit of work for saves.
  6. Add tests:
    • Domain invariants
    • Viewmodel tests
    • Repository integration tests when persistence is touched

Naming and layout

  • Widget key: clock, weather, notes
  • ViewModel: <WidgetName>WidgetViewModel
  • View: <WidgetName>WidgetView
  • Placement: WidgetInstance with WidgetPosition and WidgetSize

References

  • references/widget-checklist.md for creation checklist.
  • references/registration.md for picker/registration guidance.