Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,15 @@ The `version-bump` and `changelog-entry` CI jobs enforce this.

### Added

- `winui-*` skills can now be discovered by **OpenCode** by linking the shared
`plugins/winui/skills/` directory into an OpenCode skills directory - no skill
fork or copy required.

### Changed

- `winui-setup` now gives harness-neutral post-setup guidance while preserving the
GitHub Copilot CLI invocation example.

### Fixed

### Removed
Expand Down
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,34 @@ Verify the eight skills loaded with `openclaw skills list` (each shows `βœ“ read
> **Note:** OpenClaw maps skills, not agents, so the `winui-dev` orchestrator agent isn't exposed there. The skills still work - ask the agent for a WinUI task and it loads the relevant skill on demand.
</details>

<details>
<summary><strong>OpenCode</strong></summary>

OpenCode loads Agent Skills natively from `<name>/SKILL.md` folders. Point it at the
shared skills - no fork or copy needed. Link each skill into OpenCode's global skills
directory (or a project's `.opencode/skills/`):

```powershell
# One-time setup: link the shared skills into OpenCode's global skills directory
$src = "C:\path\to\win-dev-skills\plugins\winui\skills"
$dst = "$env:USERPROFILE\.config\opencode\skills"
New-Item -ItemType Directory -Force $dst | Out-Null
Get-ChildItem $src -Directory | ForEach-Object {
$link = Join-Path $dst $_.Name
if (-not (Test-Path $link)) {
New-Item -ItemType Junction -Path $link -Target $_.FullName | Out-Null
}
}
```

Because these are junctions (not copies), `git pull` in the repo picks up upstream
skill updates automatically.

> **Note:** OpenCode maps skills, not agents, so the `winui-dev` orchestrator agent
> isn't exposed there. The skills still work - invoke them by name (e.g. `/winui-setup`,
> `/winui-design`) and OpenCode loads them on demand.
</details>

Then start a new session and run the `winui-setup` skill with `/winui-setup`.

Once setup is done, try a real task:
Expand Down
14 changes: 10 additions & 4 deletions plugins/winui/skills/winui-setup/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,15 +130,21 @@ After everything, print a single-table summary so the user knows exactly what ch
WinApp CLI βœ… upgraded to 0.4.0 (or βœ… installed, ⏭ already at latest, ❌ failed)
WinUI 3 templates βœ… updated to latest
Developer Mode βœ… enabled (or ⏭ skipped β€” user declined, or ❌ failed: <reason>)

You're ready. Try:
copilot --agent winui:winui-dev -p "build me a WinUI 3 markdown editor"
```

You're ready. If the current harness exposes the `winui-dev` orchestrator agent,
start a fresh session with that agent and ask it to build a WinUI app. Otherwise,
start a fresh session in the current harness and ask it to perform the WinUI task;
it will load the relevant `winui-*` skills on demand.

For GitHub Copilot CLI, for example:

copilot --agent winui:winui-dev -p "build me a WinUI 3 markdown editor"

### Things to NOT do

- ❌ **Do not install Visual Studio.** It is not required β€” these skills build and run with the dotnet and winapp clis.
- ❌ **Do not install GitHub Copilot CLI.** If this skill is running, it's already installed.
- ❌ **Do not install or upgrade the user's AI coding harness** as part of this skill. `winui-setup` manages Windows/WinUI development prerequisites only.
- ❌ **Do not elevate the entire session** β€” only step 5 needs admin. Elevating earlier steps would install winget packages into the admin user's profile instead of the user's, which is wrong.
- ❌ **Do not skip the PATH refresh** β€” agents that skip it install the SDK and then immediately fail on `dotnet new install`.
- ❌ **Do not trigger UAC for Developer Mode without asking the user first** β€” the prompt is jarring if it pops up unannounced. Always confirm before elevating.
Expand Down