Просмотр исходного кода

chore: remove ruflo and frontend-design — full cleanup

Both plugins removed from all config, scripts, and documentation:
- ruflo: uninstalled globally (npm), removed from install/update/doctor/session-start/detect/lock/advisor
- frontend-design: removed from install/session-start/detect/advisor (was already commented out)
- plugin-advisor.md: compatibility matrix, decision table, conditional rules, recommended sets all updated
- README.md/USAGE.md: all references cleaned, token cost estimates recalculated
- install-plugins.sh: steps renumbered (10→9 steps)
- CHANGELOG.md: kept as historical record

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bastien 1 месяц назад
Родитель
Сommit
50db70cbf2
9 измененных файлов с 57 добавлено и 187 удалено
  1. 15 27
      README.md
  2. 6 12
      USAGE.md
  3. 19 44
      agents/plugin-advisor.md
  4. 0 8
      doctor.sh
  5. 1 4
      hooks/session-start.sh
  6. 10 43
      install-plugins.sh
  7. 0 10
      lib/detect-plugins.sh
  8. 0 5
      plugins.lock.json
  9. 6 34
      update-all.sh

+ 15 - 27
README.md

@@ -20,7 +20,7 @@ claude-config/
 ├── doctor.sh              # Setup diagnostic — checks symlinks, plugins, permissions, token budget
 ├── doctor.sh              # Setup diagnostic — checks symlinks, plugins, permissions, token budget
 ├── update-all.sh          # One-command update for all components
 ├── update-all.sh          # One-command update for all components
 ├── Makefile               # Unified entry point: make install / doctor / update
 ├── Makefile               # Unified entry point: make install / doctor / update
-├── plugins.lock.json      # Version pinning for non-marketplace dependencies (RTK, GSD v2, ruflo)
+├── plugins.lock.json      # Version pinning for non-marketplace dependencies (RTK, GSD v2)
 ├── version.txt            # Semver version of this config
 ├── version.txt            # Semver version of this config
 ├── CHANGELOG.md           # Release history
 ├── CHANGELOG.md           # Release history
 ├── lib/
 ├── lib/
@@ -80,7 +80,7 @@ claude-config/
 - `lib/` = shared shell functions sourced by scripts (plugin detection)
 - `lib/` = shared shell functions sourced by scripts (plugin detection)
 - `templates/` = symlinked to `~/.claude/templates/` — copy into projects via per-project setup
 - `templates/` = symlinked to `~/.claude/templates/` — copy into projects via per-project setup
 - Custom skills use **Superpowers** agents for implementation phases (required — auto-detected)
 - Custom skills use **Superpowers** agents for implementation phases (required — auto-detected)
-- **Plugins** (Superpowers, GStack, GSD v2, ruflo, etc.) install separately and complement custom skills
+- **Plugins** (Superpowers, GStack, GSD v2, etc.) install separately and complement custom skills
 
 
 ---
 ---
 
 
@@ -169,12 +169,6 @@ Install output is logged to `install-YYYYMMDD-HHMMSS.log` in the repo directory
 > context-fresh execution per task. Not a Claude Code plugin — runs as an external process.
 > context-fresh execution per task. Not a Claude Code plugin — runs as an external process.
 > Docs: [github.com/gsd-build/gsd-2](https://github.com/gsd-build/gsd-2)
 > Docs: [github.com/gsd-build/gsd-2](https://github.com/gsd-build/gsd-2)
 
 
-### Ruflo CLI — OFF (disabled by default)
-
-> Enterprise multi-agent orchestration CLI (310+ tools, WASM kernel, self-learning architecture).
-> Heavy: ~500-1500 tokens passive cost. For standard multi-session work, GSD v2 is lighter and sufficient.
-> Docs: [github.com/ruflo-ai/ruflo](https://github.com/ruflo-ai/ruflo)
-
 ### Bundled skills (Claude Code built-in, always available)
 ### Bundled skills (Claude Code built-in, always available)
 
 
 | Command | Description |
 | Command | Description |
@@ -330,7 +324,7 @@ against what you're about to do. Also embedded as STEP 0 in both orchestrators.
 
 
 Blocks if Superpowers is not active (required by orchestrators).
 Blocks if Superpowers is not active (required by orchestrators).
 Blocks if critical project-specific plugins are missing (frontend tools, Context7, GStack).
 Blocks if critical project-specific plugins are missing (frontend tools, Context7, GStack).
-Warns if ruflo is active with no multi-agent signal, or if GSD v2 CLI is not installed for multi-session work.
+Warns if GSD v2 CLI is not installed for multi-session work.
 
 
 ```
 ```
 /plugin-check "I want to build a React + FastAPI SaaS"
 /plugin-check "I want to build a React + FastAPI SaaS"
@@ -339,7 +333,7 @@ Warns if ruflo is active with no multi-agent signal, or if GSD v2 CLI is not ins
 → Scans filesystem for project signals (frontend? design? deploy? multi-agent?)
 → Scans filesystem for project signals (frontend? design? deploy? multi-agent?)
 → Applies compatibility matrix
 → Applies compatibility matrix
 → Produces recommendation table with passive cost estimate
 → Produces recommendation table with passive cost estimate
-→ Warns about plugin conflicts (gstack + ruflo, etc.)
+→ Warns about plugin conflicts
 → Blocks with OPTIONS if critical plugins are missing
 → Blocks with OPTIONS if critical plugins are missing
 → Or confirms "proceed" if config is optimal
 → Or confirms "proceed" if config is optimal
 ```
 ```
@@ -352,10 +346,7 @@ Warns if ruflo is active with no multi-agent signal, or if GSD v2 CLI is not ins
 
 
 | Pair | Relation | Notes |
 | Pair | Relation | Notes |
 |---|---|---|
 |---|---|---|
-| frontend-design ↔ ui-ux-pro-max | ⚠️ Overlap | Keep both for design-heavy. Drop ui-ux-pro-max for simple UI. |
 | gstack ↔ gsd v2 | ✅ Complementary | Different scopes — CC workflow vs CLI orchestration |
 | gstack ↔ gsd v2 | ✅ Complementary | Different scopes — CC workflow vs CLI orchestration |
-| gstack ↔ ruflo | ⚠️ Overlap | Both orchestrate multi-step work. Use one or the other. ~3250-4250t combined. |
-| gsd v2 ↔ ruflo | ⚠️ Overlap | Sequential (GSD) vs parallel swarm (ruflo). Pick based on need. |
 | superpowers ↔ gsd v2 | ✅ Complementary | Single-session engine + multi-session CLI = no conflict |
 | superpowers ↔ gsd v2 | ✅ Complementary | Single-session engine + multi-session CLI = no conflict |
 | superpowers ↔ gstack | ✅ Complementary | Used together by orchestrators |
 | superpowers ↔ gstack | ✅ Complementary | Used together by orchestrators |
 | context7 ↔ any | ✅ Independent | Doc lookup CLI (ctx7) — always safe to combine |
 | context7 ↔ any | ✅ Independent | Doc lookup CLI (ctx7) — always safe to combine |
@@ -364,14 +355,14 @@ Warns if ruflo is active with no multi-agent signal, or if GSD v2 CLI is not ins
 
 
 | Project type | Plugins ON | OFF | Passive cost |
 | Project type | Plugins ON | OFF | Passive cost |
 |---|---|---|---|
 |---|---|---|---|
-| Backend API / microservice | superpowers, context7* | frontend-design, ui-ux-pro-max, gstack, ruflo | ~800t |
-| Frontend SPA / SSR | superpowers, frontend-design, ui-ux-pro-max, context7 | gstack, ruflo | ~1600t |
-| Full-stack SaaS | superpowers, gstack, frontend-design, ui-ux-pro-max, context7 | ruflo | ~4400t |
+| Backend API / microservice | superpowers, context7* | ui-ux-pro-max, gstack | ~800t |
+| Frontend SPA / SSR | superpowers, ui-ux-pro-max, context7 | gstack | ~1400t |
+| Full-stack SaaS | superpowers, gstack, ui-ux-pro-max, context7 | — | ~4200t |
 | CLI tool / library | superpowers | all toggles | ~800t |
 | CLI tool / library | superpowers | all toggles | ~800t |
-| Multi-session large feature | superpowers + gsd v2 CLI (external) | ruflo | ~800t CC |
+| Multi-session large feature | superpowers + gsd v2 CLI (external) |  | ~800t CC |
 | Quick fix / hotfix | superpowers | all toggles | ~800t |
 | Quick fix / hotfix | superpowers | all toggles | ~800t |
-| Design system / component lib | superpowers, frontend-design, ui-ux-pro-max | gstack, ruflo, gsd | ~1600t |
-| Enterprise multi-agent | superpowers, ruflo + gsd v2 CLI (external) | others | ~2300t CC |
+| Design system / component lib | superpowers, ui-ux-pro-max | gstack, gsd | ~1200t |
+| Enterprise multi-agent | superpowers + gsd v2 CLI (external) | others | ~800t CC |
 
 
 > *context7 only if using fast-evolving libs (Next.js, React 18+, Prisma, Supabase)
 > *context7 only if using fast-evolving libs (Next.js, React 18+, Prisma, Supabase)
 > security-guidance and rtk are ALWAYS ON (0 tokens) — omitted from estimates
 > security-guidance and rtk are ALWAYS ON (0 tokens) — omitted from estimates
@@ -449,10 +440,8 @@ Run `/plugin-check` anytime to get a recommendation for the current project type
 | **Superpowers** | ✅ REQUIRED | ~600–1000 tokens | — required by orchestrators | superpowers-marketplace |
 | **Superpowers** | ✅ REQUIRED | ~600–1000 tokens | — required by orchestrators | superpowers-marketplace |
 | **GStack** | 🔄 TOGGLE | ~2500–3000 tokens | Full-product: UI + design + deploy + browser QA | git submodule |
 | **GStack** | 🔄 TOGGLE | ~2500–3000 tokens | Full-product: UI + design + deploy + browser QA | git submodule |
 | **GSD v2** | 🖥️ CLI | 0 tokens (external CLI) | Multi-day features, crash recovery, cost tracking, parallel workers | npm (pinned in plugins.lock.json) |
 | **GSD v2** | 🖥️ CLI | 0 tokens (external CLI) | Multi-day features, crash recovery, cost tracking, parallel workers | npm (pinned in plugins.lock.json) |
-| **ruflo** | ⚫ OFF (disabled) | ~500–1500 tokens | Enterprise multi-agent swarm (5+ concurrent agents) | npm (CLI) |
 | **plugin-dev** | 🔄 TOGGLE | ~100 tokens | Creating plugins or custom skills | claude-code-plugins |
 | **plugin-dev** | 🔄 TOGGLE | ~100 tokens | Creating plugins or custom skills | claude-code-plugins |
 | **pr-review-toolkit** | 🔄 TOGGLE | ~300 tokens | PR review sessions | claude-code-plugins |
 | **pr-review-toolkit** | 🔄 TOGGLE | ~300 tokens | PR review sessions | claude-code-plugins |
-| **frontend-design** | 🔄 TOGGLE | ~200 tokens | Any project with a UI | claude-code-plugins |
 | **ui-ux-pro-max** | 🔄 TOGGLE | ~400 tokens | Design system, color/typography choices | ui-ux-pro-max-skill |
 | **ui-ux-pro-max** | 🔄 TOGGLE | ~400 tokens | Design system, color/typography choices | ui-ux-pro-max-skill |
 | **Context7 CLI** | 🔄 TOGGLE | ~200 tokens | Fast-evolving libs (Next.js, React, Prisma…) | npm (ctx7 CLI) |
 | **Context7 CLI** | 🔄 TOGGLE | ~200 tokens | Fast-evolving libs (Next.js, React, Prisma…) | npm (ctx7 CLI) |
 
 
@@ -467,7 +456,7 @@ Plugins are installed from GitHub-hosted marketplaces. Three are used by this co
 | Marketplace | GitHub repo | Plugins | Auto-available |
 | Marketplace | GitHub repo | Plugins | Auto-available |
 |---|---|---|---|
 |---|---|---|---|
 | `claude-plugins-official` | `anthropics/claude-plugins-official` | Anthropic-curated third-party plugins | ✅ yes |
 | `claude-plugins-official` | `anthropics/claude-plugins-official` | Anthropic-curated third-party plugins | ✅ yes |
-| `claude-code-plugins` | `anthropics/claude-code` | Anthropic bundled plugins (security-guidance, frontend-design, pr-review-toolkit, plugin-dev) | ❌ add manually |
+| `claude-code-plugins` | `anthropics/claude-code` | Anthropic bundled plugins (security-guidance, pr-review-toolkit, plugin-dev) | ❌ add manually |
 | `superpowers-marketplace` | `obra/superpowers-marketplace` | Superpowers workflow plugin | ❌ add manually |
 | `superpowers-marketplace` | `obra/superpowers-marketplace` | Superpowers workflow plugin | ❌ add manually |
 | `ui-ux-pro-max-skill` | `nextlevelbuilder/ui-ux-pro-max-skill` | UI/UX Pro Max design plugin | ❌ add manually |
 | `ui-ux-pro-max-skill` | `nextlevelbuilder/ui-ux-pro-max-skill` | UI/UX Pro Max design plugin | ❌ add manually |
 
 
@@ -479,7 +468,7 @@ Plugins are installed from GitHub-hosted marketplaces. Three are used by this co
 claude plugin marketplace add anthropics/claude-code
 claude plugin marketplace add anthropics/claude-code
 
 
 # Install a plugin from it
 # Install a plugin from it
-claude plugin install --scope user frontend-design@claude-code-plugins
+claude plugin install --scope user pr-review-toolkit@claude-code-plugins
 
 
 # Browse all available plugins
 # Browse all available plugins
 /plugin   # → Discover tab
 /plugin   # → Discover tab
@@ -493,7 +482,6 @@ Non-marketplace tools are pinned in `plugins.lock.json`:
 {
 {
   "rtk":             { "source": "https://github.com/rtk-ai/rtk", "version": "v0.34.3" },
   "rtk":             { "source": "https://github.com/rtk-ai/rtk", "version": "v0.34.3" },
   "gsd":             { "source": "npm:gsd-pi",  "version": "2.64.0" },
   "gsd":             { "source": "npm:gsd-pi",  "version": "2.64.0" },
-  "ruflo":           { "source": "npm:ruflo",   "version": "3.5.58" },
   "ctx7":            { "source": "npm:ctx7",    "version": "latest" },
   "ctx7":            { "source": "npm:ctx7",    "version": "latest" },
   "graphifyy":       { "source": "pypi:graphifyy", "managed_by": "pipx" },
   "graphifyy":       { "source": "pypi:graphifyy", "managed_by": "pipx" },
   "emil-design-eng": { "source": "https://github.com/emilkowalski/skill", "managed_by": "curl" }
   "emil-design-eng": { "source": "https://github.com/emilkowalski/skill", "managed_by": "curl" }
@@ -597,7 +585,7 @@ cp "$CONF/templates/project-CLAUDE.md" CLAUDE.md
 # From the repo directory
 # From the repo directory
 bash update-all.sh
 bash update-all.sh
 # Updates Claude CLI, pulls config, prompts before updating GStack (tracks main),
 # Updates Claude CLI, pulls config, prompts before updating GStack (tracks main),
-# updates RTK + GSD v2 (pinned), updates ruflo if installed, updates ctx7 + graphifyy,
+# updates RTK + GSD v2 (pinned), updates ctx7 + graphifyy,
 # refreshes marketplace plugins, refreshes symlinks, runs doctor
 # refreshes marketplace plugins, refreshes symlinks, runs doctor
 ```
 ```
 
 
@@ -608,7 +596,7 @@ git pull          # this repo — symlinks make changes active immediately
 bash link.sh      # refresh symlinks if needed
 bash link.sh      # refresh symlinks if needed
 ```
 ```
 
 
-All third-party tools (RTK, GSD v2, ruflo, GStack, ctx7, marketplace plugins) are updated
+All third-party tools (RTK, GSD v2, GStack, ctx7, marketplace plugins) are updated
 automatically by `update-all.sh`. Versions are pinned in `plugins.lock.json`.
 automatically by `update-all.sh`. Versions are pinned in `plugins.lock.json`.
 
 
 ---
 ---
@@ -703,7 +691,7 @@ make new-skill name=myskill  # scaffold agent + skill files
 ```
 ```
 
 
 `doctor.sh` checks 7 axes: symlinks, GStack submodule (with pinning warning), prerequisites
 `doctor.sh` checks 7 axes: symlinks, GStack submodule (with pinning warning), prerequisites
-(git, Node, Cargo, Python, Claude Code), plugins (RTK, Superpowers, Context7, GSD v2, ruflo),
+(git, Node, Cargo, Python, Claude Code), plugins (RTK, Superpowers, Context7, GSD v2),
 permissions (deny count, bypass mode), token budget (breakdown vs Pro session budget), and
 permissions (deny count, bypass mode), token budget (breakdown vs Pro session budget), and
 config consistency (frontmatter, CRLF detection).
 config consistency (frontmatter, CRLF detection).
 
 

+ 6 - 12
USAGE.md

@@ -130,12 +130,10 @@ Tu veux...
 ```
 ```
 Toujours actifs (0 token) : security-guidance, rtk
 Toujours actifs (0 token) : security-guidance, rtk
 
 
-Projet avec interface     → frontend-design ON
 Design élaboré/system     → ui-ux-pro-max ON
 Design élaboré/system     → ui-ux-pro-max ON
 Deploy + QA browser       → gstack ON
 Deploy + QA browser       → gstack ON
 Next.js/React/Prisma      → context7 ON (WARN si absent, pas BLOCK)
 Next.js/React/Prisma      → context7 ON (WARN si absent, pas BLOCK)
 Multi-session (>1 jour)   → gsd v2 CLI (gsd dans terminal)
 Multi-session (>1 jour)   → gsd v2 CLI (gsd dans terminal)
-Swarm 5+ agents parallèles → ruflo ON
 
 
 Backend/CLI seulement     → tout OFF sauf superpowers
 Backend/CLI seulement     → tout OFF sauf superpowers
 Hotfix/quick fix          → tout OFF sauf superpowers
 Hotfix/quick fix          → tout OFF sauf superpowers
@@ -276,7 +274,6 @@ cd mon-projet-existant/
 /plugin-check "App mobile React Native Expo liste de courses, offline-first, SQLite, notifications push"
 /plugin-check "App mobile React Native Expo liste de courses, offline-first, SQLite, notifications push"
 
 
 → SIGNALS: frontend (mobile), fast-libs (Expo SDK)
 → SIGNALS: frontend (mobile), fast-libs (Expo SDK)
-→ ENABLE: frontend-design (composants RN)
 → WARN: context7 si Expo SDK 51+ utilisé (fast-libs)
 → WARN: context7 si Expo SDK 51+ utilisé (fast-libs)
 → OFF: gstack (mobile, pas de browser QA), ui-ux-pro-max (optionnel)
 → OFF: gstack (mobile, pas de browser QA), ui-ux-pro-max (optionnel)
 → BLOCKING: none
 → BLOCKING: none
@@ -354,7 +351,6 @@ gsd
 /plugin-check "Site vitrine Next.js 14 studio photo, design élaboré, animations Framer Motion, galerie, dark mode, SEO"
 /plugin-check "Site vitrine Next.js 14 studio photo, design élaboré, animations Framer Motion, galerie, dark mode, SEO"
 
 
 → SIGNALS: frontend, design-system, fast-libs(Next.js)
 → SIGNALS: frontend, design-system, fast-libs(Next.js)
-→ ENABLE: frontend-design (~200t)
 → ENABLE: ui-ux-pro-max (~400t) — "design élaboré" signal fort
 → ENABLE: ui-ux-pro-max (~400t) — "design élaboré" signal fort
 → WARN: context7 non configuré → taper "force" pour continuer (ou configurer avant)
 → WARN: context7 non configuré → taper "force" pour continuer (ou configurer avant)
 → OFF: gstack (vitrine statique, pas de deploy complexe)
 → OFF: gstack (vitrine statique, pas de deploy complexe)
@@ -408,7 +404,7 @@ Sans ui-ux-pro-max : "Tailwind avec palette neutre, Inter". La différence est v
 /plugin-check "Jeu de puzzle web React + FastAPI + PostgreSQL. Auth JWT, collection de cartes, boutique in-app, leaderboard. Multi-session, dev sur plusieurs semaines."
 /plugin-check "Jeu de puzzle web React + FastAPI + PostgreSQL. Auth JWT, collection de cartes, boutique in-app, leaderboard. Multi-session, dev sur plusieurs semaines."
 
 
 → SIGNALS: frontend, fast-libs(React), deploy, multi-session
 → SIGNALS: frontend, fast-libs(React), deploy, multi-session
-→ ENABLE: frontend-design, context7
+→ ENABLE: context7
 → ENABLE: ui-ux-pro-max (cartes visuelles, cohérence design)
 → ENABLE: ui-ux-pro-max (cartes visuelles, cohérence design)
 → CLI: gsd v2 RECOMMANDÉ (multi-session détecté)
 → CLI: gsd v2 RECOMMANDÉ (multi-session détecté)
 → OPTIONAL: gstack si deploy CI + browser QA prévus
 → OPTIONAL: gstack si deploy CI + browser QA prévus
@@ -507,7 +503,7 @@ ONBOARD COMPLETE: mycli
 /plugin-check "Rust CLI, pas de frontend, pas de deploy"
 /plugin-check "Rust CLI, pas de frontend, pas de deploy"
 
 
 → SIGNALS: none (CLI pur)
 → SIGNALS: none (CLI pur)
-→ DISABLE: frontend-design, ui-ux-pro-max, gstack, context7
+→ DISABLE: ui-ux-pro-max, gstack, context7
 → KEEP: superpowers
 → KEEP: superpowers
 → COST: ~800t (minimal)
 → COST: ~800t (minimal)
 → ACTION REQUIRED? NO
 → ACTION REQUIRED? NO
@@ -570,7 +566,7 @@ DO NOT TOUCH:
 
 
 → SIGNALS: none (CLI pur, pas de deploy, pas de frontend)
 → SIGNALS: none (CLI pur, pas de deploy, pas de frontend)
 → KEEP: superpowers
 → KEEP: superpowers
-→ DISABLE: frontend-design, ui-ux-pro-max, gstack, context7, ruflo
+→ DISABLE: ui-ux-pro-max, gstack, context7
 → COST: ~800t (base seulement)
 → COST: ~800t (base seulement)
 → ACTION REQUIRED? NO
 → ACTION REQUIRED? NO
 ```
 ```
@@ -783,7 +779,7 @@ PROJECT STATUS
 
 
 CONFIG
 CONFIG
   Version   : v2.5.0
   Version   : v2.5.0
-  Plugins ON: superpowers, frontend-design, context7 (~1200t)
+  Plugins ON: superpowers, context7 (~1000t)
   GSD v2    : installed (2.64.0)
   GSD v2    : installed (2.64.0)
 
 
 PROJECT
 PROJECT
@@ -882,7 +878,7 @@ COST: ~800t (superpowers seul)
 
 
 RECOMMENDATIONS:
 RECOMMENDATIONS:
   OK KEEP   : superpowers (peut être utile pour brainstorm initial)
   OK KEEP   : superpowers (peut être utile pour brainstorm initial)
-  DISABLE   : frontend-design, ui-ux-pro-max, gstack, context7, ruflo
+  DISABLE   : ui-ux-pro-max, gstack, context7
   NOTE      : Pour un firmware vraiment simple (hotfix, modification ciblée),
   NOTE      : Pour un firmware vraiment simple (hotfix, modification ciblée),
               même superpowers peut être désactivé → ~0t passif
               même superpowers peut être désactivé → ~0t passif
 ```
 ```
@@ -948,14 +944,12 @@ STEP 4 — IMPLEMENT (subagents légers, modifications chirurgicales)
 ```
 ```
 Description contient...    →  Plugin
 Description contient...    →  Plugin
 ─────────────────────────────────────────────────────
 ─────────────────────────────────────────────────────
-React / Vue / Svelte       →  frontend-design ON
 Next.js 13+ / App Router   →  context7 WARN
 Next.js 13+ / App Router   →  context7 WARN
 Prisma / Supabase          →  context7 ON
 Prisma / Supabase          →  context7 ON
 "design élaboré" / tokens  →  ui-ux-pro-max ON
 "design élaboré" / tokens  →  ui-ux-pro-max ON
 Docker + QA browser        →  gstack ON
 Docker + QA browser        →  gstack ON
 "plusieurs semaines"       →  gsd v2 CLI
 "plusieurs semaines"       →  gsd v2 CLI
-"5+ agents parallèles"     →  ruflo ON
 Rust / Python / Go / C     →  tout OFF sauf superpowers
 Rust / Python / Go / C     →  tout OFF sauf superpowers
-Mobile / Flutter / RN      →  frontend-design ON, gstack OFF
+Mobile / Flutter / RN      →  gstack OFF
 Hotfix / script rapide     →  tout OFF sauf superpowers
 Hotfix / script rapide     →  tout OFF sauf superpowers
 ```
 ```

+ 19 - 44
agents/plugin-advisor.md

@@ -21,9 +21,6 @@ claude plugin list 2>/dev/null || echo "plugin-list-unavailable"
 # GStack skills count (toggle CC plugin)
 # GStack skills count (toggle CC plugin)
 ls $HOME/.claude/skills/gstack/skills/ 2>/dev/null | wc -l || echo "0"
 ls $HOME/.claude/skills/gstack/skills/ 2>/dev/null | wc -l || echo "0"
 
 
-# Ruflo CLI
-command -v ruflo &>/dev/null && ruflo --version 2>/dev/null | head -1 || echo "ruflo-not-installed"
-
 # Context7 CLI
 # Context7 CLI
 command -v ctx7 &>/dev/null && ctx7 --version 2>/dev/null | head -1 || echo "ctx7-not-installed"
 command -v ctx7 &>/dev/null && ctx7 --version 2>/dev/null | head -1 || echo "ctx7-not-installed"
 
 
@@ -94,7 +91,7 @@ Factors (weighted):
   _Examples: blog with auth, dashboard with charts, API with validation._
   _Examples: blog with auth, dashboard with charts, API with validation._
 - **60-85% (complex)**: + gstack if browser-QA, + gsd if multi-session, + graphify both passes.
 - **60-85% (complex)**: + gstack if browser-QA, + gsd if multi-session, + graphify both passes.
   _Examples: SaaS with billing, game with social features, e-commerce._
   _Examples: SaaS with billing, game with social features, e-commerce._
-- **85-100% (enterprise)**: all tools justified. Consider ruflo only if explicitly requested.
+- **85-100% (enterprise)**: all tools justified.
   _Examples: multi-service platform, real-time collab app, marketplace._
   _Examples: multi-service platform, real-time collab app, marketplace._
 
 
 Output: `COMPLEXITY: <score>% — <label>` with one-line justification.
 Output: `COMPLEXITY: <score>% — <label>` with one-line justification.
@@ -131,7 +128,6 @@ After presenting RECOMMENDATIONS, if any plugin has ⚡ ENABLE status:
    PROPOSED CHANGES:
    PROPOSED CHANGES:
      ⚡ Enable ui-ux-pro-max (frontend detected, complexity 65%)
      ⚡ Enable ui-ux-pro-max (frontend detected, complexity 65%)
      ⚡ Pre-fetch ctx7 docs for next.js, prisma
      ⚡ Pre-fetch ctx7 docs for next.js, prisma
-     ⚠️  Disable ruflo (not needed, saves ~1000t)
    Apply these changes? (yes / no / customize)
    Apply these changes? (yes / no / customize)
    ```
    ```
 2. On "yes" → apply changes (rename .disabled dirs, update MCP config).
 2. On "yes" → apply changes (rename .disabled dirs, update MCP config).
@@ -146,23 +142,21 @@ After presenting RECOMMENDATIONS, if any plugin has ⚡ ENABLE status:
 
 
 | Signal | Enable / Use | Disable / Skip | Notes |
 | Signal | Enable / Use | Disable / Skip | Notes |
 |---|---|---|---|
 |---|---|---|---|
-| `frontend` | frontend-design, ui-ux-pro-max | — | Both complement each other |
-| `mobile` (React Native/Expo/Flutter) | frontend-design | gstack (no browser QA), Docker N/A | ui-ux-pro-max optional |
+| `frontend` | ui-ux-pro-max | — | UI design and polish |
+| `mobile` (React Native/Expo/Flutter) |  | gstack (no browser QA), Docker N/A | ui-ux-pro-max optional |
 | `monorepo` | per-package plugin recommendations | avoid recommending gstack for whole repo if only one package has browser QA | Specify which plugin applies to which package |
 | `monorepo` | per-package plugin recommendations | avoid recommending gstack for whole repo if only one package has browser QA | Specify which plugin applies to which package |
-| `design-system` | frontend-design, ui-ux-pro-max | — | High overlap but both useful |
+| `design-system` | ui-ux-pro-max | — | Design tokens, theme, Storybook |
 | `deploy` + `browser-qa` | gstack | — | Full-product workflow |
 | `deploy` + `browser-qa` | gstack | — | Full-product workflow |
 | `multi-session` | gsd v2 CLI | — | Run `gsd` in terminal, not CC plugin |
 | `multi-session` | gsd v2 CLI | — | Run `gsd` in terminal, not CC plugin |
 | `fast-libs` | context7 | — | Doc freshness critical |
 | `fast-libs` | context7 | — | Doc freshness critical |
-| `multi-agent` + `complex-arch` | gsd v2 CLI | ruflo (unless explicitly requested) | GSD v2 preferred; ruflo only on explicit user request |
-| `simple` / single-session | — | gsd, gstack, ruflo, ui-ux-pro-max | Saves ~3000-5000t |
+| `multi-agent` + `complex-arch` | gsd v2 CLI | — | GSD v2 preferred for multi-session coordination |
+| `simple` / single-session | — | gsd, gstack, ui-ux-pro-max | Saves ~3000-5000t |
 | `embedded` / firmware | — | all toggles; superpowers optional | workflow: /analyze → /hotfix or /bugfix or /ship-feature |
 | `embedded` / firmware | — | all toggles; superpowers optional | workflow: /analyze → /hotfix or /bugfix or /ship-feature |
-| backend/lib/CLI only | — | frontend-design, ui-ux-pro-max, gstack | ~3100t saved |
-| small project / hotfix | — | gstack, ruflo, gsd | Use /hotfix, /bugfix, or /feat |
+| backend/lib/CLI only | — | ui-ux-pro-max, gstack | ~3100t saved |
+| small project / hotfix | — | gstack, gsd | Use /hotfix, /bugfix, or /feat |
 
 
 **GSD v2 note:** `gsd-pi` is a standalone CLI (Pi SDK), not a Claude Code plugin. Zero passive token cost in CC sessions. Recommend when: feature > 1 day, multiple isolated context windows needed, crash recovery, cost tracking, or parallel workers. Usage: `gsd` in terminal → `/gsd auto`.
 **GSD v2 note:** `gsd-pi` is a standalone CLI (Pi SDK), not a Claude Code plugin. Zero passive token cost in CC sessions. Recommend when: feature > 1 day, multiple isolated context windows needed, crash recovery, cost tracking, or parallel workers. Usage: `gsd` in terminal → `/gsd auto`.
 
 
-**Ruflo note:** `ruflo` is a heavy CLI tool (310+ tools, ~500-1500t passive when hooks active). Only recommend when the project explicitly requires coordinating 5+ specialized agents simultaneously or swarm/parallel-orchestration architecture. For standard multi-session work, GSD v2 is sufficient and lighter. Install: `npm install -g ruflo@latest --omit=optional`. Init: `ruflo init --wizard`.
-
 ### Skill routing by task size
 ### Skill routing by task size
 
 
 When the plugin-advisor detects a `simple` or `hotfix` signal, suggest the appropriate lightweight skill instead of heavy orchestrators:
 When the plugin-advisor detects a `simple` or `hotfix` signal, suggest the appropriate lightweight skill instead of heavy orchestrators:
@@ -185,16 +179,12 @@ When the plugin-advisor detects a `simple` or `hotfix` signal, suggest the appro
 
 
 | Pair | Relation | Verdict |
 | Pair | Relation | Verdict |
 |---|---|---|
 |---|---|---|
-| frontend-design ↔ ui-ux-pro-max | ⚠️ Overlap | Both do UI styling. Keep both for design-heavy projects; drop ui-ux-pro-max for simple UIs. ~600t combined. |
 | gstack ↔ gsd v2 | ✅ Complementary | GStack = full-product CC workflow. GSD v2 = multi-session CLI. Different scopes, no conflict. |
 | gstack ↔ gsd v2 | ✅ Complementary | GStack = full-product CC workflow. GSD v2 = multi-session CLI. Different scopes, no conflict. |
-| gstack ↔ ruflo | ⚠️ Overlap | Both orchestrate multi-step workflows. GStack is CC-native; ruflo is CLI swarm. High combined overhead (~3250-4250t). Use one or the other. |
-| gsd v2 ↔ ruflo | ⚠️ Overlap | GSD v2 = sequential session pipeline. Ruflo = parallel agent swarm. Pick one per project; ruflo only if genuinely parallel work needed. |
 | superpowers ↔ gsd v2 | ✅ Complementary | Superpowers = single-session execution. GSD v2 = multi-session CLI orchestration. No conflict. |
 | superpowers ↔ gsd v2 | ✅ Complementary | Superpowers = single-session execution. GSD v2 = multi-session CLI orchestration. No conflict. |
 | superpowers ↔ gstack | ✅ Complementary | Used together in /init-project and /ship-feature. Superpowers = engine, GStack = full-product skills. |
 | superpowers ↔ gstack | ✅ Complementary | Used together in /init-project and /ship-feature. Superpowers = engine, GStack = full-product skills. |
-| superpowers ↔ ruflo | ⚠️ Overlap | Both can orchestrate agent sub-tasks. Together only for advanced hybrid setups. |
 | context7 ↔ any | ✅ Independent | Doc lookup CLI (ctx7), no workflow overlap. Always safe to combine. |
 | context7 ↔ any | ✅ Independent | Doc lookup CLI (ctx7), no workflow overlap. Always safe to combine. |
 | plugin-dev ↔ superpowers | ⚠️ Minor overlap | Superpowers can create skills too. Keep plugin-dev only when actively building new plugins/skills. |
 | plugin-dev ↔ superpowers | ⚠️ Minor overlap | Superpowers can create skills too. Keep plugin-dev only when actively building new plugins/skills. |
-| frontend-design ↔ gstack | ✅ Complementary | GStack = deploy/QA layer; frontend-design = UI quality layer. Different concerns. |
+| ui-ux-pro-max ↔ gstack | ✅ Complementary | GStack = deploy/QA layer; ui-ux-pro-max = UI quality layer. Different concerns. |
 | pr-review-toolkit ↔ superpowers | ✅ Complementary | superpowers:requesting-code-review and /pr-review-toolkit:review-pr cover different review styles. |
 | pr-review-toolkit ↔ superpowers | ✅ Complementary | superpowers:requesting-code-review and /pr-review-toolkit:review-pr cover different review styles. |
 | rtk ↔ any | ✅ Independent | Hook-only token compression. Zero interaction with any plugin. |
 | rtk ↔ any | ✅ Independent | Hook-only token compression. Zero interaction with any plugin. |
 | security-guidance ↔ any | ✅ Independent | Hook-only security rules. Zero interaction. |
 | security-guidance ↔ any | ✅ Independent | Hook-only security rules. Zero interaction. |
@@ -203,15 +193,15 @@ When the plugin-advisor detects a `simple` or `hotfix` signal, suggest the appro
 
 
 | Project type | Plugins ON | OFF | Passive cost |
 | Project type | Plugins ON | OFF | Passive cost |
 |---|---|---|---|
 |---|---|---|---|
-| Backend API / microservice | superpowers, context7 (if fast libs) | frontend-design, ui-ux-pro-max, gstack, ruflo | ~800t |
-| Frontend SPA / SSR | superpowers, frontend-design, ui-ux-pro-max, context7 | gstack, ruflo | ~1600t |
-| Full-stack SaaS | superpowers, gstack, frontend-design, ui-ux-pro-max, context7 | ruflo | ~4400t |
+| Backend API / microservice | superpowers, context7 (if fast libs) | ui-ux-pro-max, gstack | ~800t |
+| Frontend SPA / SSR | superpowers, ui-ux-pro-max, context7 | gstack | ~1400t |
+| Full-stack SaaS | superpowers, gstack, ui-ux-pro-max, context7 | — | ~4200t |
 | CLI tool / library | superpowers | all toggles | ~800t |
 | CLI tool / library | superpowers | all toggles | ~800t |
-| Multi-session large feature | superpowers + gsd v2 CLI (external) | ruflo (unless parallel) | ~800t CC |
+| Multi-session large feature | superpowers + gsd v2 CLI (external) |  | ~800t CC |
 | Quick fix / hotfix | superpowers | all toggles | ~800t |
 | Quick fix / hotfix | superpowers | all toggles | ~800t |
-| Design system / component lib | superpowers, frontend-design, ui-ux-pro-max | gstack, ruflo, gsd | ~1600t |
-| Fast-evolving libs (Next.js etc.) | superpowers, context7, frontend-design | ruflo | ~1200t |
-| Enterprise multi-agent orchestration | superpowers + gsd v2 (external) | ruflo (unless explicit), plugin-dev | ~800t CC |
+| Design system / component lib | superpowers, ui-ux-pro-max | gstack, gsd | ~1200t |
+| Fast-evolving libs (Next.js etc.) | superpowers, context7 | — | ~1000t |
+| Enterprise multi-agent orchestration | superpowers + gsd v2 (external) | plugin-dev | ~800t CC |
 
 
 > security-guidance and rtk are ALWAYS ON (0 tokens) — omitted from cost estimates for clarity.
 > security-guidance and rtk are ALWAYS ON (0 tokens) — omitted from cost estimates for clarity.
 
 
@@ -219,7 +209,6 @@ When the plugin-advisor detects a `simple` or `hotfix` signal, suggest the appro
 
 
 ```
 ```
 RULE: IF "mobile" signal (React Native/Expo/Flutter detected):
 RULE: IF "mobile" signal (React Native/Expo/Flutter detected):
-  → frontend-design ON (~200t) — mobile UI components
   → gstack OFF — no browser QA on mobile
   → gstack OFF — no browser QA on mobile
   → Docker NOT relevant — no server-side containerization for mobile
   → Docker NOT relevant — no server-side containerization for mobile
   → ui-ux-pro-max OPTIONAL (~400t) — only if design system complexity is high
   → ui-ux-pro-max OPTIONAL (~400t) — only if design system complexity is high
@@ -227,14 +216,12 @@ RULE: IF "mobile" signal (React Native/Expo/Flutter detected):
 RULE: IF "monorepo" signal detected:
 RULE: IF "monorepo" signal detected:
   → scan each top-level package individually for frontend/deploy/fast-libs signals
   → scan each top-level package individually for frontend/deploy/fast-libs signals
   → recommend plugins per-package, NOT for the whole repo
   → recommend plugins per-package, NOT for the whole repo
-  → if only apps/web/ has frontend: enable frontend-design for web package only
   → if only apps/api/ has deploy: gstack only if apps/api/ has browser QA too
   → if only apps/api/ has deploy: gstack only if apps/api/ has browser QA too
   → NOTE in output: "Plugin X recommended for apps/web/ — disable for apps/api/"
   → NOTE in output: "Plugin X recommended for apps/web/ — disable for apps/api/"
   → passive cost estimate = highest-cost package profile (other packages add nothing)
   → passive cost estimate = highest-cost package profile (other packages add nothing)
 
 
 RULE: IF "frontend" signal OR .tsx/.jsx count > 0:
 RULE: IF "frontend" signal OR .tsx/.jsx count > 0:
-  → frontend-design ON (~200t)
-  → ui-ux-pro-max ON if "design-system" signal (~400t additional)
+  → ui-ux-pro-max ON if "design-system" signal (~400t)
 
 
 RULE: IF "deploy" AND "browser-qa" signals:
 RULE: IF "deploy" AND "browser-qa" signals:
   → gstack ON (~2750t) — full-product workflow
   → gstack ON (~2750t) — full-product workflow
@@ -248,24 +235,18 @@ RULE: IF "fast-libs" (Next.js/React 18+/Prisma/Supabase/Drizzle):
 
 
 RULE: IF "multi-agent" AND "complex-arch":
 RULE: IF "multi-agent" AND "complex-arch":
   → gsd v2 CLI recommended (0t passive, multi-session coordination)
   → gsd v2 CLI recommended (0t passive, multi-session coordination)
-  → ruflo CLI OFF by default — only enable if user explicitly requests swarm/parallel orchestration
-  → IF user explicitly requests ruflo AND gstack also ON: WARN overlap (~3250-4250t combined)
 
 
 RULE: IF "simple" OR "hotfix":
 RULE: IF "simple" OR "hotfix":
   → Disable all toggles. ~800t base only.
   → Disable all toggles. ~800t base only.
 
 
 RULE: IF "embedded" signal (firmware, bare-metal, microcontroller, or Makefile+C without Node/Rust/Go):
 RULE: IF "embedded" signal (firmware, bare-metal, microcontroller, or Makefile+C without Node/Rust/Go):
-  → Disable ALL toggles including gstack, context7, ruflo, plugin-dev
+  → Disable ALL toggles including gstack, context7, plugin-dev
   → superpowers OPTIONAL: useful for initial design brainstorm on complex drivers,
   → superpowers OPTIONAL: useful for initial design brainstorm on complex drivers,
     but unnecessary for single-function patches — user decides
     but unnecessary for single-function patches — user decides
   → GSD v2 CLI: not recommended (sessions are short, tasks are atomic)
   → GSD v2 CLI: not recommended (sessions are short, tasks are atomic)
   → Recommend workflow: /analyze <file> → /hotfix (patch) or /bugfix (investigation) or /ship-feature (multi-file)
   → Recommend workflow: /analyze <file> → /hotfix (patch) or /bugfix (investigation) or /ship-feature (multi-file)
   → NOTE: print "embedded project detected — minimal plugin footprint recommended"
   → NOTE: print "embedded project detected — minimal plugin footprint recommended"
 
 
-RULE: IF gstack ON AND ruflo ON:
-  → WARN: functional overlap on multi-step orchestration
-  → Suggest: gstack for CC-native workflow, ruflo only if parallel swarm needed
-
 RULE: IF plugin-dev ON AND no `skill-creation` signal detected:
 RULE: IF plugin-dev ON AND no `skill-creation` signal detected:
   → WARN: plugin-dev active but no skill-creation signal (~100t saved if disabled)
   → WARN: plugin-dev active but no skill-creation signal (~100t saved if disabled)
   → Disable unless you're actively building custom plugins or skills
   → Disable unless you're actively building custom plugins or skills
@@ -279,14 +260,11 @@ RULE: IF `browser-qa` signal (e2e tests, Playwright/Cypress/Puppeteer in deps):
   → context7 OPTIONAL (depends on framework version)
   → context7 OPTIONAL (depends on framework version)
 
 
 RULE: IF `design-system` signal (tokens, theme files, Storybook present):
 RULE: IF `design-system` signal (tokens, theme files, Storybook present):
-  → frontend-design ON (~200t)
   → ui-ux-pro-max ON (~400t)
   → ui-ux-pro-max ON (~400t)
-  → WARN if both are OFF with this signal: significant design gap
+  → WARN if OFF with this signal: significant design gap
 
 
 RULE: IF `complex-arch` signal (multiple services, event bus, distributed system):
 RULE: IF `complex-arch` signal (multiple services, event bus, distributed system):
-  → ruflo CLI ON (~500-1500t)
   → gsd v2 CLI recommended for multi-session coordination
   → gsd v2 CLI recommended for multi-session coordination
-  → IF gstack also ON: WARN combined cost ~3250-4250t — consider disabling one
 ```
 ```
 
 
 ---
 ---
@@ -294,14 +272,11 @@ RULE: IF `complex-arch` signal (multiple services, event bus, distributed system
 ## BLOCK if
 ## BLOCK if
 
 
 - Superpowers not active → install: `claude plugin marketplace add obra/superpowers-marketplace && claude plugin install --scope user superpowers@superpowers-marketplace`
 - Superpowers not active → install: `claude plugin marketplace add obra/superpowers-marketplace && claude plugin install --scope user superpowers@superpowers-marketplace`
-- Significant frontend signal + frontend-design AND ui-ux-pro-max both off
 - Full-product (UI+deploy+QA) + gstack not installed
 - Full-product (UI+deploy+QA) + gstack not installed
 
 
 ## WARN (no block)
 ## WARN (no block)
 
 
 - Active toggle plugins not needed for this task (dead passive cost)
 - Active toggle plugins not needed for this task (dead passive cost)
-- gstack ON + ruflo ON simultaneously (overlap, ~3250-4250t)
-- ruflo ON with no multi-agent signal detected
 - Multi-session feature + `gsd` CLI not installed → `npm install -g gsd-pi`
 - Multi-session feature + `gsd` CLI not installed → `npm install -g gsd-pi`
 - Total passive cost > 50% of plan budget (Pro: ~5500t, Max: ~10000t, Free: ~2500t)
 - Total passive cost > 50% of plan budget (Pro: ~5500t, Max: ~10000t, Free: ~2500t)
 - **Next.js/React 18+/Prisma/Supabase detected + context7 not configured**
 - **Next.js/React 18+/Prisma/Supabase detected + context7 not configured**

+ 0 - 8
doctor.sh

@@ -174,12 +174,6 @@ else
   info "GSD v2 not installed (optional — run: npm install -g gsd-pi)"
   info "GSD v2 not installed (optional — run: npm install -g gsd-pi)"
 fi
 fi
 
 
-if detect_ruflo; then
-  pass "Ruflo CLI installed ($(ruflo --version 2>/dev/null | head -1 || echo 'installed'))"
-else
-  info "Ruflo CLI not installed (optional — enterprise multi-agent: npm install -g ruflo@latest --omit=optional)"
-fi
-
 if detect_graphifyy; then
 if detect_graphifyy; then
   pass "Graphifyy installed (graphify CLI)"
   pass "Graphifyy installed (graphify CLI)"
 else
 else
@@ -248,10 +242,8 @@ SKILL_COUNT=$(find "$HOME/.claude/skills/" -maxdepth 2 -name "SKILL.md" 2>/dev/n
 PLUGIN_TOKENS=0
 PLUGIN_TOKENS=0
 if detect_superpowers 2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 800)); fi
 if detect_superpowers 2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 800)); fi
 if detect_gstack      2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 2750)); fi
 if detect_gstack      2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 2750)); fi
-if detect_frontend_design 2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 200)); fi
 if detect_uiux_pro_max    2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 400)); fi
 if detect_uiux_pro_max    2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 400)); fi
 if detect_context7    2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 200)); fi
 if detect_context7    2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 200)); fi
-if detect_ruflo       2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 1000)); fi
 if detect_graphifyy   2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 300)); fi
 if detect_graphifyy   2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 300)); fi
 
 
 TOTAL_TOKENS=$((CLAUDE_MD_TOKENS + SKILL_DESC_TOKENS + PLUGIN_TOKENS))
 TOTAL_TOKENS=$((CLAUDE_MD_TOKENS + SKILL_DESC_TOKENS + PLUGIN_TOKENS))

+ 1 - 4
hooks/session-start.sh

@@ -48,11 +48,10 @@ unset _lib
 TOGGLE_ACTIVE=()
 TOGGLE_ACTIVE=()
 TOGGLE_INACTIVE=()
 TOGGLE_INACTIVE=()
 
 
-for plugin in gstack uiux_pro_max frontend_design plugin_dev context7 ruflo graphifyy; do
+for plugin in gstack uiux_pro_max plugin_dev context7 graphifyy; do
   # Map function name to display name
   # Map function name to display name
   case "$plugin" in
   case "$plugin" in
     uiux_pro_max)    display="ui-ux-pro-max" ;;
     uiux_pro_max)    display="ui-ux-pro-max" ;;
-    frontend_design) display="frontend-design" ;;
     plugin_dev)      display="plugin-dev" ;;
     plugin_dev)      display="plugin-dev" ;;
     *)               display="$plugin" ;;
     *)               display="$plugin" ;;
   esac
   esac
@@ -104,10 +103,8 @@ detect_superpowers 2>/dev/null && _passive_t=$((_passive_t + 800))
 declare -A _plugin_costs=(
 declare -A _plugin_costs=(
   [gstack]=2750
   [gstack]=2750
   [ui-ux-pro-max]=400
   [ui-ux-pro-max]=400
-  [frontend-design]=200
   [plugin-dev]=100
   [plugin-dev]=100
   [context7]=200
   [context7]=200
-  [ruflo]=1000
   [graphifyy]=300
   [graphifyy]=300
 )
 )
 for _p in "${TOGGLE_ACTIVE[@]}"; do
 for _p in "${TOGGLE_ACTIVE[@]}"; do

+ 10 - 43
install-plugins.sh

@@ -286,41 +286,11 @@ fi
 echo ""
 echo ""
 
 
 # ============================================================
 # ============================================================
-# STEP 5 — RUFLO CLI (enterprise multi-agent orchestration)
-# ============================================================
-# Ruflo (formerly claude-flow) is an enterprise multi-agent orchestration CLI.
-# 310+ tools, 100+ agent types, WASM kernel, self-learning architecture.
-# Use only for projects requiring complex multi-agent coordination.
-# Default install ~340MB. Minimal: npm install -g ruflo@latest --omit=optional (~15s)
-echo "── Step 5: Ruflo CLI ──────────────────────────────────────"
-echo ""
-if detect_ruflo; then
-  ok "Ruflo CLI already installed ($(ruflo --version 2>/dev/null | head -1 || echo 'installed'))"
-else
-  RUFLO_VER=$(pinned_version "ruflo")
-  if [ "$RUFLO_VER" != "latest" ]; then
-    info "Installing ruflo@${RUFLO_VER} (pinned, minimal --omit=optional)..."
-    npm install -g "ruflo@${RUFLO_VER}" --omit=optional
-  else
-    info "Installing ruflo@latest (minimal --omit=optional)..."
-    npm install -g ruflo@latest --omit=optional
-  fi
-  command -v ruflo &>/dev/null && ok "Ruflo CLI installed ($(ruflo --version 2>/dev/null | head -1))" \
-    || err "Ruflo install failed — run manually: npm install -g ruflo@latest --omit=optional"
-fi
-if command -v ruflo &>/dev/null; then
-  info "Init in a project: ruflo init --wizard"
-  info "Spawn agent: ruflo agent spawn -t coder"
-  info "Start swarm: ruflo swarm init"
-  info "Diagnostics: ruflo doctor"
-fi
-
-# ============================================================
-# STEP 6 — MARKETPLACE PLUGINS (user scope, explicit)
+# STEP 5 — MARKETPLACE PLUGINS (user scope, explicit)
 # ============================================================
 # ============================================================
 # All claude plugin install commands use --scope user to ensure
 # All claude plugin install commands use --scope user to ensure
 # they install to ~/.claude/plugins/ regardless of working directory.
 # they install to ~/.claude/plugins/ regardless of working directory.
-echo "── Step 6: Marketplace plugins (scope: user) ────────────────"
+echo "── Step 5: Marketplace plugins (scope: user) ────────────────"
 echo ""
 echo ""
 
 
 install_plugin() {
 install_plugin() {
@@ -349,7 +319,6 @@ install_plugin "security-guidance"  "claude-code-plugins"
 # skill-creator is in "example-skills" plugin from anthropics/skills marketplace
 # skill-creator is in "example-skills" plugin from anthropics/skills marketplace
 # (not in claude-code marketplace — it's a separate repo)
 # (not in claude-code marketplace — it's a separate repo)
 install_plugin "example-skills"     "anthropic-agent-skills"
 install_plugin "example-skills"     "anthropic-agent-skills"
-# install_plugin "frontend-design"    "claude-code-plugins"
 install_plugin "pr-review-toolkit"  "claude-code-plugins"
 install_plugin "pr-review-toolkit"  "claude-code-plugins"
 install_plugin "plugin-dev"         "claude-code-plugins"
 install_plugin "plugin-dev"         "claude-code-plugins"
 
 
@@ -370,9 +339,9 @@ install_plugin "ui-ux-pro-max" "ui-ux-pro-max-skill"
 echo ""
 echo ""
 
 
 # ============================================================
 # ============================================================
-# STEP 7 — CONTEXT7 CLI (ctx7)
+# STEP 6 — CONTEXT7 CLI (ctx7)
 # ============================================================
 # ============================================================
-echo "── Step 7: Context7 CLI ─────────────────────────────────────"
+echo "── Step 6: Context7 CLI ─────────────────────────────────────"
 echo ""
 echo ""
 if command -v ctx7 &>/dev/null; then
 if command -v ctx7 &>/dev/null; then
   ok "ctx7 already installed ($(ctx7 --version 2>/dev/null | head -1 || echo 'installed'))"
   ok "ctx7 already installed ($(ctx7 --version 2>/dev/null | head -1 || echo 'installed'))"
@@ -396,9 +365,9 @@ if command -v ctx7 &>/dev/null; then
 fi
 fi
 
 
 # ============================================================
 # ============================================================
-# STEP 8 — GRAPHIFYY (codebase knowledge graph)
+# STEP 7 — GRAPHIFYY (codebase knowledge graph)
 # ============================================================
 # ============================================================
-echo "── Step 8: Graphifyy — Knowledge Graph ──────────────────────"
+echo "── Step 7: Graphifyy — Knowledge Graph ──────────────────────"
 echo ""
 echo ""
 if command -v graphify &>/dev/null; then
 if command -v graphify &>/dev/null; then
   ok "graphify already installed"
   ok "graphify already installed"
@@ -418,9 +387,9 @@ fi
 echo ""
 echo ""
 
 
 # ============================================================
 # ============================================================
-# STEP 9 — EMIL DESIGN ENG (UI polish / animation skill)
+# STEP 8 — EMIL DESIGN ENG (UI polish / animation skill)
 # ============================================================
 # ============================================================
-echo "── Step 9: Emil Design Engineering ─────────────────────────"
+echo "── Step 8: Emil Design Engineering ─────────────────────────"
 echo ""
 echo ""
 EMIL_DIR="$REPO/skills-external/emil-design-eng"
 EMIL_DIR="$REPO/skills-external/emil-design-eng"
 EMIL_URL="https://raw.githubusercontent.com/emilkowalski/skill/main/skills/emil-design-eng/SKILL.md"
 EMIL_URL="https://raw.githubusercontent.com/emilkowalski/skill/main/skills/emil-design-eng/SKILL.md"
@@ -442,9 +411,9 @@ fi
 echo ""
 echo ""
 
 
 # ============================================================
 # ============================================================
-# STEP 10 — SHELL CONFIG (alias + env vars)
+# STEP 9 — SHELL CONFIG (alias + env vars)
 # ============================================================
 # ============================================================
-echo "── Step 10: Claude Code shell config (alias + env vars) ────"
+echo "── Step 9: Claude Code shell config (alias + env vars) ─────"
 echo ""
 echo ""
 
 
 # Detect shell profile
 # Detect shell profile
@@ -506,10 +475,8 @@ echo "    🔄 gstack              — ~/.claude/skills/gstack/ (→ submodule)"
 echo "    🔄 gsd v2              — standalone CLI 'gsd' (gsd-pi, not a Claude Code plugin)"
 echo "    🔄 gsd v2              — standalone CLI 'gsd' (gsd-pi, not a Claude Code plugin)"
 echo "    🔄 plugin-dev          — create plugins/skills (~100 tokens) [claude-code-plugins]"
 echo "    🔄 plugin-dev          — create plugins/skills (~100 tokens) [claude-code-plugins]"
 echo "    🔄 pr-review-toolkit   — /pr-review-toolkit:review-pr (~300 tokens) [claude-code-plugins]"
 echo "    🔄 pr-review-toolkit   — /pr-review-toolkit:review-pr (~300 tokens) [claude-code-plugins]"
-echo "    🔄 frontend-design     — UI design skill (~200 tokens) [claude-code-plugins]"
 echo "    🔄 ui-ux-pro-max       — user scope (~400 tokens)"
 echo "    🔄 ui-ux-pro-max       — user scope (~400 tokens)"
 echo "    🔄 context7 CLI        — ctx7 (npm global, standalone or MCP setup)"
 echo "    🔄 context7 CLI        — ctx7 (npm global, standalone or MCP setup)"
-echo "    🔄 ruflo CLI           — enterprise multi-agent orchestration (~500-1500 tokens)"
 echo "    🔄 graphifyy           — codebase knowledge graph (pipx, PreToolUse hook)"
 echo "    🔄 graphifyy           — codebase knowledge graph (pipx, PreToolUse hook)"
 echo "    🔄 emil-design-eng     — UI polish, animations, component craft (curl → symlink)"
 echo "    🔄 emil-design-eng     — UI polish, animations, component craft (curl → symlink)"
 echo ""
 echo ""

+ 0 - 10
lib/detect-plugins.sh

@@ -42,11 +42,6 @@ detect_gsd() {
   command -v gsd &>/dev/null
   command -v gsd &>/dev/null
 }
 }
 
 
-detect_frontend_design() {
-  local cache_dir="$HOME/.claude/plugins/cache"
-  [ -d "$cache_dir" ] && ls "$cache_dir" 2>/dev/null | grep -qi "frontend-design"
-}
-
 detect_plugin_dev() {
 detect_plugin_dev() {
   # plugin-dev replaces the old "skill-creator" reference
   # plugin-dev replaces the old "skill-creator" reference
   local cache_dir="$HOME/.claude/plugins/cache"
   local cache_dir="$HOME/.claude/plugins/cache"
@@ -63,11 +58,6 @@ detect_context7() {
   command -v ctx7 &>/dev/null
   command -v ctx7 &>/dev/null
 }
 }
 
 
-detect_ruflo() {
-  # Ruflo CLI — installed globally via npm
-  command -v ruflo &>/dev/null
-}
-
 detect_graphifyy() {
 detect_graphifyy() {
   # Graphifyy — codebase knowledge graph, installed via pipx
   # Graphifyy — codebase knowledge graph, installed via pipx
   command -v graphify &>/dev/null
   command -v graphify &>/dev/null

+ 0 - 5
plugins.lock.json

@@ -15,11 +15,6 @@
     "managed_by": "git submodule",
     "managed_by": "git submodule",
     "note": "Version controlled by submodule pointer in .gitmodules. Update: git submodule update --remote"
     "note": "Version controlled by submodule pointer in .gitmodules. Update: git submodule update --remote"
   },
   },
-  "ruflo": {
-    "source": "npm:ruflo",
-    "version": "3.5.58",
-    "note": "Enterprise multi-agent orchestration CLI (formerly claude-flow). Standalone CLI, not an MCP server. Check latest at https://www.npmjs.com/package/ruflo before updating."
-  },
   "ctx7": {
   "ctx7": {
     "source": "npm:ctx7",
     "source": "npm:ctx7",
     "version": "latest",
     "version": "latest",

+ 6 - 34
update-all.sh

@@ -140,35 +140,7 @@ else
   warn "GSD v2 not installed — skipping (run: npm install -g gsd-pi)"
   warn "GSD v2 not installed — skipping (run: npm install -g gsd-pi)"
 fi
 fi
 
 
-# ── 5. Update Ruflo CLI (if installed) ──
-echo ""
-echo "── Updating Ruflo CLI..."
-if command -v ruflo &>/dev/null || (type detect_ruflo &>/dev/null && detect_ruflo); then
-  RUFLO_VER=""
-  if [ -f "$REPO/plugins.lock.json" ] && command -v python3 &>/dev/null; then
-    RUFLO_VER=$(python3 -c "
-import json
-with open('$REPO/plugins.lock.json') as f:
-    d = json.load(f)
-print(d.get('ruflo',{}).get('version',''))
-" 2>/dev/null || true)
-  fi
-
-  if [ -n "$RUFLO_VER" ] && [ "$RUFLO_VER" != "latest" ]; then
-    info "Pinned version: $RUFLO_VER"
-    npm install -g "ruflo@${RUFLO_VER}" 2>/dev/null \
-      && ok "Ruflo updated to $RUFLO_VER" \
-      || warn "Ruflo update failed"
-  else
-    npm install -g ruflo@latest 2>/dev/null \
-      && ok "Ruflo updated (latest)" \
-      || warn "Ruflo update failed"
-  fi
-else
-  info "Ruflo not installed — skipping"
-fi
-
-# ── 6. Update Context7 CLI ──
+# ── 5. Update Context7 CLI ──
 echo ""
 echo ""
 echo "── Updating Context7 CLI..."
 echo "── Updating Context7 CLI..."
 if command -v ctx7 &>/dev/null; then
 if command -v ctx7 &>/dev/null; then
@@ -196,7 +168,7 @@ else
   info "ctx7 not installed — skipping"
   info "ctx7 not installed — skipping"
 fi
 fi
 
 
-# ── 7. Update Graphifyy ──
+# ── 6. Update Graphifyy ──
 echo ""
 echo ""
 echo "── Updating Graphifyy..."
 echo "── Updating Graphifyy..."
 if command -v graphify &>/dev/null; then
 if command -v graphify &>/dev/null; then
@@ -207,7 +179,7 @@ else
   info "graphifyy not installed — skipping"
   info "graphifyy not installed — skipping"
 fi
 fi
 
 
-# ── 8. Update Emil Design Engineering skill ──
+# ── 7. Update Emil Design Engineering skill ──
 echo ""
 echo ""
 echo "── Updating Emil Design Engineering..."
 echo "── Updating Emil Design Engineering..."
 EMIL_DIR="$REPO/skills-external/emil-design-eng"
 EMIL_DIR="$REPO/skills-external/emil-design-eng"
@@ -222,7 +194,7 @@ else
   info "emil-design-eng not installed — skipping (run: make plugin)"
   info "emil-design-eng not installed — skipping (run: make plugin)"
 fi
 fi
 
 
-# ── 9. Update marketplace plugins ──
+# ── 8. Update marketplace plugins ──
 echo ""
 echo ""
 echo "── Updating marketplace plugins..."
 echo "── Updating marketplace plugins..."
 if command -v claude &>/dev/null; then
 if command -v claude &>/dev/null; then
@@ -243,11 +215,11 @@ else
   warn "Claude Code not found — skipping plugin update"
   warn "Claude Code not found — skipping plugin update"
 fi
 fi
 
 
-# ── 10. Refresh symlinks ──
+# ── 9. Refresh symlinks ──
 echo ""
 echo ""
 echo "── Refreshing symlinks..."
 echo "── Refreshing symlinks..."
 bash "$REPO/link.sh"
 bash "$REPO/link.sh"
 
 
-# ── 11. Run doctor ──
+# ── 10. Run doctor ──
 echo ""
 echo ""
 bash "$REPO/doctor.sh"
 bash "$REPO/doctor.sh"