mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-10-21 06:29:34 +08:00
CoStrict loads project skills from .agents/skills, .claude/skills and .roo/skills (SkillsManager.ts upstream), never from .cospec, which holds its own coworkflow files. OpenSpec wrote skills to .cospec/skills, so CoStrict users depended on commands alone, and #2022's skills-only default would have left them with no working workflow. The skills root moves to the shared .agents folder, registered the same way as the Codex and Antigravity moves: legacySkillsDirs, a LEGACY_TOOL_ROOTS entry with after-generation timing, and detectionPaths so a bare .agents folder never stands in for CoStrict. Only skills move; legacyCommandPath remaps a command only when its path starts with the current root, so .cospec/openspec/commands, the only path CoStrict reads commands from, is untouched. Sharing .agents exposed an existing loop: a legacy skill counted as drift whenever the tool was not the shared root's owner, so a tool sharing a root another tool owns, with a divergent legacy copy migration keeps by design, re-synced on every run. Reproduced on main with Antigravity and Codex. Drift is now forced only while the root is unclaimed, matching the stated intent that divergent copies never force an update every run. The Hermes setup note is updated: since v2026.6.5 Hermes loads project skills once the repo is trusted with `hermes skills trust`. Closes #2022 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>