---
name: marshall-steward
description: Project configuration wizard for planning system. Manages executor generation, health checks, build systems, and skill domains.
user-invocable: true
allowed-tools: Read, Write, Edit, Bash, Glob, Skill, AskUserQuestion
---

# Marshall Steward Skill

Project configuration wizard for the planning system.

## Usage

```
/marshall-steward           # Interactive menu or first-run wizard
/marshall-steward --wizard  # Force first-run wizard
```

## Banner

Output this banner directly as text at command start (do NOT use Bash echo - output it in your response):

```
╔═══════════════════════════════════════════════════════════════════════╗
║                                 :                                     ║
║                               .;:;.                                   ║
║                              :;:::;:                                  ║
║          ...             .;:::::::::;.              ...               ║
║          .::;:::::::::::::;:::::::::;:::::::::::::;::.                ║
║               :;:::::::::::::::::::::::::::::::;:                     ║
║                .;:::::::::::::::::::::::::::::;.                      ║
║                                                                       ║
║                        █▀█ █   █▀█ █▄ █                               ║
║                        █▀▀ █▄▄ █▀█ █ ▀█                               ║
║                  █▀▄▀█ █▀█ █▀█ █▀ █ █ █▀█ █   █                       ║
║                  █ ▀ █ █▀█ █▀▄ ▄█ █▀█ █▀█ █▄▄ █▄▄                     ║
║                                                                       ║
║                .;:::::::::::::::::::::::::::::;.                      ║
║               :;:::::::::::::::::::::::::::::::;:                     ║
║          .::;:::::::::::::;:::::::::;:::::::::::::;::.                ║
║         ...              .;:::::::::;.              ...               ║
║                              :;:::;:                                  ║
║                               .;:;.                                   ║
║                                 :                                     ║
╚═══════════════════════════════════════════════════════════════════════╝
```

---

## Enforcement Rules

### Script Execution
1. Run scripts EXACTLY as documented - no improvisation
2. Bootstrap scripts use direct Python paths with glob
3. All other scripts use: `python3 .plan/execute-script.py {notation} ...`

### Menu Behavior
1. After ANY operation completes → return to Main Menu
2. Only exit when user selects "Quit"

### Prohibited Actions
- Inventing alternative menu structures or options
- Ending without returning to menu (unless Quit)
- Summarizing what you're about to do instead of doing it

---

## What This Skill Provides

**Wizard Mode**: Sequential setup for new projects (executor generation, marshal.json init, build detection, skill domains)

**Menu Mode**: Interactive maintenance for returning users (regenerate executor, health check, configuration)

---

## Scripts

| Script | Notation | Purpose |
|--------|----------|---------|
| determine-mode | `plan-marshall:marshall-steward:determine-mode` | Determine wizard vs menu mode |
| gitignore-setup | `plan-marshall:marshall-steward:gitignore-setup` | Configure .gitignore for .plan/ |
| cleanup | `plan-marshall:manage-run-config:cleanup` | Clean temp, logs, archived-plans, memory (delegated to run-config) |
| ci_health | `plan-marshall:tools-integration-ci:ci_health` | CI provider detection (delegated to tools-integration-ci) |
| plan-marshall-config | `plan-marshall:manage-plan-marshall-config:plan-marshall-config` | Project-level marshal.json CRUD |
| scan-marketplace-inventory | `pm-plugin-development:tools-marketplace-inventory:scan-marketplace-inventory` | Script discovery |
| permission-doctor | `plan-marshall:permission-doctor:permission-doctor` | Permission analysis |
| permission-fix | `plan-marshall:permission-fix:permission-fix` | Permission fixes |
| generate-executor | `plan-marshall:tools-script-executor:generate-executor` | Executor generation |

---

## Prerequisites

This skill requires `${PLUGIN_ROOT}` to be set by the invoking command (e.g., `/marshall-steward`).
The plugin root is detected via `bootstrap-plugin.py` and cached in `.plan/marshall-state.toon`.

---

## Step 0: Determine Mode

Determine whether to run wizard or menu based on existing files.

**BOOTSTRAP**: Since execute-script.py may not exist yet, use DIRECT Python call with glob:

```bash
python3 ${PLUGIN_ROOT}/plan-marshall/*/skills/marshall-steward/scripts/determine-mode.py mode
```

**Output (TOON)**:
```toon
mode	wizard
reason	executor_missing
```

### Mode Routing

| mode | reason | Action |
|------|--------|--------|
| `wizard` | `executor_missing` | Load: `Read references/wizard-flow.md` → Execute wizard |
| `wizard` | `marshal_missing` | Load: `Read references/wizard-flow.md` → Execute wizard |
| `menu` | `both_exist` | Show Main Menu below |

### Check for `--wizard` Flag

If `--wizard` flag provided, force wizard regardless of determine-mode result:
```
Read references/wizard-flow.md
```
Execute the wizard flow from that file.

---

## Interactive Menu (Returning User)

Display menu when both executor and marshal.json exist.

### Main Menu

```
AskUserQuestion:
  question: "What would you like to do?"
  header: "Main Menu"
  options:
    - label: "1. Maintenance"
      description: "Regenerate executor, clean logs"
    - label: "2. Health Check"
      description: "Verify setup, diagnose issues"
    - label: "3. Configuration"
      description: "Build systems, skill domains"
    - label: "4. Quit"
      description: "Exit plan-marshall"
  multiSelect: false
```

### Menu Routing

| User Selection | Action |
|----------------|--------|
| "1. Maintenance" | Load: `Read references/menu-maintenance.md` → Execute |
| "2. Health Check" | Load: `Read references/menu-healthcheck.md` → Execute |
| "3. Configuration" | Load: `Read references/menu-configuration.md` → Execute |
| "4. Quit" | Output "Good bye!" → STOP |

After any menu option completes, return to Main Menu (except Quit).

---

## Deferred Loading Pattern

This skill uses **progressive disclosure** to minimize context usage:

1. **Core skill loads**: ~150 lines (this file - routing logic only)
2. **On wizard mode**: Load `references/wizard-flow.md` (~250 lines)
3. **On menu selection**: Load only the selected reference (~100-150 lines)

### How to Load a Reference

When routing indicates to load a reference:
```
Read references/{file}.md
```
Then execute the workflow described in that file.

---

## Available References

| Reference | Purpose | Load When |
|-----------|---------|-----------|
| `wizard-flow.md` | First-run wizard steps 1-11 | mode=wizard or --wizard flag |
| `menu-maintenance.md` | Regenerate executor, cleanup | Menu option 1 |
| `menu-healthcheck.md` | Verify setup, diagnose issues | Menu option 2 |
| `menu-configuration.md` | Build systems, skill domains | Menu option 3 |
| `output-format.md` | TOON output standards | Reference for output formatting |
| `error-handling.md` | Error types and recovery | On error conditions |

---

## Error Handling

If an error occurs during execution:
```
Read references/error-handling.md
```
Apply the recovery guidance for the specific error type.

