openspec-zcode/uninstall.sh
keboss-m 163483eb50 feat: initial OpenSpec skills + /opsx commands for ZCode
Port of @fission-ai/openspec@1.4.1 workflow templates into ZCode-native
skills and slash commands.

- 11 skills (skills/openspec-*/SKILL.md): auto-trigger + /skill force-load
- 11 commands (commands/opsx/*.md): /opsx:explore, /opsx:propose, /opsx:apply,
  /opsx:sync, /opsx:archive, /opsx:new, /opsx:continue, /opsx:ff, /opsx:verify,
  /opsx:bulk-archive, /opsx:onboard
- install.sh / install.ps1 (idempotent, copies to ~/.zcode/)
- uninstall.sh / uninstall.ps1
- README.md with command table, install/update/uninstall, upstream mapping

Skill instruction text is ported verbatim from the upstream
get…SkillTemplate().instructions fields, with three ZCode adaptations:
1. /opsx:<cmd> cross-refs inside skill bodies → /skill openspec-<name>
2. Task tool → Agent tool (one occurrence in openspec-archive-change)
3. Source-version comment header in each SKILL.md
2026-07-06 15:36:43 +03:00

32 lines
871 B
Bash

#!/usr/bin/env bash
# uninstall.sh — remove OpenSpec skills + /opsx commands from ZCode user directory.
set -euo pipefail
DEST="${ZCODE_HOME:-$HOME/.zcode}"
SKILLS_DEST="$DEST/skills"
COMMANDS_DEST="$DEST/commands/opsx"
removed_skills=0
for skill_dir in "$SKILLS_DEST"/openspec-*; do
if [ -d "$skill_dir" ]; then
rm -rf "$skill_dir"
removed_skills=$((removed_skills + 1))
fi
done
removed_cmds=0
for cmd_file in "$COMMANDS_DEST"/*.md; do
if [ -f "$cmd_file" ]; then
rm -f "$cmd_file"
removed_cmds=$((removed_cmds + 1))
fi
done
# Remove empty opsx commands dir if nothing is left.
if [ -d "$COMMANDS_DEST" ] && [ -z "$(ls -A "$COMMANDS_DEST" 2>/dev/null)" ]; then
rmdir "$COMMANDS_DEST" 2>/dev/null || true
fi
echo "✓ Removed $removed_skills skills + $removed_cmds commands from $DEST"
echo "Restart ZCode for the change to take effect."