bug(desktop): Open Skills folder ignores standard discovery locations
- Dominant language
- TypeScript
- Stars
- 5.4k
- Forks
- 502
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 715
Description
## What happened
Desktop's **Open Skills folder** action always delegates to `app.openPath('skills')`, which resolves only the legacy `/skills` directory. If that directory does not exist, Maka shows “The folder does not exist” even when Skills are installed in another supported discovery location.
The runtime already discovers five standard locations:
- `/.maka/skills`
- `/.agents/skills`
- `/skills` (legacy compatibility)
- `~/.maka/skills`
- `~/.agents/skills`
The UI therefore presents one ambiguous folder action for a catalog that can come from five different roots.
Expected behavior: the Skills page exposes the supported locations, opens an existing directory, and lets the user create and open a missing standard directory. The renderer should send an allowlisted location identity while the main process resolves and validates the path. Local filesystem actions should remain unavailable for remote Runtime Hosts.
Related prior work:
- #1068 / #1073 added five-path Desktop discovery and explicitly left governance UI expansion as a non-goal.
- #4096 / #4116 covered safe discovery of contained symlinked Skill entries, but not this directory-opening action.
## How to reproduce
1. Start Maka Desktop with Skills stored under a standard path such as `/.agents/skills` or `~/.agents/skills`.
2. Ensure the legacy `/skills` directory does not exist.
3. Open Extensions → Skills.
4. Choose **Open Skills folder**.
5. Maka reports that the directory does not exist instead of opening the actual supported Skill location.
## Environment
- Maka version or commit: `0d4a6ba` (`0.2.0-dev.31.20260913`)
- OS and version: macOS 15.6 (`darwin 24.6.0`, arm64)
- Surface: Desktop
- Electron: 43.4.1
- Node.js: 24.18.1
## Logs, screenshots, or additional context
Observed toast:
- Title: `无法打开Skills 目录`
- Description: `目录不存在。`
The failing action targets `/skills` regardless of which discovery roots actually contain the catalog.
Contributor guide
Assessment
This issue has not been assessed yet.