diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a0bef99..a5a23659 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,12 @@ Hat tip to Jared Friedman for the design. - **Vendoring is deprecated.** README no longer recommends copying gstack into your repo. Global install + `--team` is the way. `--local` flag still works but prints a deprecation warning. - **Uninstall cleans up hooks.** `gstack-uninstall` now removes the SessionStart hook from `~/.claude/settings.json`. +## [0.15.6.1] - 2026-04-04 + +### Fixed + +- **Skill prefix self-healing.** Setup now runs `gstack-relink` as a final consistency check after linking skills. If an interrupted setup, stale git state, or upgrade left your `name:` fields out of sync with `skill_prefix: false`, setup will auto-correct on the next run. No more `/gstack-qa` when you wanted `/qa`. + ## [0.15.6.0] - 2026-04-04 — Declarative Multi-Host Platform Adding a new coding agent to gstack used to mean touching 9 files and knowing the internals of `gen-skill-docs.ts`. Now it's one TypeScript config file and a re-export. Zero code changes elsewhere. Tests auto-parameterize. diff --git a/setup b/setup index a81f6b00..5b7e63fb 100755 --- a/setup +++ b/setup @@ -608,6 +608,13 @@ if [ "$INSTALL_CLAUDE" -eq 1 ]; then # reads the correct (patched) name: values for symlink naming "$SOURCE_GSTACK_DIR/bin/gstack-patch-names" "$SOURCE_GSTACK_DIR" "$SKILL_PREFIX" link_claude_skill_dirs "$SOURCE_GSTACK_DIR" "$INSTALL_SKILLS_DIR" + # Self-healing: re-run gstack-relink to ensure name: fields and directory + # names are consistent with the config. This catches cases where an interrupted + # setup, stale git state, or gen:skill-docs left name: fields out of sync. + GSTACK_RELINK="$SOURCE_GSTACK_DIR/bin/gstack-relink" + if [ -x "$GSTACK_RELINK" ]; then + GSTACK_SKILLS_DIR="$INSTALL_SKILLS_DIR" GSTACK_INSTALL_DIR="$SOURCE_GSTACK_DIR" "$GSTACK_RELINK" >/dev/null 2>&1 || true + fi # Backwards-compat alias: /connect-chrome → /open-gstack-browser _OGB_LINK="$INSTALL_SKILLS_DIR/connect-chrome" if [ "$SKILL_PREFIX" -eq 1 ]; then