Features

Configure GOAT-CEO optional features — opens an interactive numbered menu to see, toggle, and run feature actions (rubric standar…

HN3K 3 updated 1mo ago
Claude CodeGeneric
View source ↗
---
description: Configure GOAT-CEO optional features — opens an interactive numbered menu to see, toggle, and run feature actions (rubric standards, external research). Typed verbs also work.
argument-hint: "(no args → interactive menu) | status | enable <feature> [repo] | disable <feature> [repo] | set-default <feature> on|off | unset <feature> [repo] | <feature> <action>"
allowed-tools: Read, Write, Edit, Bash(cat:*), Bash(jq:*), Bash(ls:*), Bash(git:*), Bash(rubric:*), Bash(python:*), Bash(cp:*), Bash(grep:*), Task, WebSearch, WebFetch
disable-model-invocation: true
---

# /goat-ceo:features — control GOAT-CEO's optional capabilities

The single entry point to **see, toggle, and drive** GOAT-CEO's OPTIONAL features. The always-on
enforcement layer (the `git add` sweep deny, secret-file denies, the core fail-open gates) is NOT
managed here — that is unconditional; see `/goat-ceo:rules` and `/goat-doctor`.

User input: `$ARGUMENTS`

## How this command runs

- **No arguments → INTERACTIVE MENU MODE (the default, and the normal way to use it).** Present every
  choice with the **`AskUserQuestion` tool** — Claude Code's native selectable-options picker: the
  operator clicks an option or types their own via the auto-added **"Other"**. They drill into a
  feature, then an action, and the loop continues until they quit; they should NEVER need to know verb
  syntax. CONSTRAINT: `AskUserQuestion` allows at most **4 options per question** (plus the automatic
  "Other" free-text), so when a list exceeds 4 (the 8-feature menu, rubric's ~11 actions), **group it
  into ≤4 buckets and drill down** — never hide a feature; "Other" covers anything not shown. Fall back
  to a plain numbered-text menu only if the tool is unavailable.
- **Arguments given → FAST PATH.** Treat the first token as a verb (see the Fast-path table) and
  execute it directly, then offer to drop into the menu. Power-user shortcut; identical effects.

## Live state (read first, every time, before drawing any menu)

Default layer — the shipped baseline (`.claude/goat-features.json`, committed, all-off) overlaid with
YOUR personal overrides (`.claude/goat-features.local.json`, gitignored, local-only):
!`echo 'shipped baseline:'; cat .claude/goat-features.json 2>/dev/null | jq '.defaults' 2>/dev/null || echo '{} (missing — treat as all off)'; echo 'your local overrides:'; cat .claude/goat-features.local.json 2>/dev/null | jq '.defaults' 2>/dev/null || echo '(none)'`

Per-repo activation — `repo-registry.json` (local-only, never published):
!`cat repo-registry.json 2>/dev/null | jq '(.repos // {}) | map_values({access, rubricStatus, researchKbStatus, indexStatus})' 2>/dev/null || echo '(no registry yet)'`

Session toggles — `agent-workspace/` sentinels + env (this session only):
!`( ls agent-workspace/ 2>/dev/null | grep -E '^(STRICT_MODE|AUTONOMOUS-ACTIVE|INTAKE-ACTIVE|STOP|READONLY-PATHS\.json)$' || echo '(no session sentinels)' ); echo "GOAT_CEO_STRICT=${GOAT_CEO_STRICT:-unset}"`

---

## INTERACTIVE MENU MODE  ← do this when `$ARGUMENTS` is empty

Drive the whole flow with the **`AskUserQuestion`** tool so the operator selects from clickable options
(or types their own via "Other"). Loop until they quit. Use the **Feature registry**, **Feature
actions**, and **`rubric seed`** sections below as your reference for each feature's state,
applicability, and what each action does. `AskUserQuestion` caps at **4 options/question** — group
longer lists into ≤4 buckets and drill down; never hide a feature.

### A. Main menu — pick a feature
1. From the live state above, compute each feature's **effective state + source scope** (precedence
   below) and its **applicability** to the current/active repo.
2. Call `AskUserQuestion` ("Which optional feature do you want to configure?") with the features
   GROUPED into ≤4 selectable options so none are hidden — put the current effective state in each
   option's description. A good grouping:
   - **rubric** — standards grounding + RUBRIC.GATE + Reviewer-C (`<state>`)
   - **research-kb** — capture/verify external research KB (`<state>`)
   - **Session modes** — strict-mode / unattended (`<states>`)
   - **Per-repo & manual** — codebase-index / rubric-heal-gate / read-only-ref / destructive-db
   In the question text, tell the operator the **"Other"** box accepts a feature name directly, or
   `status` (full per-tier status) / `quit`.
3. Route: a single-feature option → its **Feature submenu** (B). A group → a second `AskUserQuestion`
   listing that group's features (each ≤4). `status` → print full per-tier status, then re-ask.
   `quit` → summarize changes and stop.

### B. Feature submenu — pick an action
1. Show the feature's state across **all tiers** (built-in / Tier-1 global / Tier-2 per-repo / Tier-3
   session) + applicability in one short block, so the operator sees what overrides what.
2. Call `AskUserQuestion` with that feature's ACTIONS. If it has ≤4, list them directly. If more (e.g.
   rubric), ask the CATEGORY first, then the specific action in a follow-up `AskUserQuestion`:
   - **Toggle** — enable / disable (per-repo) · set personal default · unset override
   - **Inspect** — `status` (what's enforced) · `measure` · `log` (enforcement trail)
   - **Run** — `seed` · `gate <files>` · `verify <file>` · `codify <files>`
   - **Self-heal** — `heal on/off`
   For features with only toggles (`strict-mode`, `unattended`, `codebase-index`), present those
   directly (≤4). For manual/user-scope features (`rubric-heal-gate`, `destructive-db`), the "enable"
   action PRINTS the exact copy/wiring steps and confirms — it never silently edits another repo or
   user settings. Use the question text to offer Back / quit (or rely on "Other").
3. The operator's selection routes to **Acting** (C).

### C. Acting on a choice
- **State changes** (enable/disable/set-default/unset, heal on/off): make the binary/scope decision
  itself an `AskUserQuestion` where natural — `on | off`; **which repo** (off

Maintain Features?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

[Features on getagentictools](https://getagentictools.com/loops/hn3k-goat-ceo-features-control-goat-ceo-s-optional-capabilities?ref=badge)