feat(profiles): prune the gstack catalog, add max, honor a removed denylist

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.
This commit is contained in:
bastien
2026-09-28 11:48:44 +02:00
parent d91d8d820a
commit f83f8f755b
18 changed files with 457 additions and 67 deletions
+6 -19
View File
@@ -1,7 +1,8 @@
# DESC: Maximum mode — web-full + plan + dev for end-to-end MVP via /init-project
# Activate when: scaffolding new project with /init-project and need
# brainstorm → design → architecture review → scaffold → implement → ship → audit
# pipeline available in one session. Superset of web-full + dev.
# DESC: Default profile — carries everything every other profile carries
# (user rule 2026-09-28: full does what each profile does), minus the
# broken or doctrine-breaking gstack skills (lib/gstack-removed.sh) and
# the parked tools (make-pdf, diagram, 21st-ai/ui-explore/ui-review) that
# live in `max`. One named exception: pr-review-toolkit (see below).
# === Brainstorm + plan-mode reviews ==================================
office-hours
@@ -9,11 +10,9 @@ plan-ceo-review
plan-eng-review
plan-design-review
plan-devex-review
autoplan
spec
# === Design pipeline =================================================
design-shotgun
design-review
design-consultation
design-html
@@ -35,12 +34,8 @@ refactor personal
code-clean personal
commit-change personal
# === Ship + review + land ============================================
ship
# === Review ===========================================================
review
context-save
land-and-deploy
setup-deploy
# === Second opinion ==================================================
codex
@@ -63,20 +58,15 @@ qa-only
# === Docs + translation ==============================================
doc personal
document-release
diagram
make-pdf
pdf-translate personal
# === Session hygiene + memory ========================================
close personal
prune-memory personal
status personal
learn
retro
careful
freeze
unfreeze
guard
# === External + plugin + MCP =========================================
emil-design-eng external
@@ -99,10 +89,7 @@ ui-ux-pro-max plugin@ui-ux-pro-max-skill
# or profile-based: bash lib/profile.sh apply audit (audit.profile keeps it;
# a later `set full` re-disables it — MANAGED_PLUGINS lifecycle).
21st-ui-build external
21st-ui-explore external
21st-ui-review external
21st-cli-use external
21st-ai external
# Personal: motion implementation companion (skills/site-motion)
site-motion personal