github GanyuanRan/Aegis v2.1.5
v2.1.5 ZCode Direct-Child Skill Discovery Fix

latest releases: v2.15.0, v2.14.3, v2.14.2...
4 months ago

ZCode Direct-Child Skill Discovery Fix

Rewrote docs/README.zcode.md to document the direct-child skill-directory install (depth-1 discovery, mirroring CC GUI and Windsurf) as the primary path. The prior v2.1.4 plugin-marketplace-only guide could cause silent zero-skill discovery because ZCode's scanner does not read umbrella skill directories.

Root cause

ZCode's skill scanner reads each root's direct subdirectories and expects <root>/<skill-name>/SKILL.md (depth-1). The Codex-style umbrella symlink ~/.agents/skills/aegis/ -> ~/.codex/aegis/skills/ does not work for ZCode, because aegis/ does not itself contain SKILL.md. This is the same shape CC GUI and Windsurf require — the repo already had the direct-child discovery-shape mechanism; ZCode just needed to be wired into it.

What changed

  • docs/README.zcode.md — direct-child symlink/junction (macOS/Linux ln -sfn loop, Windows mklink /J loop) as primary install; Claude-Code-compatible plugin marketplace retained as secondary with a fallback pointer; explicit umbrella-symlink pitfall warning in Troubleshooting.
  • Host compatibility matrix — ZCode row and section 4 now record the depth-1 direct-child discovery shape.
  • Known limitations section 2.22 — Retention Reason now explains the depth-1 constraint and why the umbrella symlink fails.
  • tests/e2e/zcode-host-boundary-check.sh — +7 discovery-shape assertions (32 total): direct-child path, --discovery-root, --discovery-shape direct-child, install shape, umbrella pitfall.
  • Version bump 2.1.4 -> 2.1.5 across all 8 declared files.

Install (ZCode) — the universal prompt still works

The existing README.en.md Quick Install prompt routes ZCode to the correct depth-1 steps with no ZCode-specific prompt needed. ZCode reads docs/README.zcode.md and runs the direct-child symlink install:

macOS / Linux:

git clone https://github.com/GanyuanRan/Aegis.git ~/.codex/aegis
mkdir -p ~/.agents/skills
for skill_dir in ~/.codex/aegis/skills/*; do
  [ -d "$skill_dir" ] || continue
  ln -sfn "$skill_dir" "$HOME/.agents/skills/$(basename "$skill_dir")"
done

Verification

layer1-fast-check.sh --host-profile none passes 25/25; zcode-host-boundary-check.sh passes 32/32.

Full Changelog: v2.1.4...v2.1.5

Don't miss a new Aegis release

NewReleases is sending notifications on new releases.