forked from bchanot/claude
Nine gstack skills leave every profile (ship is trunk-based on Gitea, land-and-deploy auto-merges and deploys, setup-deploy, autoplan reads paths that do not exist here, context-save has no restore, learn is an unused parallel store, careful and guard hooks never fired, design-shotgun needs an absent OpenAI key). lib/gstack-removed.sh is the single denylist; profile.sh gstack on and toggle-external.sh enable gstack skip it. full now carries everything every other profile carries (user rule), minus the parked make-pdf, diagram and 21st-ai/ui-explore/ui-review, which live in the new max profile together with pr-review-toolkit. The 21st trio also leaves web, web-full and design (redundant with impeccable + ui-ux-pro-max). lib/tests/profile-census.test.sh asserts the invariants live and on a baseline fixture plus one mutant per invariant; gstack-removed.test.sh covers both restore paths.
36 lines
1.6 KiB
Bash
36 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
# ============================================================
|
|
# lib/gstack-removed.sh — the gstack skills this config never exposes
|
|
#
|
|
# Single source for the denylist. Sourced by lib/profile.sh
|
|
# (enable_all_gstack, enable_skill) and lib/toggle-external.sh
|
|
# (`enable gstack`), read by lib/tests/profile-census.test.sh. A name
|
|
# listed here is in no profile, `max` included, and every "bring gstack
|
|
# back" path skips it. Decided 2026-09-28 (skill-catalog prune, user go):
|
|
#
|
|
# ship base = origin/HEAD = main on Gitea, skips develop
|
|
# land-and-deploy `gh pr merge --squash --delete-branch` then deploys
|
|
# setup-deploy companion of land-and-deploy (Claude never deploys)
|
|
# autoplan reads ~/.claude/skills/gstack/plan-*/ paths that do
|
|
# not exist in this install
|
|
# context-save its pair context-restore is not linked; never used
|
|
# learn parallel JSONL store outside .claude/memory, unused
|
|
# careful, guard hooks exit 127 (missing bin path) — vacuous; the
|
|
# house permissions.deny is stricter (BDR-095)
|
|
# design-shotgun mockups need OPENAI_API_KEY, absent
|
|
#
|
|
# No `set -euo pipefail` here (sourced lib, mirrors lib/detect-plugins.sh).
|
|
# ============================================================
|
|
|
|
GSTACK_REMOVED=(ship land-and-deploy setup-deploy autoplan context-save
|
|
learn careful guard design-shotgun)
|
|
|
|
# gstack_is_removed <name> — exit 0 when <name> is on the denylist.
|
|
gstack_is_removed() {
|
|
local name="$1" entry
|
|
for entry in "${GSTACK_REMOVED[@]}"; do
|
|
[ "$entry" = "$name" ] && return 0
|
|
done
|
|
return 1
|
|
}
|