Skip to content

feat(zcode): add unified Skills management - #1021

Open
jackie-cqz wants to merge 1 commit into
spacering-net:mainfrom
jackie-cqz:fix/zcode-skills
Open

jackie-cqz wants to merge 1 commit into
spacering-net:mainfrom
jackie-cqz:fix/zcode-skills

Conversation

@jackie-cqz

@jackie-cqz jackie-cqz commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Change

ZCode already loads Skills through its ACP bridge, but Codeg marks the built-in adapter as incapable of managing them. It is consequently missing from Skills settings, imports and the installation matrices.

Declare directory-bundle storage for ZCode: native data-home skills/ first, then OS-home .agents/skills, with project skills under the session cwd's .agents/skills. Add its authoritative rows to the expert, science and Office matrices; custom Skills use the same declared store automatically. New-skill previews and saves use <id>/SKILL.md.

Return the saved AgentSkillItem from the Web endpoint, matching the desktop command and TypeScript API. It previously returned null, so the editor could write the file but fail while reopening the saved skill. Add an endpoint regression and verify the UI completes its read-back and success notification.

The native store follows absolute process-level ZCODE_HOME, then HOME/USERPROFILE. Like the shared file manager's other stores, resolution uses Codeg's process environment; a per-agent environment override is not used for file management. Relative data homes leave Skills management unavailable. The guide explains how to keep the managed store aligned with the bridge.

Native per-path disable policy and plugin caches remain owned by ZCode. ACP command discovery remains authoritative, so native-disabled and non-user-invocable Skills are not reintroduced by a disk-based composer menu.

Validation

  • Full Windows server-library regression: 5459 passed, 1 existing ignored, no filtered tests, including native/project CRUD, matrix rows and the Web save-response regression.
  • Skills, installation-matrix and invocation frontend suites: 77 tests passed; the ZCode settings panel test also passed.
  • Targeted ESLint, TypeScript strict check and git diff --check passed.
  • Published zcode-acp-server@0.76.2: six isolated discovery probes passed for native/shared/project priority, cwd versus Git ancestor, flat/non-invocable exclusions, native disable policy, plugin-cache version selection, directory-link enable/disable and HOME/USERPROFILE fallbacks. No account or model calls are needed for these probes.
  • Unix-only regressions exercise shared-directory precedence plus import-with-assets and actual custom-matrix link/unlink lifecycle. Cross-platform tests cover native CRUD, project storage and all three bundled matrices.
  • Server Clippy passed with -D warnings -A clippy::nonminimal_bool. Strict Clippy on local Rust 1.96.1 reports only the unchanged predicate at src-tauri/src/computer/helper/mod.rs:667; the allowance is limited to that existing lint.
  • Rust-cache guard: 20 GiB aggregate limit, no incremental compilation or debug information, one build job.

@jackie-cqz
jackie-cqz marked this pull request as ready for review October 22, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant