=== Group 2 dispatch (2026-05-11T14:13:36+02:00) ===
Model: gpt-5.5 / high / fast
Scope: create/sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme (6 commands)

Reading additional input from stdin...
OpenAI Codex v0.130.0
--------
workdir: /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
model: gpt-5.5
provider: openai
approval: never
sandbox: workspace-write [workdir, /tmp, $TMPDIR, /Users/michelkerkmeester/.codex/memories] (network access enabled)
reasoning effort: high
reasoning summaries: none
session id: 019e16f5-0587-7051-9d67-711a18877729
--------
user
You are migrating the `/create:*` command Group 2 (6 commands) to cite the shared `auto_mode_contract.md` reference and adopt the three-tier `:auto` setup contract.

# RUNTIME RULES (read first)

- Run as inline Codex execution. Do NOT call SpawnAgent, collab: SpawnAgent, Task, or any sub-agent. If you would dispatch, stop and work inline.
- Gate 3 (spec-folder) answer for this run: the spec folder is `.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/`. Use it. specFolder=103-002. Do NOT ask interactive questions; stdin is closed.
- Strict scope: edit ONLY the 6 command files below + 002's tasks.md (mark T011 done) + 002's evidence/codex-group2-dispatch.txt (write summary). Anything else is a rollback trigger.
- Do NOT run any /spec_kit:*:auto YAML loop. Markdown edits only.
- Final output: ONE summary message at the end listing every file modified, per-command status, decisions, concerns.

# REPO ROOT
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public

All paths below relative to this root.

# SCOPE LIST — THE ONLY FILES YOU MAY EDIT

```
.opencode/commands/create/sk-skill.md
.opencode/commands/create/agent.md
.opencode/commands/create/changelog.md
.opencode/commands/create/feature-catalog.md
.opencode/commands/create/testing-playbook.md
.opencode/commands/create/folder_readme.md
.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
```

You MAY read any file. You may NOT touch paired YAML assets (`assets/spec_kit_*_auto.yaml`, `assets/spec_kit_*_confirm.yaml`) unless absolutely forced — if forced, document in your final summary with explicit justification.

# CONTEXT — SOURCE OF TRUTH (read in this order BEFORE any edit)

1. **Shared contract** — `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md` — your template authority. §1 three-tier flow, §2 PRE-BOUND ANSWERS grammar, §3 Default Resolution Table format, §4 Tier-3 error template, §5 `:confirm` invariance, §6 verification protocol, §7 adoption checklist, §8 OOS.

2. **Reference example (what the post-migration shape looks like)** — `.opencode/commands/spec_kit/deep-review.md` §0 lines 44-130. This is the canonical example: brief citation + Tier-1/2/3 summary + PRE-BOUND ANSWERS Schema + Default Resolution Table + UNTOUCHED `:confirm` consolidated Q-block below.

3. **Phase 2 spec** — `.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/spec.md` — §3 SCOPE, §4 REQUIREMENTS, §5 SUCCESS CRITERIA.

# PER-COMMAND MIGRATION PATTERN

For each of the 6 commands in SCOPE LIST, the migration steps are:

## Step A — Read the command's current §0 (UNIFIED SETUP PHASE or equivalent)
Identify:
- Every Q-block field name (Q0, Q1, Q1_type, Q_dims, Q-Exec, etc.)
- Each field's current resolution: flag (from $ARGUMENTS), default, requires-ask, auto-detect from another field
- The full consolidated Q-block content (under the `STATUS: BLOCKED` header in `:confirm` mode)
- Whether the file has a paired YAML asset (it does — under `.opencode/commands/spec_kit/assets/`)

## Step B — Build the per-command Default Resolution Table

For every Q-block field, classify it:

| Column | Meaning |
|---|---|
| Field | the field name (matches the legacy Q-block question label) |
| Required | Y or N |
| Resolves Via | ordered list of resolution sources, e.g. `flag → $ARGUMENTS positional` / `marker → PRE-BOUND` / `default → "<value>"` / `auto-detect from <other field>` / `requires-ask` |
| Default | the documented default value, or `none` |
| Tier-2 Candidate | Y only when no default exists AND user choice is the only path (ambiguity, not absence) |

## Step C — Replace the `:auto` setup branch in §0

In §0, after the existing FIRST MESSAGE PROTOCOL line, add this `:auto`-mode-only section:

```
### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `<COMMAND-SPECIFIC-PATH>` (shape: <KEY-FIELDS>), bind runtime YAML placeholders, set `STATUS: PASSED`, load `<COMMAND-YAML-ASSET-PATH>`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `<FIELD-A>`, `<FIELD-B>`. **Ordering rule**: <COMMAND-SPECIFIC-ORDERING-OR-"none-needed">. Missing required fields (absence, not ambiguity) → go to Tier 3.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:<COMMAND-NAME>:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.
```

Replace `<COMMAND-SPECIFIC-PATH>`, `<KEY-FIELDS>`, `<COMMAND-YAML-ASSET-PATH>`, `<FIELD-A>`, `<FIELD-B>`, `<COMMAND-SPECIFIC-ORDERING-OR-"none-needed">`, `<COMMAND-NAME>` per command.

For commands where Tier-2 candidates are zero or one (because all required fields have defaults or are always supplied via flags), omit the FIELD-B placeholder and simplify the ordering rule.

## Step D — Add the PRE-BOUND SETUP ANSWERS Schema subsection

After the `:auto Setup Resolution` subsection, add:

```
### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

\```yaml
PRE-BOUND SETUP ANSWERS:
  <field_a>: <example value>  # comment with type/enum
  <field_b>: <example value>
  ...
\```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over $ARGUMENTS flags; unknown fields warn; malformed lines parse-error).
```

List every Q-block field in YAML key form with the appropriate example value and type/enum comment.

## Step E — Add the Default Resolution Table subsection

After the PRE-BOUND Schema, add `### Default Resolution Table` with the 4-column table from Step B.

## Step F — Update the frontmatter `argument-hint`

Add `(:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)` to the existing argument-hint string. Don't strip existing args/flags.

## Step G — PRESERVE the existing `:confirm` consolidated Q-block path UNTOUCHED

Hard invariant: the consolidated setup prompt for `:confirm` mode (the section that emits `STATUS: BLOCKED` and asks Q0..Q-Exec) must NOT be modified. Read-back diff after your edits: the legacy `:confirm` Q-block section header AND body content must remain identical.

# AFTER ALL 6 MIGRATIONS

1. Update `002/tasks.md`:
   - Mark T011 `[x]` with brief evidence text (`Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt`)
   - Update `_memory.continuity` block: `recent_action: "Group 2 create commands migrated"`, `next_safe_action: "Dispatch group 3 improve command"`

2. Write `002/evidence/codex-group2-dispatch.txt`:
   - 6 sections (one per command)
   - Per-section: command name, fields migrated count, Tier-2 candidates identified, any concerns
   - Final line: `EXIT_STATUS: complete` or describe any partial-application

# YOUR FINAL OUTPUT MESSAGE

After all edits, emit ONE markdown message:

1. **Files modified** — bulleted list (path only).
2. **Per-command status (6 commands)** — one line per command: `<command>: <N fields migrated> | Tier-2 candidates: <list> | :confirm preserved: yes/no | argument-hint updated: yes/no`.
3. **Decisions you made that the prompt did not pre-specify** — e.g. naming conventions for command-specific config files, default value choices, field-name conflicts.
4. **Concerns for the reviewer** — anything you couldn't resolve, partial applications, unusual edge cases per command.

# CONSTRAINTS

- Stay strictly inside SCOPE LIST.
- `:confirm` block is sacrosanct.
- Do not touch paired YAML assets unless forced (and document the force).
- Do not run any :auto YAML dispatches.
- Do not call SpawnAgent / collab / Task / sub-agents.
- The spec folder is the Gate 3 answer.
hook: SessionStart
hook: SessionStart
hook: SessionStart Completed
hook: SessionStart Completed
hook: UserPromptSubmit
hook: UserPromptSubmit
hook: UserPromptSubmit Completed
hook: UserPromptSubmit Completed
codex
I’ll keep this inline and scoped to the eight allowed files. First I’m loading the shared contract, canonical example, and phase spec in the requested order so the edits match the existing command pattern.
exec
/bin/zsh -lc "sed -n '1,260p' .opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
title: Auto Mode Contract Reference
description: Canonical three-tier `:auto` setup-resolution contract shared by every user-invokable `/command:*:auto` surface. Defines tier semantics (resolve → targeted ask → fail-fast), `PRE-BOUND SETUP ANSWERS:` marker grammar, default-resolution table format, fail-fast error template, `:confirm` invariance, and verification protocol.
---

# Auto Mode Contract Reference

This reference module defines the single canonical `:auto` setup-resolution contract used by every user-invokable `/command:*:auto` surface in spec-kit (`/spec_kit:*`, `/create:*`, `/improve:*`). Each command's §0 cites this contract and supplies only its own per-field Default Resolution Table + `PRE-BOUND SETUP ANSWERS:` field list. The contract semantics, marker grammar, error format, and verification protocol live here.

Origin: shipped in `.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/001-deep-review-three-tier-setup/` (deep-review prototype) and generalized in `.../002-auto-mode-contract-generalization-to-all-commands/` (12-command rollout).

Related memory: `feedback_auto_mode_ask_only_when_ambiguous.md`, `feedback_codex_spawnagent_allowlist.md`, `feedback_gate3_no_tmp_exemption.md`.

---

## §1. Three-Tier Flow

`:auto` mode does NOT mean "never ask" (too rigid) and does NOT mean "always ask the full setup block" (too soft). It means "ask only when uncertain or ambiguous." This is achieved via three tiers, evaluated in order:

### Tier 1 — Resolve Confidently

When `execution_mode = AUTONOMOUS` (from `:auto` suffix), the command's §0 MUST attempt to resolve every required input from these sources in order:

1. **`$ARGUMENTS` flags** — explicit user-passed flags (e.g. `--max-iterations=10`, `--spec-folder=PATH`, command-specific flags)
2. **`PRE-BOUND SETUP ANSWERS:` block in the prompt body** — see §2 for grammar. Caller's explicit prompt-body binding wins over `$ARGUMENTS` when both are present
3. **Documented per-field defaults** — see the command's own Default Resolution Table (§3) for which fields carry sensible defaults

After resolution: if every required field has a value, persist the resolved map to the command's working-config file (e.g. `deep-review-config.json`, `plan-config.json`), set `STATUS: PASSED`, load the paired YAML workflow. Do NOT emit any setup question. End §0.

### Tier 2 — Targeted Ask

Use Tier 2 ONLY when Tier 1 leaves one or two required inputs unresolved AND each unresolved field is genuinely ambiguous AND no sensible default exists.

Constraints:
- Emit ONE narrow question per ambiguous field, naming only the ambiguous field. NEVER the full consolidated Q-block from the legacy setup phase.
- If two fields are ambiguous but one's resolution likely makes the other obvious (e.g. `review_target_type` may make `spec_folder` self-evident), ask the first one first; do not bundle multiple ambiguities into a single prompt.
- Missing required input (e.g. empty `$ARGUMENTS` with no marker for a required positional) is NOT ambiguity. Absence is a Tier 3 case.
- Wait briefly for user reply. If an answer arrives, merge it into the resolved map and re-run Tier 1 from the default-application step. If stdin is closed (`</dev/null`, redirected output, non-interactive dispatch) and no answer arrives, fall through to Tier 3. Never wait indefinitely.

### Tier 3 — Fail Fast

Use Tier 3 when `:auto` still has unresolved required inputs after Tier 1 and Tier 2, OR when Tier 2 produced no answer because stdin is closed.

Emit the named-missing-inputs error format (§4), exit non-zero, do NOT load the YAML workflow, do NOT emit any further setup question.

---

## §2. PRE-BOUND SETUP ANSWERS Schema

The `PRE-BOUND SETUP ANSWERS:` block is a structured marker the dispatched AI parses out of the prompt body. It allows callers to pre-bind setup field values without using individual `$ARGUMENTS` flags.

Grammar (YAML-style key/value, one field per line):

```
PRE-BOUND SETUP ANSWERS:
  <field_name>: <value>  # optional inline comment
  <field_name>: <value>
  ...
```

Rules:

- The block opens with `PRE-BOUND SETUP ANSWERS:` (exact case-sensitive heading, followed by colon). Indentation MAY be inside a markdown fenced code block or inline in the prompt text.
- Each field is `  <key>: <value>` indented two spaces, one per line.
- Values are interpreted by the command's Default Resolution Table (§3). Field types and value enums are command-specific.
- Comments after `#` on a value line are ignored.
- Unknown fields produce a warning (do not abort), so callers may include forward-compatible fields.
- Fields not specified fall back to: command-specific Default Resolution Table → command-specific default value → unresolved (triggers Tier 2 or Tier 3 per §1).
- Malformed lines (e.g. missing `:`, malformed value type) emit a parse error naming the line. Known fields parsed before the error may still be used; remaining unresolved fields continue to Tier 2 or Tier 3.
- A second `PRE-BOUND SETUP ANSWERS:` block in the same prompt body produces a duplicate-block error.

The marker block applies ONLY under `:auto`. Under `:confirm`, the block is informational and does not skip the consolidated question prompt.

---

## §3. Default Resolution Table

Every command MUST publish a Default Resolution Table in its §0 (after citing this contract). The table lists each setup field with the following columns:

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|

Column meanings:

- **Field**: the field name (matches the schema in §2 and the question label in the legacy consolidated Q-block).
- **Required**: `Y` (must be resolved before YAML load) or `N` (optional).
- **Resolves Via**: ordered list of resolution sources, e.g. `flag → $ARGUMENTS` / `marker → PRE-BOUND` / `default → "<value>"` / `auto-detect from <other field>` / `requires-ask`.
- **Default**: the documented default value when no flag, marker, or auto-detection applies. May be `none` (no default — Tier 2 or Tier 3 candidate).
- **Tier-2 Candidate**: `Y` if a missing value can be resolved by ONE targeted question (per §1); `N` if absence triggers fail-fast (Tier 3).

A field is a Tier-2 candidate only when ALL of:
- No flag exists for it.
- No marker is provided.
- No sensible default exists.
- The field is genuinely required (Required=`Y`).
- A user choice is the only resolution path (ambiguity, not absence).

---

## §4. Tier 3 Fail-Fast Error Template

When Tier 3 fires, the command emits this exact format and exits non-zero:

```
[ERROR] /<command>:auto — required inputs unresolved under autonomous mode:
  - <field>: <why-unresolved>
  - <field>: <why-unresolved>
Resolution: provide via $ARGUMENTS flags, PRE-BOUND SETUP ANSWERS: block, or switch to :confirm mode for interactive setup.
```

Rules:

- Replace `<command>` with the canonical command name (e.g. `spec_kit:deep-review`).
- One bulleted line per unresolved required field.
- `<why-unresolved>` is one short phrase: "missing — no flag, no marker, no default" or "ambiguous — Tier 2 received no answer (stdin closed)".
- Final line cites the three resolution paths verbatim.
- Do NOT load the YAML workflow.
- Do NOT emit setup questions in Tier 3.
- Exit code: non-zero (1 is the convention).

---

## §5. `:confirm` Invariance

The `:confirm` mode (interactive, with full consolidated Q-block) is unaffected by this contract. Commands MUST preserve their existing `:confirm` behavior exactly. The contract applies ONLY when `execution_mode = AUTONOMOUS` (from `:auto` suffix or explicit `--mode=AUTONOMOUS` flag).

Test invariant: a `:confirm` dispatch against any contract-adopting command MUST emit the original consolidated Q-block (Q0..Qn). Regression-check this per command after migration.

---

## §6. Verification Protocol

Each contract-adopting command requires four verification traces (dry-run mental dispatch traces against the command's §0):

### Trace A — Tier 1 pass
Dispatch with all required inputs resolvable (flags + markers + defaults). Expected: STATUS PASSED, YAML loaded, no question emitted.

### Trace B — Tier 2 targeted ask
Dispatch with exactly one ambiguous required field. Expected: ONE narrow question naming only that field; NEVER the full consolidated block.

### Trace C — Tier 3 fail fast
Dispatch with one or more truly missing required inputs (and stdin closed in non-interactive runtimes). Expected: error format from §4, exit non-zero, no YAML load.

### Trace D — `:confirm` regression
Dispatch with `:confirm` suffix and any inputs. Expected: existing full consolidated Q-block emitted.

Live verification (when feasible) extends the dry-run traces with actual non-interactive dispatches (codex `exec </dev/null`, opencode `run --pure ... </dev/null`, claude `--print`) capturing transcripts as evidence. Live verification confirms the contract works under real runtime stdin-closure conditions.

Evidence schema (one file per dispatch):
- Command invocation verbatim
- Full transcript
- Verdict footer: PASS / PARTIAL / FAIL / SKIP
- Optional: timing, model, runtime gotchas observed

Stored under `<packet>/evidence/<command-slug>-<trace>.txt`.

---

## §7. Adoption Checklist

For each command adopting this contract, the §0 of the command markdown:

- [ ] Adds a one-line citation: `Setup contract: see references/workflows/auto_mode_contract.md`
- [ ] Provides its own per-field Default Resolution Table (§3) listing every Q-block field with the four columns
- [ ] Provides its own `PRE-BOUND SETUP ANSWERS:` field list (one row per setup field, matching the Default Resolution Table)
- [ ] Documents any command-specific Tier-2 ordering rule (e.g. "ask review_target_type before spec_folder")
- [ ] Updates frontmatter `argument-hint` to reference the new bypass capability
- [ ] Preserves the existing `:confirm` consolidated Q-block path untouched
- [ ] Authors §0 dry-run traces (A/B/C/D) and stores them under the adopting packet's `evidence/`

Commands that have adopted this contract:

- `/spec_kit:deep-review` (prototype) — see `.../103/001-deep-review-three-tier-setup/`
- (to be appended as `.../103/002-...` rolls out)

---

## §8. Out of Scope

- Commands without paired YAML workflows (`/improve:prompt`, `agent_router`, etc.) — they have no setup-phase surface where the contract applies.
- Skill-internal `:auto` flows (sk-doc, sk-code routing, etc.) — those are skill SKILL.md surfaces, not `/command:*` surfaces.
- YAML workflow internal interaction gates (e.g. mid-loop approval gates) — handled by each YAML's own non-interactivity rules, not this contract.
- Cross-command `:auto` integration (e.g. `/spec_kit:plan:auto` chained into `/spec_kit:implement:auto`) — separate contract concern.

exec
/bin/zsh -lc "sed -n '1,180p' .opencode/commands/spec_kit/deep-review.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
description: Autonomous deep-review loop: iterative code audit with convergence detection. Modes :auto, :confirm.
argument-hint: "<target> [:auto|:confirm] [--max-iterations=N] [--convergence=N] [--spec-folder=PATH] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Task, memory_context, memory_search, mcp__cocoindex_code__search, code_graph_query, code_graph_context
---

> **EXECUTION PROTOCOL -- READ FIRST**
>
> This command runs a structured YAML workflow. Do NOT dispatch agents from this document.
> Under `:auto`, setup follows the three-tier resolution contract in §0: resolve confidently, ask only targeted ambiguity questions, then fail fast if required inputs remain unresolved. Under `:confirm`, setup keeps the consolidated interactive question block.
>
> **YOUR FIRST ACTION:**
> 1. Run the unified setup phase in this Markdown entrypoint and resolve:
>    - `review_target`
>    - `review_target_type`
>    - `review_dimensions`
>    - `spec_folder`
>    - `execution_mode`
>    - `maxIterations`
>    - `convergenceThreshold`
> 2. Load the corresponding YAML file from `assets/` only after all setup values are resolved:
>    - Auto: `spec_kit_deep-review_auto.yaml`
>    - Confirm: `spec_kit_deep-review_confirm.yaml`
> 3. Execute the YAML workflow step by step using those resolved values
>
> All content below is reference context for the YAML workflow. Do not treat reference sections as direct instructions to execute.

## CONSTRAINTS

- **DO NOT** dispatch any agent from this document
- **ALL** agent dispatching is handled by the YAML workflow steps
- **MARKDOWN OWNS SETUP**: resolve setup inputs here first, then hand off to YAML
- **YAML START CONDITION**: do not load YAML until ALL required inputs are bound:
  - `review_target`, `review_target_type`, `review_dimensions`, `spec_folder`, `execution_mode`, `maxIterations`, `convergenceThreshold`

> **Canonical mode syntax:** use attached command suffixes (`/spec_kit:deep-review:auto`, `/spec_kit:deep-review:confirm`) and keep AGENTS, skills, and quick references synchronized to this entrypoint.

# SINGLE CONSOLIDATED SETUP PROMPT

This workflow gathers all setup inputs in one prompt. Confirm mode still includes multiple approval gates after setup; only the setup round-trip is consolidated here.

---

## 0. UNIFIED SETUP PHASE

**FIRST MESSAGE PROTOCOL**: For `:confirm` or no suffix, the consolidated setup prompt MUST be your FIRST response. No implementation or file-modifying tool calls before asking. Lightweight read-only discovery to suggest a spec folder or load prior context is allowed, then ask ALL questions immediately and wait.

For `:auto`, do not emit the consolidated prompt by default. Resolve setup with the three-tier branch below, then load the auto YAML only after all required values are bound.

### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/review/deep-review-config.json` (shape: `reviewTarget`, `reviewTargetType`, `reviewDimensions`, `specFolder`, `maxIterations`, `convergenceThreshold`, `executionMode: "auto"`, `resource_map.emit`, `config.executor.*`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/spec_kit/assets/spec_kit_deep-review_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `review_target_type`, `spec_folder`. **Ordering rule**: if `review_target_type` is ambiguous, ask only for `review_target_type` first — the answer may make `spec_folder` self-evident on the next Tier 1 pass. Missing `review_target` is absence, not ambiguity — go to Tier 3.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/spec_kit:deep-review:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the Consolidated Setup Prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults.

```yaml
PRE-BOUND SETUP ANSWERS:
  review_target: specs/skilled-agent-orchestration/102-sk-doc-skill-readme-and-structure
  review_target_type: spec-folder  # one of: spec-folder | skill | agent | track | files
  review_dimensions: all  # or comma-separated subset: correctness, security, traceability, maintainability
  spec_folder: existing  # one of: existing | new | update-related | phase-folder, or an explicit specs/.opencode/specs path
  execution_mode: AUTONOMOUS  # from :auto suffix
  maxIterations: 10
  convergenceThreshold: 0.10
  executor: native  # one of: native | cli-codex | cli-gemini | cli-claude-code
  executor_model: ""  # optional, executor-specific
  executor_reasoning: ""  # optional
  executor_service_tier: ""  # optional
  executor_timeout: 900  # optional
  resource_map_emit: true  # optional
```

Rules:

- Any unspecified field falls back to its documented default.
- Marker fields take precedence over `$ARGUMENTS` flags because the caller explicitly bound setup in the prompt body.
- Unknown fields are warnings, not errors.
- Malformed lines, including missing `:`, emit a parse error naming the offending line. Known fields parsed before the error may still be used, and unresolved fields continue to Tier 2 or Tier 3.
- Empty strings count as unresolved for required fields.
- Compact legacy answer strings are only for the consolidated `:confirm` prompt. They are not a `:auto` marker format.

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `review_target` | Y | `$ARGUMENTS` first positional target, or marker `review_target` | none | N |
| `review_target_type` | Y | marker `review_target_type`, or auto-detect from `review_target` | inferred only | Y, when target is present but ambiguous |
| `review_dimensions` | Y | flag `--dims` if supported by caller, marker `review_dimensions`, or default | `"all"` | N |
| `spec_folder` | Y | flag `--spec-folder`, marker `spec_folder`, or target path when target is a spec folder | none | Y, when target is not a spec folder |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
| `maxIterations` | Y | flag `--max-iterations`, marker `maxIterations`, or default | `7` | N |
| `convergenceThreshold` | Y | flag `--convergence`, marker `convergenceThreshold`, or default | `0.10` | N |
| `executor` | N | flag `--executor`, marker `executor`, config file, or default | `native` | N |
| `executor_model` | N | flag `--model`, marker `executor_model`, or executor-specific validation | none | N |
| `executor_reasoning` | N | flag `--reasoning-effort`, marker `executor_reasoning`, or executor default | none | N |
| `executor_service_tier` | N | flag `--service-tier`, marker `executor_service_tier`, or executor default | none | N |
| `executor_timeout` | N | flag `--executor-timeout`, marker `executor_timeout`, or default | `900` | N |
| `resource_map_emit` | N | flag `--no-resource-map`, marker `resource_map_emit`, or default | `true` | N |

### Consolidated Setup Prompt for `:confirm` and No-Suffix Mode

Use this block only when `execution_mode = "INTERACTIVE"` or when no suffix was supplied and Q2 must ask for the execution mode.

**STATUS: BLOCKED**

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

1. CHECK for mode suffix:
   |-- ":auto"    -> execution_mode = "AUTONOMOUS"
   |-- ":confirm" -> execution_mode = "INTERACTIVE"
   +-- No suffix  -> execution_mode = "ASK" (include Q2)

2. CHECK $ARGUMENTS for target (review_target):
   |-- Has content (ignoring suffixes and flags):
   |     -> review_target = $ARGUMENTS, omit Q0
   +-- Empty -> include Q0

3. PARSE optional flags from $ARGUMENTS:
   |-- --max-iterations=N -> maxIterations = N
   |-- --convergence=N -> convergenceThreshold = N
   |-- --spec-folder=PATH -> spec_path = PATH, omit Q1
   |-- --executor=<type> -> config.executor.type (`native` | `cli-codex`)
   |-- --model=<id> -> config.executor.model (for example `gpt-5.4`)
   |-- --reasoning-effort=<level> -> config.executor.reasoningEffort (`none` | `minimal` | `low` | `medium` | `high` | `xhigh`)
   |-- --service-tier=<tier> -> config.executor.serviceTier (`priority` | `standard` | `fast`)
   |-- --executor-timeout=<seconds> -> config.executor.timeoutSeconds (positive integer, default `900`)
   |-- --no-resource-map -> config.resource_map.emit = false
   +-- Defaults: maxIterations=7, convergenceThreshold=0.10, config.executor.type=`native`, config.executor.timeoutSeconds=900, config.resource_map.emit=`true`

   Executor precedence for setup resolution:
   - CLI flag > config file > schema defaults
   - The generated `deep-review-config.json` stores executor settings under `config.executor.*`

   Parsing to config mapping:
   - `--executor` -> `config.executor.type`
   - `--model` -> `config.executor.model`
   - `--reasoning-effort` -> `config.executor.reasoningEffort`
   - `--service-tier` -> `config.executor.serviceTier`
   - `--executor-timeout` -> `config.executor.timeoutSeconds`

   Validation hook:
   - `parseExecutorConfig` from `.opencode/skills/system-spec-kit/mcp_server/lib/deep-loop/executor-config.ts` runs at config-write time
   - Invalid combinations fail fast with clear errors, including `cli-codex` without `--model` and reserved-but-unwired executor kinds

4. Search for related spec folders across alias roots:
   $ find specs .opencode/specs -mindepth 2 -maxdepth 2 -type d 2>/dev/null | sort | tail -10

5. Search for prior work (background):
   - memory_context({ input: review_target OR "deep-review", mode: "focused", includeContent: true })
   - Store: prior_work_found = [yes/no]

6. ASK with SINGLE prompt (include only applicable questions):
   - Include Q-Exec only when `--executor` is NOT present and the target text does NOT already mention executor hints such as `cli-codex`, `codex`, or `gpt-5.4`
   - If Q-Exec is omitted and no executor is otherwise resolved, default to `native`

   Q0. Review Target (if not in command): What to review?
     Examples: spec folder path, `skill:sk-name`, `agent:name`, `track:NN--name`, or file paths/globs

   Q1_type. Review Target Type (auto-detect from Q0, confirm):
     A) spec-folder -- Review spec artifacts + implementation files
     B) skill -- SKILL.md + references/ + assets/ + agents + commands
     C) agent -- Agent family across all runtimes
     D) track -- All child spec folders in a feature track
     E) files -- Arbitrary file paths or globs

   Q_dims. Which review dimensions? (default: all 4)
     All: correctness, security, traceability, maintainability

exec
/bin/zsh -lc "sed -n '1,220p' .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/spec.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
title: "Feature Specification: auto-mode-contract generalization to all commands"
description: "Lift the three-tier :auto contract from /spec_kit:deep-review (Phase 1) into a shared reference and migrate 11 remaining /spec_kit/, /create/, /improve/ commands to cite it; full live :auto dispatch verification per command."
trigger_phrases:
  - "auto mode contract generalization"
  - "spec-kit :auto rollout"
importance_tier: "important"
contextType: "implementation"
_memory:
  continuity:
    packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
    last_updated_at: "2026-05-11T12:35:00Z"
    last_updated_by: "claude-opus-4-7"
    recent_action: "Authored Level 2 spec"
    next_safe_action: "Dispatch cli-codex group 1 (spec_kit commands)"
    blockers: []
    key_files: []
    session_dedup:
      fingerprint: "sha256:0000000000000000000000000000000000000000000000000000000000000000"
      session_id: "103-002-auto-mode-contract-generalization"
      parent_session_id: null
    completion_pct: 0
    open_questions: []
    answered_questions: []
---
# Feature Specification: auto-mode-contract generalization to all commands

<!-- SPECKIT_LEVEL: 2 -->
<!-- SPECKIT_TEMPLATE_SOURCE: spec-core | v2.2 -->

---

<!-- ANCHOR:metadata -->
## 1. METADATA

| Field | Value |
|-------|-------|
| **Level** | 2 |
| **Priority** | P1 |
| **Status** | Active |
| **Created** | 2026-05-11 |
| **Branch** | `main` |
| **Parent Spec** | ../spec.md |
| **Phase** | 2 of 2 |
| **Predecessor** | 001-deep-review-three-tier-setup |
| **Successor** | None |
<!-- /ANCHOR:metadata -->

---

<!-- ANCHOR:problem -->
## 2. PROBLEM & PURPOSE

### Problem Statement
Phase 1 introduced the three-tier `:auto` contract for `/spec_kit:deep-review`. The same architecture and same stdin-hang gap affect 11 other commands across `/spec_kit/`, `/create/`, and `/improve/`. Inlining the three-tier flow into every command duplicates ~300 LOC and risks drift; lifting it into a shared reference doc preserves a single source of truth and keeps each command lean.

### Purpose
Author the shared `auto_mode_contract.md` reference, refactor Phase-1's deep-review to cite it, migrate 11 remaining commands to the same pattern, and verify each one via a live non-interactive `:auto` dispatch.
<!-- /ANCHOR:problem -->

---

<!-- ANCHOR:scope -->
## 3. SCOPE

### In Scope
- Author `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md` (Level 2 sk-doc reference; §1-8 — three-tier flow, PRE-BOUND ANSWERS grammar, default-resolution-table format, Tier-3 error template, `:confirm` invariance, verification protocol, adoption checklist, out-of-scope).
- Refactor `/spec_kit:deep-review` §0 to cite the shared contract (replacing the inline three-tier sections from 001).
- Migrate 11 commands' §0 to cite the shared contract + provide their own per-field default table + PRE-BOUND ANSWERS field list:
  - `/spec_kit:` — deep-research, complete, implement, plan, resume (5)
  - `/create:` — sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme (6)
  - `/improve:` — agent (1)
- Update each migrated command's frontmatter `argument-hint` to reference the new bypass capability.
- Preserve each command's `:confirm` consolidated Q-block path untouched (regression-check).
- Full live `:auto` dispatch verification: one transcript per command captured under `evidence/`.

### Out of Scope
- `/improve:prompt` and `agent_router` — no paired YAML / dispatch-only.
- YAML asset edits unless a live verification surfaces a hard requirement.
- Cross-command `:auto` integration tests (chained dispatches).
- Skill-internal `:auto` flows (sk-doc, sk-code, etc.).

### Files to Change

| File Path | Change Type | Description |
|-----------|-------------|-------------|
| `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md` | Create | Shared three-tier `:auto` contract reference |
| `.opencode/commands/spec_kit/deep-review.md` | Modify | Refactor §0 to cite shared contract |
| `.opencode/commands/spec_kit/{deep-research,complete,implement,plan,resume}.md` | Modify | Migrate §0 to shared contract pattern |
| `.opencode/commands/create/{sk-skill,agent,changelog,feature-catalog,testing-playbook,folder_readme}.md` | Modify | Same |
| `.opencode/commands/improve/agent.md` | Modify | Same |
| `002/evidence/` | Create dir + 12 files | Live dispatch transcripts |
<!-- /ANCHOR:scope -->

---

<!-- ANCHOR:requirements -->
## 4. REQUIREMENTS

### P0 - Blockers (MUST complete)

| ID | Requirement | Acceptance Criteria |
|----|-------------|---------------------|
| REQ-001 | Shared `auto_mode_contract.md` exists with all required sections | `grep -c "^## §[1-8]" auto_mode_contract.md` returns ≥7 |
| REQ-002 | All 12 commands (deep-review + 11 migrated) cite the shared contract | `grep -l "auto_mode_contract.md" .opencode/commands/{spec_kit,create,improve}/*.md \| wc -l` returns ≥12 |
| REQ-003 | 12 live `:auto` dispatch evidence files captured | `find 002/evidence -name "*.txt" \| wc -l` returns ≥12 |
| REQ-004 | ≥10/12 PASS verdicts on live dispatches | Per-evidence-file footer verdict |

### P1 - Required (complete OR user-approved deferral)

| ID | Requirement | Acceptance Criteria |
|----|-------------|---------------------|
| REQ-005 | Each command's `:confirm` consolidated Q-block path untouched | Per-command read-back diff confirms no `:confirm` regression |
| REQ-006 | Each migrated command's frontmatter `argument-hint` updated | grep for new bypass capability mention per command |
<!-- /ANCHOR:requirements -->

---

<!-- ANCHOR:success-criteria -->
## 5. SUCCESS CRITERIA

- **SC-001**: Shared contract doc exists and is cited by all 12 in-scope commands.
- **SC-002**: 11 commands migrated; deep-review (Phase 1) refactored to match the shared-contract pattern.
- **SC-003**: 12/12 evidence files exist; ≥10/12 PASS.
- **SC-004**: No `:confirm` regression in any of the 12 commands.
<!-- /ANCHOR:success-criteria -->

---

<!-- ANCHOR:risks -->
## 6. RISKS & DEPENDENCIES

| Type | Item | Impact | Mitigation |
|------|------|--------|------------|
| Risk | Per-command Q-block field shapes differ; one-size-fits-all template may not fit | Some commands' Tier-2 logic needs unique tweaks | Per-command default table is command-specific; codex dispatch reads each command's current §0 and authors a tailored table |
| Risk | Live `:auto` dispatches produce side effects (file writes outside `/tmp`) | Polluting production spec folders or skills tree | Every live-dispatch prompt forbids writes outside `/tmp`; pre-answers Gate 3 with "D) Skip" |
| Risk | Codex SpawnAgent allowlist gap re-emerges in some dispatch | Codex falls back to sub-agent and hits Gate 3 | Use inline-contract pattern per `feedback_codex_spawnagent_allowlist.md` |
| Risk | CLI dispatch unreliability under parallelism | Concurrent codex runs silently fail | Sequential dispatches only; 3 codex groups + 12 live verifications all serial |
| Dependency | `auto_mode_contract.md` must exist before any command migration | Per-command edits would have no citation target | Stage B authors the contract first |
| Dependency | deep-review.md refactor must land first as the reference example | Other migrations would lack a working template | Stage B refactors deep-review before Stage C kicks off |
<!-- /ANCHOR:risks -->

---

<!-- ANCHOR:nfr -->
## L2: NON-FUNCTIONAL REQUIREMENTS

### Performance
- **NFR-P01**: Per-command codex migration completes within 5 min wall-clock.
- **NFR-P02**: Per-command live `:auto` dispatch verification completes within 5 min wall-clock (setup-phase resolution check, not full YAML loop).

### Security
- **NFR-S01**: No secrets, tokens, or credentials persisted in any evidence file.
- **NFR-S02**: All live-dispatch outputs land in `/tmp/` only; never under `.opencode/skills/`, `.opencode/agents/`, or production spec folders.

### Reliability
- **NFR-R01**: Each migrated command's `:confirm` path retains exact existing behavior.
- **NFR-R02**: Every PASS verdict cites file:line evidence in the transcript.
<!-- /ANCHOR:nfr -->

---

<!-- ANCHOR:edge-cases -->
## L2: EDGE CASES

### Data Boundaries
- Command has no `:auto` mode (e.g., `agent_router`): skip from scope.
- Command has `:auto` but no paired YAML (e.g., `/improve:prompt`): skip — no setup-phase surface.
- Command's `:auto` path already implements partial three-tier: codex audits and aligns rather than overwriting.

### Error Scenarios
- Per-command codex migration partially applies: rollback via `git restore <command-md>`; retry with tightened prompt.
- Live dispatch hangs: kill the process; mark as FAIL with stdin-hang diagnostic in evidence; flag as separate finding.
- Live dispatch writes outside `/tmp`: HARD STOP; immediate rollback; treat as P0 in implementation-summary.

### State Transitions
- Draft → Active: 002 spec authored.
- Active → Complete: 12 PASS-or-PARTIAL evidence files exist; strict-validate exit 0; implementation-summary populated.
<!-- /ANCHOR:edge-cases -->

---

<!-- ANCHOR:complexity -->
## L2: COMPLEXITY ASSESSMENT

| Dimension | Score | Notes |
|-----------|-------|-------|
| Scope | 20/25 | 12 commands + 1 shared doc + 12 live verifications |
| Risk | 14/25 | Per-command idiosyncrasies; live verification side-effect risk |
| Research | 8/20 | Pattern established by 001; per-command field mapping is mechanical |
| **Total** | **42/70** | **Level 2** |
<!-- /ANCHOR:complexity -->

---

<!-- ANCHOR:questions -->
## 7. OPEN QUESTIONS

- None blocking planning.
<!-- /ANCHOR:questions -->

codex
The contract shape is clear: the command docs own setup, `:auto` uses the shared three-tier resolution, and `:confirm` must keep its original blocked prompt byte-for-byte. I’m going to inspect the six command files now, capture their existing Q-blocks, and then patch only the allowed files.
exec
/bin/zsh -lc "sed -n '1,220p' .opencode/skills/system-spec-kit/SKILL.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
name: system-spec-kit
description: "Unified spec-folder workflow + context preservation: Levels 1-3+, validation, Spec Kit Memory. Required for file modifications."
allowed-tools: [Bash, Edit, Glob, Grep, Read, Task, Write]
version: 3.4.1.0
---

<!-- Keywords: spec-kit, speckit, documentation-workflow, spec-folder, template-enforcement, context-preservation, progressive-documentation, validation, spec-kit-memory, vector-search, hybrid-search, bm25, rrf-fusion, fsrs-decay, constitutional-tier, checkpoint, importance-tiers, cognitive-memory, co-activation, tiered-injection -->

# Spec Kit - Mandatory Conversation Documentation

Orchestrates mandatory spec folder creation for all conversations involving file modifications. Ensures proper documentation level selection (1-3+), template usage, and context preservation through AGENTS.md-enforced workflows.

## 1. WHEN TO USE

### What is a Spec Folder?

A **spec folder** is a numbered directory (e.g., `007-auth-feature/`) that contains documentation for a single feature/task or a coordinated packet of related phase work:

Spec folders may also be nested as coordination-root packets with direct-child phase folders (e.g., `specs/02--track/022-feature/011-phase/002-child/`).

- **Purpose**: Track specifications, plans, tasks, and decisions for one unit of work
- **Location**: Under `specs/` using either `###-short-name/` at the root or nested packet paths for phased coordination
- **Contents**: Markdown files (spec.md, plan.md, tasks.md, and implementation-summary.md when work is complete) plus optional support folders such as `scratch/`, `research/`, or `review/`

Think of it as a "project folder" for AI-assisted development - it keeps context organized and enables session continuity.

### Activation Triggers

**MANDATORY for ALL file modifications:**
- Code files: JS, TS, Python, CSS, HTML
- Documentation: Markdown, README, guides
- Configuration: JSON, YAML, TOML, env templates
- Templates, knowledge base, build/tooling files

**Request patterns that trigger activation:**
- "Add/implement/create [feature]"
- "Fix/update/refactor [code]"
- "Modify/change [configuration]"
- Any keyword: add, implement, fix, update, create, modify, rename, delete, configure, analyze, phase

**Example triggers:**
- "Add email validation to the signup form" → Level 1-2
- "Refactor the authentication module" → Level 2-3
- "Fix the button alignment bug" → Level 1
- "Implement user dashboard with analytics" → Level 3

### When NOT to Use

- Pure exploration/reading (no file modifications)
- Single typo fixes (<5 characters in one file)
- Whitespace-only changes
- Auto-generated file updates (package-lock.json)
- User explicitly selects Option D (skip documentation)

**Rule of thumb:** If modifying ANY file content → Activate this skill.
Status: ✅ This requirement applies immediately once file edits are requested.

### Distributed Governance Rule

Any agent writing authored spec folder docs (`spec.md`, `plan.md`, `tasks.md`, `checklist.md`, `implementation-summary.md`, `decision-record.md`, `handover.md`, `review-report.md`, `debug-delegation.md`, `resource-map.md` (optional)) MUST use contract-backed templates through `create.sh` or the inline renderer. This is a workflow-required gate, not a runtime hook: run `bash .opencode/skills/system-spec-kit/scripts/spec/validate.sh <spec-folder> --strict` after authored spec-doc writes and before completion claims, then route continuity updates through /memory:save. Deep-research workflow-owned packet markdown (`research/iterations/*.md`, `research/deep-research-*.md`, and progressive `research/research.md` loop updates) is exempt from that generic per-write rule; `/spec_kit:deep-research` must instead run targeted strict validation after every `spec.md` mutation it performs. @deep-research retains exclusive write access for `research/research.md`; @debug retains exclusive write access for `debug-delegation.md`.

- `handover.md` stays in the canonical recovery ladder and is maintained through `/memory:save` handover_state routing using the handover template for initial creation.
- `review-report.md` remains owned by `@deep-review` when deep review workflows synthesize findings.
- `resource-map.md` is a peer cross-cutting template under `.opencode/skills/system-spec-kit/templates/`; it remains optional at any level and gives reviewers a lean file ledger alongside `implementation-summary.md`.

### Utility Template Triggers

| Template              | Trigger Keywords                                                                                                              | Action                    |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| `handover.md`         | "handover", "next session", "continue later", "pass context", "ending session", "save state", "multi-session", "for next AI"  | Suggest `/memory:save` handover maintenance |
| `debug-delegation.md` | "stuck", "can't fix", "tried everything", "same error", "fresh eyes", "hours on this", "still failing", "need help debugging" | Suggest Task-tool debug delegation |

**Rule:** When detected, proactively suggest the appropriate action.

---

## 2. SMART ROUTING


### Resource Domains

The router discovers markdown resources recursively from `references/` and `assets/` and then applies intent scoring from `RESOURCE_MAP`. Keep this section domain-focused rather than static file inventories.

- `references/memory/` for context retrieval, save workflows, trigger behavior, and indexing.
- `references/templates/` for level selection, template selection, and structure guides.
- `references/validation/` for checklist policy, verification rules, decision formats, and template compliance contracts.
- `references/structure/` for folder organization and sub-folder versioning.
- `references/workflows/` for command workflows and worked examples.
- `references/debugging/` for troubleshooting and root-cause methodology.
- `references/config/` for runtime environment configuration.

### Template and Script Sources of Truth

- Level definitions and template size guidance: level specifications reference
- Template usage and composition rules: [template_guide.md](./references/templates/template_guide.md)
- Use the Level contract for operational templates; `create.sh` and the Level contract resolver share the same template index.
- Use `templates/changelog/` for packet-local nested changelog generation at completion time.
- Script architecture, build outputs, and runtime entrypoints: [scripts/README.md](./scripts/README.md)
- Memory save JSON schema and workflow contracts: [save_workflow.md](./references/memory/save_workflow.md)
- Nested packet changelog workflow: [nested_changelog.md](./references/workflows/nested_changelog.md)

Primary operational scripts:
- `spec/validate.sh`
- `spec/create.sh`
- `spec/archive.sh`
- `spec/check-completion.sh`
- `spec/recommend-level.sh`
- `mcp_server/lib/templates/level-contract-resolver.ts`

CLI exit codes:
- `0`: success.
- `1`: user error such as bad flags or invalid input.
- `2`: validation error.
- `3`: system error such as missing folders, missing manifests, or file I/O failures.

### Resource Loading Levels

| Level       | When to Load               | Resources                    |
| ----------- | -------------------------- | ---------------------------- |
| ALWAYS      | Every skill invocation     | Shared patterns + SKILL.md   |
| CONDITIONAL | If intent signals match   | Intent-mapped references     |
| ON_DEMAND   | Only on explicit request   | Deep-dive quality standards  |

`references/workflows/quick_reference.md` is the primary first-touch command surface. Keep the compact `spec_kit` and `memory` command map there, including `/spec_kit:plan --intake-only` as the standalone intake entry, `/spec_kit:plan` and `/spec_kit:complete` smart delegation notes, and the pointer from `/spec_kit:deep-research` to `../deep-research/references/spec_check_protocol.md`, and use this file only to point readers to it rather than duplicating the full matrix.

### Smart Router Pseudocode

The authoritative routing logic for scoped loading, weighted intent scoring, and ambiguity handling.

- Pattern 1: Runtime Discovery - `discover_markdown_resources()` recursively inventories `references/` and `assets/`.
- Pattern 2: Existence-Check Before Load - `load_if_available()` guards, de-duplicates with `seen`, and checks `inventory`.
- Pattern 3: Extensible Routing Key - command and intent signals select routing labels without static file inventories.
- Pattern 4: Multi-Tier Graceful Fallback - `UNKNOWN_FALLBACK` asks for disambiguation and missing-resource cases return a "no knowledge base" notice.

```python
from pathlib import Path

SKILL_ROOT = Path(__file__).resolve().parent
RESOURCE_BASES = (SKILL_ROOT / "references", SKILL_ROOT / "assets")
DEFAULT_RESOURCE = "references/workflows/quick_reference.md"

INTENT_SIGNALS = {
    "PLAN": {"weight": 3, "keywords": ["plan", "design", "new spec", "level selection", "option b"]},
    "RESEARCH": {"weight": 3, "keywords": ["investigate", "explore", "analyze", "prior work", "evidence"]},
    "IMPLEMENT": {"weight": 3, "keywords": ["implement", "build", "execute", "workflow"]},
    "DEBUG": {"weight": 4, "keywords": ["stuck", "error", "not working", "failed", "debug"]},
    "COMPLETE": {"weight": 4, "keywords": ["done", "complete", "finish", "verify", "checklist"]},
    "MEMORY": {"weight": 4, "keywords": ["memory", "save context", "resume", "checkpoint", "context"]},
    "HANDOVER": {"weight": 4, "keywords": ["handover", "continue later", "next session", "pause"]},
    "PHASE": {"weight": 4, "keywords": ["phase", "decompose", "split", "workstream", "multi-phase", "phased approach", "phased", "multi-session"]},
    "RETRIEVAL_TUNING": {"weight": 3, "keywords": ["retrieval", "search tuning", "fusion", "scoring", "pipeline"]},
    "EVALUATION": {"weight": 3, "keywords": ["evaluate", "ablation", "benchmark", "baseline", "metrics"]},
    "SCORING_CALIBRATION": {"weight": 3, "keywords": ["calibration", "scoring", "normalization", "decay", "interference"]},
    "ROLLOUT_FLAGS": {"weight": 3, "keywords": ["feature flag", "rollout", "toggle", "enable", "disable"]},
    "GOVERNANCE": {"weight": 3, "keywords": ["governance", "tenant", "retention", "audit"]},
}

RESOURCE_MAP = {
    "PLAN": [
                "references/templates/template_guide.md",
        "references/validation/template_compliance_contract.md",
    ],
    "RESEARCH": [
        "references/workflows/quick_reference.md",
        "references/workflows/worked_examples.md",
        "references/memory/epistemic_vectors.md",
    ],
    "IMPLEMENT": [
        "references/validation/validation_rules.md",
        "references/validation/template_compliance_contract.md",
        "references/templates/template_guide.md",
    ],
    "DEBUG": [
        "references/debugging/troubleshooting.md",
        "references/workflows/quick_reference.md",
        "manual_testing_playbook/manual_testing_playbook.md",
    ],
    "COMPLETE": [
        "references/validation/validation_rules.md",
        "references/workflows/nested_changelog.md",
    ],
    "MEMORY": [
        "references/memory/memory_system.md",
        "references/memory/save_workflow.md",
        "references/memory/trigger_config.md",
    ],
    "HANDOVER": [
        "references/workflows/quick_reference.md",
    ],
    "PHASE": [
        "references/structure/phase_definitions.md",
        "references/structure/sub_folder_versioning.md",
        "references/validation/phase_checklists.md",
    ],
    "RETRIEVAL_TUNING": [
        "references/memory/embedding_resilience.md",
        "references/memory/trigger_config.md",
    ],
    "EVALUATION": [
        "references/memory/epistemic_vectors.md",
        "references/config/environment_variables.md",
        "manual_testing_playbook/manual_testing_playbook.md",
    ],
    "SCORING_CALIBRATION": [
        "references/config/environment_variables.md",
    ],
    "ROLLOUT_FLAGS": [
        "references/config/environment_variables.md",
    ],
    "GOVERNANCE": [
        "references/config/environment_variables.md",
    ],
}

COMMAND_BOOSTS = {
    "/spec_kit:plan": "PLAN",
    "/spec_kit:implement": "IMPLEMENT",
    "/spec_kit:complete": "COMPLETE",
    "/spec_kit:plan :with-phases": "PHASE",

exec
/bin/zsh -lc "sed -n '1,180p' .opencode/skills/sk-doc/SKILL.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
name: sk-doc
description: "Markdown and OpenCode component specialist: doc quality, content optimization, component scaffolds, install guides, playbooks."
allowed-tools: [Bash, Edit, Glob, Grep, Read, Task, Write]
version: 1.3.0.0
---

<!-- Keywords: sk-doc, markdown-quality, skill-creation, document-validation, ascii-flowchart, llms-txt, content-optimization, extract-structure -->

# Documentation Creation Specialist - Unified Markdown & Component Management

Unified specialist providing: (1) Document quality pipeline with structure enforcement and content optimization, (2) OpenCode component creation (skills, agents, commands) with scaffolding, validation and packaging, (3) ASCII flowchart creation for visualizing workflows, (4) Install guide creation for setup documentation and (5) Feature catalog and manual testing playbook creation for inventory and validation packages.

**Core Principle**: Structure first, then content, then quality.

**Architecture**: Scripts handle deterministic parsing/metrics. AI handles quality judgment and recommendations.

## 1. WHEN TO USE

### Use Case: Document Quality Management

Enforce markdown structure, optimize content for AI assistants, validate quality through script-assisted AI analysis.

**README Creation** - Use `readme_template.md` + `readme_creation.md` when:
- Creating new README for any folder or project
- User requests "create a README", "add documentation", "write a README"
- Folder needs comprehensive documentation
- Workflow: [readme_creation.md](./references/readme_creation.md) | Template: [readme_template.md](./assets/readme/readme_template.md)

**Skill README Creation** - Use `skill_readme_template.md` when:
- Creating or refreshing `.opencode/skills/[skill-name]/README.md`
- A skill README needs human-facing purpose, quick start, structure, examples, troubleshooting, FAQ or related-resource navigation
- Template: [skill_readme_template.md](./assets/skill/skill_readme_template.md)

**Frontmatter Validation** - Use `frontmatter_templates.md` when:
- Validating YAML frontmatter in any document
- Checking required fields for document types
- Fixing frontmatter syntax errors

**Changelog & Release Notes** - Use `changelog_template.md` when:
- Authoring a global component changelog at `.opencode/changelog/{NN--component}/v{VERSION}.md`
- Composing GitHub release notes that mirror the changelog body
- Choosing between compact (under 10 changes) and expanded (10+ changes or major) formats
- Template: [changelog_template.md](./assets/changelog_template.md). Used by `/create:changelog` (auto + confirm). Nested packet-local changelogs use the spec-kit templates at `.opencode/skills/system-spec-kit/templates/changelog/` instead.

**Validation Workflow** - Apply after Write/Edit operations:
- Auto-correct filename violations (ALL CAPS to lowercase, hyphens to underscores)
- Fix safe violations (separators, H2 case)
- Check critical violations (missing frontmatter, wrong section order)

**Manual Optimization** - Run when:
- README needs optimization for AI assistants
- Creating critical documentation (specs, knowledge, skills)
- Pre-release quality checks
- Generating llms.txt for LLM navigation

### Use Case: OpenCode Component Creation

Create and manage OpenCode components (skills, agents, commands). Each component type has templates and validation with quality standards.

**Component Types:**
- **Skills** (.opencode/skills/) - Knowledge bundles with workflows → [skill_creation.md](./references/skill_creation.md)
- **Agents** (.opencode/agents/) - AI personas with tool permissions → [agent_creation.md](./references/agent_creation.md)
- **Commands** (.opencode/commands/) - Slash commands for user invocation → [command_template.md](./assets/command_template.md)

For larger skills, split deep content into focused reference files and keep concise navigation in `SKILL.md` or `README.md`. When a skill has both cross-cutting standards and document-family guides, prefer `references/global/` for shared rules and the `references/` root for creation-specific workflows.

Start with: [skill_creation.md](./references/skill_creation.md) (Section 9)
Primary templates:
- [skill_md_template.md](./assets/skill/skill_md_template.md)
- [skill_readme_template.md](./assets/skill/skill_readme_template.md)
- [skill_reference_template.md](./assets/skill/skill_reference_template.md)
- [skill_asset_template.md](./assets/skill/skill_asset_template.md)

**Use when**:
- User requests skill creation ("create a skill", "make a new skill")
- User requests agent creation ("create an agent", "make a new agent")
- User requests command creation ("create a command", "add a slash command")
- Scaffolding component structure
- Validating component quality
- Packaging skill for distribution

**Skill Process (6 steps)**: Understanding (examples) → Planning (resources) → Initialization (`init_skill.py`) → Editing (populate) → Packaging (`package_skill.py`) → Iteration (test/improve)

**Agent Process**: Load `agent_creation.md` and `agent_template.md` → Define frontmatter (mode, permissions) → Create sections (workflow, capabilities, anti-patterns) → Validate → Test

**Command Process**: Load `command_template.md` → Define frontmatter (name, description) → Create execution logic → Add to command registry → Test

### Use Case: Flowchart Creation

Create ASCII flowcharts for visualizing workflows, user journeys and decision trees.

For styled HTML visuals (interactive diagrams, dashboard pages, or polished data-table renders), use a dedicated HTML workflow instead of forcing ASCII or markdown flowcharts.

**Use when**:
- Documenting multi-step processes with branching
- Creating decision trees with multiple outcomes
- Showing parallel execution with sync points
- Visualizing approval gates and revision cycles

**See**: [assets/flowcharts/](./assets/flowcharts/)

### Use Case: Install Guide Creation

Create and validate installation documentation for MCP servers, plugins and tools using phase-based templates.

**Use when**:
- Creating documentation for MCP server installation
- Documenting plugin setup procedures
- Standardizing tool installation across platforms
- Need phase-based validation checkpoints

**5-Phase Process**: Overview → Prerequisites → Installation → Configuration → Verification

**See**: [install_guide_creation.md](./references/install_guide_creation.md)

### Use Case: Manual Testing Playbook Creation

Create manual testing playbooks with deterministic scenarios, structured evidence collection, and multi-agent execution planning.

**Manual Testing Playbook** - Use `testing_playbook/manual_testing_playbook_template.md` when:
- Creating manual testing scenarios for a skill
- Standardizing test evidence and verdict criteria
- Setting up multi-agent test execution planning

**Canonical Package**: Root `manual_testing_playbook.md` plus numbered category folders with one per-feature file per feature ID.

**See**:
- [manual_testing_playbook_creation.md](./references/manual_testing_playbook_creation.md)
- [manual_testing_playbook_template.md](./assets/testing_playbook/manual_testing_playbook_template.md)

### Use Case: Feature Catalog Creation

Create feature catalogs with a rooted feature inventory, numbered category sections, and per-feature reference files.

**Feature Catalog** - Use `assets/feature_catalog/feature_catalog_template.md` when:
- Creating a canonical current-state feature inventory for a skill or system
- Linking manual playbooks back to a stable feature reference
- Documenting current behavior with source-file anchors and stable slugs

**Canonical Package**: Root `FEATURE_CATALOG.md` plus numbered category folders with one per-feature file per catalog entry.

**See**:
- [feature_catalog_creation.md](./references/feature_catalog_creation.md)
- [feature_catalog_template.md](./assets/feature_catalog/feature_catalog_template.md)

### When NOT to Use (All Modes)

- Non-markdown files (only `.md` supported)
- Simple typo fixes (use Edit tool directly)
- Internal notes or drafts
- Auto-generated API docs
- Short 2-3 step processes (use bullet points)

---

## 2. SMART ROUTING

> Pattern: see [sk-doc smart-router resilience template](./assets/skill/skill_smart_router.md).

### Resource Domains

The router discovers markdown resources recursively from `references/` and `assets/` and then applies intent scoring from `RESOURCE_MAP`. Keep this section domain-focused rather than static file inventories.

- `references/global/` for documentation standards, validation rules, optimization guidance, voice rules, and shared execution workflows.
- `references/` root for document-family and component creation guides such as skill creation, agent creation, install guides, feature catalogs, and manual testing playbooks.
- `assets/readme/` for README and install-guide scaffolds; `assets/changelog_template.md`, `assets/frontmatter_templates.md`, and `assets/llmstxt_templates.md` at the assets/ root for cross-cutting templates.
- `assets/skill/` for skill creation templates, including `SKILL.md`, skill README, reference and asset scaffolds; `assets/agent_template.md` and `assets/command_template.md` at the assets/ root for agent and command creation templates.
- `assets/feature_catalog/` and `assets/testing_playbook/` at the assets/ root for feature catalog and manual testing playbook package templates.
- `assets/flowcharts/` for reusable ASCII flowchart patterns and diagram examples.

> **Cross-CLI consumption note** (per packets 071/072 stress-test data): when sk-doc is dispatched via an external CLI and the caller consumes the routing-trace output LITERALLY (e.g. attempts to `Read()` cited resource paths), prefer **cli-codex** (gpt-5.5/high/fast) — it scored 66.7% resource-accuracy vs cli-opencode 47.2% on the sk-doc router stress matrix. claude-opus-4.7 tends to hallucinate plausible-sounding paths that don't exist in this skill's filesystem; treat its routing trace as advisory and verify cited paths before reading. See `specs/skilled-agent-orchestration/072-sk-doc-router-rerun-refined-extraction/review-report-v2.md` for the full data + P1-072-001 hallucination finding.

### Resource Loading Levels

| Level       | When to Load             | Resources                   |
| ----------- | ------------------------ | --------------------------- |
| ALWAYS      | Every skill invocation   | Quick reference baseline    |
| CONDITIONAL | If intent signals match  | Mode-specific docs/templates|
| ON_DEMAND   | Only on explicit request | Extended standards/template |

exec
/bin/zsh -lc "sed -n '1,260p' .opencode/commands/create/sk-skill.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
---

> ⚠️ **EXECUTION PROTOCOL - READ FIRST**
>
> This command is the canonical entrypoint for skill command workflows.
> Do not split behavior across legacy command definitions.
>
> Mandatory execution order:
> 1. Run Phase 0 verification (`@markdown` or valid chained handoff)
> 2. Run unified setup (single consolidated prompt)
> 3. Verify required phase outputs are present
> 4. Route by mode (`:auto` or `:confirm`)
> 5. Route by operation (`full-create`, `full-update`, `reference-only`, `asset-only`)
> 6. Load and execute the selected unified YAML workflow

---

# 🚨 MANDATORY FIRST ACTION - DO NOT SKIP

Before reading any other section, execute Phase 0 and setup validation.
Do not infer missing command arguments from prior conversation context.

---

# 🚨 PHASE 0: @MARKDOWN AGENT VERIFICATION

**STATUS: ☐ BLOCKED**

```text
EXECUTE THIS AUTOMATIC SELF-CHECK (NOT A USER QUESTION):

SELF-CHECK: Are you operating as @markdown OR under a valid chained parent handoff?
|
|- CASE A: Valid chained handoff detected (--chained)
|  |- Required parent fields present?
|  |  - skill_name
|  |  - operation
|  |  - execution_mode
|  |  - parent_create_agent_verified=true
|  |  - type (required only for reference-only or asset-only)
|  |- IF all present:
|  |  - create_agent_verified = skipped-chained
|  |  - chained_handoff_valid = true
|  |  - phase_0_status = PASSED
|  |- IF missing required parent fields:
|     - chained_handoff_valid = false
|     - fall through to CASE B
|
|- CASE B: Standalone invocation
|  |- Verify @markdown indicators:
|  |  - Invoked with @markdown
|  |  - Template-first generation behavior available
|  |  - sk-doc quality validation behavior available
|  |- IF yes:
|  |  - create_agent_verified = true
|  |  - phase_0_status = PASSED
|  |- IF no/uncertain:
|     - HARD BLOCK and stop

HARD BLOCK MESSAGE:
"This command requires @markdown for template-first generation and sk-doc validation.
Restart with: @markdown /create:sk-skill <skill-name> [operation] [type]"
```

Phase outputs:
- `create_agent_verified`
- `chained_handoff_valid`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

This command uses one consolidated setup prompt. Do not split setup questions.
**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
```text
SETUP EXECUTION LOGIC:

1) Parse invocation shape
   - /create:sk-skill <skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]

2) Parse mode suffix
   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
   - :confirm detected -> execution_mode = INTERACTIVE (omit mode question)
   - no suffix         -> execution_mode = ASK

3) Parse positional tokens
   - token 1: skill_name (if present)
   - token 2: operation (if present)
   - token 3: type (if present)

4) Parse flags
   - --path <dir>
   - --chained

5) Chained setup bypass logic
   - If chained_handoff_valid=true and all required fields for selected operation exist:
     - Skip setup prompt
     - Use parent values
   - If chained_handoff_valid=false or required chained fields missing:
     - Fall back to normal setup prompt

6) Determine which setup questions are required
   - Ask operation only when missing
   - Ask type only when operation requires it and type is missing/invalid
   - Ask execution mode only when no suffix is present
   - Ask spec folder choice only for full-create and full-update
   - Ask memory loading only when existing spec is selected and memory files exist

7) Ask ONE consolidated setup prompt with only missing items

   Q0. Skill Name (if missing)
       - Required format: hyphen-case (lowercase, digits, hyphens)

   Q1. Operation (if missing)
       A) full-create (new skill end-to-end)
       B) full-update (update existing skill and resources)
       C) reference-only (create/update one reference document)
       D) asset-only (create/update one asset document)

   Q2. Type (required only for reference-only or asset-only)
       - For reference-only: workflow | patterns | debugging | tools | quick_ref
       - For asset-only: template | lookup | example | guide

   Q3. Spec Folder (required for full-create/full-update)
       A) Existing
       B) New (recommended)
       C) Update related
       D) Skip
       E) Phase folder

       Optional for reference-only/asset-only:
       A) Attach existing spec path for continuity tracking
       B) Skip spec linkage

   Q4. Prior Work Context (when the existing spec has prior continuity records)
       A) Load most recent spec-doc record
       B) Load up to 3 most recent spec-doc records
       C) Skip

   Q5. Execution Mode (if no suffix)
       A) Interactive (:confirm)
       B) Autonomous (:auto)

8) Wait for user response and parse fields

9) Normalize setup outputs
   - skill_name
   - operation
   - type
   - skill_path (from --path or default .opencode/skills/)
   - execution_mode
   - spec_choice
   - spec_path
   - memory_choice

HARD STOPS:
- Do not infer missing operation or type from context
- Do not split setup across multiple prompts
- Do not continue with missing required fields for selected operation
```

Phase outputs:
- `skill_name`
- `operation`
- `type`
- `skill_path`
- `execution_mode`
- `spec_choice`
- `spec_path`
- `memory_choice`

---

# PHASE STATUS VERIFICATION (BLOCKING)

Verify all required values are set before YAML execution:

| Field | Required | Rule |
| --- | --- | --- |
| create_agent_verified | Yes | `true` or `skipped-chained` |
| skill_name | Yes | explicit, hyphen-case |
| operation | Yes | one of 4 operation values |
| type | Conditional | required for reference-only and asset-only |
| skill_path | Yes | default `.opencode/skills/` if omitted |
| execution_mode | Yes | `:auto` or `:confirm` |
| spec_choice | Conditional | required for full-create and full-update |
| spec_path | Conditional | required for spec choices A/B/C/E |

Proceed only when all required fields validate.

---

## 1. PURPOSE

Provide one canonical command entrypoint for skill lifecycle operations,
eliminating split logic across deprecated command definitions while preserving
strict @markdown + sk-doc + system-spec-kit behavior contracts.

## 2. CONTRACT

**Inputs:** `$ARGUMENTS` using canonical argument shape.

**Outputs:**
- Command execution through unified mode workflow and operation branch.
- Deterministic completion summary with status and path.

**Status patterns:**
- Success: `STATUS=OK PATH=<skill-root-or-target-file>`
- Failure: `STATUS=FAIL ERROR="<reason>"`
- Cancelled (confirm mode): `STATUS=CANCELLED ACTION=cancelled`

## 3. USER INPUT

```text
$ARGUMENTS
```

Accepted operation values:
- `full-create`
- `full-update`
- `reference-only`
- `asset-only`

Accepted mode suffix values:
- `:auto`
- `:confirm`

Accepted type values:
- reference-only: `workflow`, `patterns`, `debugging`, `tools`, `quick_ref`
- asset-only: `template`, `lookup`, `example`, `guide`

## 4. WORKFLOW OVERVIEW

| Step | Name | Purpose | Output |
| --- | --- | --- | --- |
| 1 | Phase 0 Verification | Ensure @markdown or valid chained handoff | `create_agent_verified` |
| 2 | Unified Setup | Capture all required parameters once | normalized setup fields |
| 3 | Phase Validation | Enforce required-field contract | phase pass/fail |
| 4 | Mode Routing | Route to auto or confirm unified YAML | target YAML path |
| 5 | Operation Routing | Select operation branch | operation-specific execution |
| 6 | Validation + Completion | Enforce quality gates and produce status | `STATUS=OK|FAIL|CANCELLED` |

## 5. INSTRUCTIONS

### Step 1: Run Phase 0
- Execute @markdown/chained verification.
- Hard block on failure.

### Step 2: Run Unified Setup
- Ask one consolidated prompt for missing values.
- Normalize and store outputs.

### Step 3: Run Phase Verification
- Validate required fields by operation.

exec
/bin/zsh -lc "sed -n '1,260p' .opencode/commands/create/agent.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
---

> ⚠️ **EXECUTION PROTOCOL — READ FIRST**
>
> This command runs a structured YAML workflow. Do NOT dispatch agents from this document.
>
> **YOUR FIRST ACTION:**
> 1. Run Phase 0: @markdown agent self-verification (below)
> 2. Run Setup Phase: consolidated prompt to gather inputs
> 3. Determine execution mode from user input (`:auto` or `:confirm`)
> 4. Load the corresponding YAML file from `assets/`:
>    - Auto mode → `create_agent_auto.yaml`
>    - Confirm mode → `create_agent_confirm.yaml`
> 5. Execute the YAML workflow step by step
>
> The @markdown references below are self-verification checks — not dispatch instructions.
> All content after the Setup Phase is reference context for the YAML workflow.

---

# 🚨 PHASE 0: @MARKDOWN AGENT VERIFICATION

**STATUS: ☐ BLOCKED**

```
EXECUTE THIS AUTOMATIC SELF-CHECK (NOT A USER QUESTION):

SELF-CHECK: Are you operating as the @markdown agent?
│
├─ INDICATORS that you ARE @markdown agent:
│   ├─ You were invoked with "@markdown" prefix
│   ├─ You have template-first workflow capabilities
│   ├─ You load templates BEFORE creating content
│   ├─ You validate template alignment AFTER creating
│
├─ IF YES (all indicators present):
│   └─ create_agent_verified = TRUE → Continue to Setup Phase
│
└─ IF NO or UNCERTAIN:
    │
    ├─ ⛔ HARD BLOCK - DO NOT PROCEED
    │
    ├─ DISPLAY to user:
    │   ┌────────────────────────────────────────────────────────────┐
    │   │ ⛔ MARKDOWN AGENT REQUIRED                                      │
    │   │                                                            │
    │   │ This command requires the @markdown agent for:              │
    │   │   • Template-first workflow (loads before creating)          │
    │   │   • Frontmatter validation                                 │
    │   │   • sk-doc skill integration                               │
    │   │                                                            │
    │   │ To proceed, restart with:                                  │
    │   │   @markdown /create:agent [agent-name]                      │
    │   │                                                            │
    │   │ Reference: [runtime_agent_path]/markdown.md                 │
    │   └────────────────────────────────────────────────────────────┘
    │
    └─ RETURN: STATUS=FAIL ERROR="Markdown agent required"
```

**Phase Output:**
- `create_agent_verified = ________________`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**

This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in ONE user interaction.

**Round-trip optimization:** This workflow requires only 1 user interaction.

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

1. CHECK for mode suffix in $ARGUMENTS or command invocation:
   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q2)
   ├─ ":confirm" suffix detected → execution_mode = "INTERACTIVE" (pre-set, omit Q2)
   └─ No suffix → execution_mode = "ASK" (include Q2 in prompt)

2. CHECK if $ARGUMENTS contains an agent name (ignoring flags):
   ├─ IF $ARGUMENTS has content → agent_name = extracted value, omit Q0
   │   ├─ Extract --mode flag if present (optional)
   │   ├─ VALIDATE agent name format:
   │   │   ├─ Must be kebab-case (lowercase, hyphens, digits only)
   │   │   ├─ Must match folder name exactly
   │   │   ├─ No uppercase, underscores, or special characters
   │   │   └─ IF invalid: include Q0 in prompt with format guidance
   │   └─ Store output path as: agent_path (default: [runtime_agent_path]/)
   └─ IF $ARGUMENTS is empty → include Q0 in prompt

3. Search for related spec folders:
   $ ls -d specs/*/ 2>/dev/null | tail -10

4. Determine if prior-session context loading is needed:
   - Will be asked ONLY if user selects A or C for spec folder AND the spec docs include recent `_memory.continuity` entries or a `handover.md`
   - Include Q3 placeholder with note "(if using existing spec with prior-session context)"

5. ASK user with SINGLE CONSOLIDATED prompt (include only applicable questions):

   ┌────────────────────────────────────────────────────────────────┐
   │ **Before proceeding, please answer:**                          │
   │                                                                │
   │ **Q0. Agent Name** (if not provided in command):               │
   │    What agent would you like to create?                        │
   │    Format: kebab-case (e.g., quality-gate, security-audit)     │
   │                                                                │
   │ **Q1. Spec Folder** (required):                                │
   │    A) Use existing: [suggest if related found]                 │
   │    B) Create new spec folder (Recommended)                     │
   │    C) Update related spec: [if partial match found]            │
   │    D) Skip documentation                                       │
   │                                                                │
   │ **Q2. Execution Mode** (if no :auto/:confirm suffix):            │
   │    A) Interactive - Confirm at each step (Recommended)          │
   │    B) Autonomous - Execute without prompts                     │
   │                                                                │
   │ **Q3. Prior Session Context** (if existing spec has it):        │
   │    A) Load `handover.md` + `_memory.continuity` from            │
   │       `implementation-summary.md`                                │
   │    B) Load canonical spec docs (spec.md, plan.md, tasks.md,     │
   │       decision-record.md) up to a recent cap                    │
   │    C) Skip (start fresh)                                       │
   │                                                                │
   │ Reply with answers, e.g.: "B, A, C" or "quality-gate, B, A, C" │
   └────────────────────────────────────────────────────────────────┘

6. WAIT for user response (DO NOT PROCEED)

7. Parse response and store ALL results:
   - agent_name = [from Q0 or $ARGUMENTS]
   - agent_path = [from --path flag or default runtime path ([runtime_agent_path]/)]
   - spec_choice = [A/B/C/D from Q1]
   - spec_path = [derived path or null if D]
   - execution_mode = [AUTONOMOUS/INTERACTIVE from suffix or Q2]
   - memory_choice = [A/B/C from Q3, or N/A if not applicable]

8. Execute background operations based on choices:
   - IF spec_choice == B: Find next number and create: specs/[NNN]-[agent-name]/
   - IF memory_choice == A: Load most recent memory file
   - IF memory_choice == B: Load up to 3 recent memory files

9. SET STATUS: ✅ PASSED

**STOP HERE** - Wait for user to answer ALL applicable questions before continuing.

⛔ HARD STOP: DO NOT proceed until user explicitly answers
⛔ NEVER auto-create spec folders without user confirmation
⛔ NEVER auto-select execution mode without suffix or explicit choice
⛔ NEVER split these questions into multiple prompts
⛔ NEVER infer agent names from context, screenshots, or conversation history
```

**Phase Output:**
- `create_agent_verified = ________________`
- `agent_name = ________________`
- `agent_path = ________________`
- `spec_choice = ___` | `spec_path = ________________`
- `execution_mode = ________________`
- `memory_loaded = ________________`

---

## PHASE STATUS VERIFICATION (BLOCKING)

**Before continuing to the workflow, verify ALL values are set:**

| FIELD                | REQUIRED      | YOUR VALUE | SOURCE                 |
| -------------------- | ------------- | ---------- | ---------------------- |
| create_agent_verified | ✅ Yes         | ______     | Automatic check        |
| agent_name           | ✅ Yes         | ______     | Q0 or $ARGUMENTS       |
| agent_path           | ✅ Yes         | ______     | --path flag or default |
| spec_choice          | ✅ Yes         | ______     | Q1                     |
| spec_path            | ○ Conditional | ______     | Derived from Q1        |
| execution_mode       | ✅ Yes         | ______     | Suffix or Q2           |
| memory_loaded        | ○ Conditional | ______     | Q3 (if existing spec)  |

```
VERIFICATION CHECK:
├─ ALL required fields have values?
│   ├─ YES → Proceed to "⚡ INSTRUCTIONS" section below
│   └─ NO  → Re-prompt for missing values only
```

---

## INSTRUCTIONS

After Phase 0 and Setup Phase pass, load and execute the appropriate YAML workflow:

- **AUTONOMOUS (`:auto`)**: `.opencode/commands/create/assets/create_agent_auto.yaml`
- **INTERACTIVE (`:confirm`)**: `.opencode/commands/create/assets/create_agent_confirm.yaml`

The YAML contains: detailed step activities, checkpoints, confidence scoring, error recovery, validation gates, and completion reporting.

---

> **📚 REFERENCE CONTEXT** — The sections below provide reference information for the YAML workflow. They are NOT direct execution instructions.

---

## CONSTRAINTS

- **DO NOT** dispatch any agent (`@context`, `spec authoring`) from this document
- **ALL** agent dispatching is handled by the YAML workflow steps — this document is setup + reference only
- **FIRST ACTION** is always: run Phase 0, then Setup Phase, then load the YAML file

---

## RUNTIME AGENT PATH RESOLUTION

Use `[runtime_agent_path]` based on the active runtime profile:

- Default/Copilot: `.opencode/agent`
- Claude: `.claude/agents`
- Codex: `.codex/agents`
- Gemini CLI: `.gemini/agents`

---

## 1. ROLE & PURPOSE

```yaml
role: Expert Agent Creator using sk-doc skill
purpose: Create production-ready OpenCode agents with proper frontmatter and behavioral rules
action: Guide agent creation from understanding through validation with YAML frontmatter verification

operating_mode:
  workflow: sequential_6_step
  workflow_compliance: MANDATORY
  workflow_execution: interactive
  approvals: step_by_step
  tracking: progressive_task_checklists
  validation: yaml_frontmatter_check
```

Create a complete, production-ready OpenCode agent following the 6-step agent creation process from the `sk-doc` skill. The workflow ensures understanding before implementation, validates YAML frontmatter syntax, and produces agents that integrate seamlessly with OpenCode's agent system.

---

## 2. CONTRACT

**Inputs:** `$ARGUMENTS` — Agent name in kebab-case with optional output path
**Outputs:** Complete agent file with frontmatter + content + `STATUS=<OK|FAIL|CANCELLED>`

### User Input

```text
$ARGUMENTS
```

---


exec
/bin/zsh -lc "sed -n '1,260p' .opencode/commands/create/changelog.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
---

> ⚠️ **EXECUTION PROTOCOL — READ FIRST**
>
> This command runs a structured YAML workflow. Do NOT dispatch agents from this document.
>
> **YOUR FIRST ACTION:**
>
> 1. Run Phase 0: @markdown agent self-verification (below)
> 2. Run Setup Phase: consolidated prompt to gather inputs
> 3. Determine execution mode from user input (`:auto` or `:confirm`)
> 4. Load the corresponding YAML file from `assets/`:
>    - Auto mode → `create_changelog_auto.yaml`
>    - Confirm mode → `create_changelog_confirm.yaml`
> 5. Execute the YAML workflow step by step
>
> The @markdown references below are self-verification checks — not dispatch instructions.
> All content after the Setup Phase is reference context for the YAML workflow.

---

# 🚨 PHASE 0: @MARKDOWN AGENT VERIFICATION

**STATUS: ☐ BLOCKED**

```
EXECUTE THIS AUTOMATIC SELF-CHECK (NOT A USER QUESTION):

SELF-CHECK: Are you operating as the @markdown agent?
│
├─ INDICATORS that you ARE @markdown agent:
│   ├─ You were invoked with "@markdown" prefix
│   ├─ You have template-first workflow capabilities
│   ├─ You load templates BEFORE creating content
│   ├─ You validate template alignment AFTER creating
│
├─ IF YES (all indicators present):
│   └─ create_agent_verified = TRUE → Continue to Setup Phase
│
└─ IF NO or UNCERTAIN:
    │
    ├─ ⛔ HARD BLOCK - DO NOT PROCEED
    │
    ├─ DISPLAY to user:
    │   ┌────────────────────────────────────────────────────────────┐
    │   │ ⛔ MARKDOWN AGENT REQUIRED                                      │
    │   │                                                            │
    │   │ This command requires the @markdown agent for:              │
    │   │   • Template-first workflow (loads before creating)          │
    │   │   • Changelog format validation                            │
    │   │   • Version number verification                             │
    │   │                                                            │
    │   │ To proceed, restart with:                                  │
    │   │   @markdown /create:changelog [spec-folder-or-component]    │
    │   │                                                            │
    │   │ Reference: [runtime_agent_path]/markdown.md                 │
    │   └────────────────────────────────────────────────────────────┘
    │
    └─ RETURN: STATUS=FAIL ERROR="Markdown agent required"
```

**Phase Output:**

- `create_agent_verified = ________________`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**

This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in ONE user interaction.

**Round-trip optimization:** This workflow requires only 1 user interaction.

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

1. CHECK for mode suffix in $ARGUMENTS or command invocation:
   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q2)
   ├─ ":confirm" suffix detected → execution_mode = "INTERACTIVE" (pre-set, omit Q2)
   └─ No suffix → execution_mode = "ASK" (include Q2 in prompt)

2. CHECK if $ARGUMENTS contains a spec folder path or component name (ignoring flags):
   ├─ IF $ARGUMENTS has a path to a spec folder:
   │   ├─ spec_folder = extracted path
   │   ├─ Read implementation-summary.md, tasks.md, spec.md from that folder
   │   ├─ Extract: work summary, files changed, change type
   │   ├─ component_hint = "auto-detect from spec artifacts"
   │   └─ Omit Q0 (spec folder already provided)
   │
   ├─ IF $ARGUMENTS has a component name (e.g., "sk-doc", "commands"):
   │   ├─ component_hint = extracted name
   │   ├─ spec_folder = null (will use git history instead)
   │   └─ Omit Q0 (component already provided)
   │
   └─ IF $ARGUMENTS is empty → include Q0 in prompt

3. CHECK for --bump flag:
   ├─ IF --bump <type> present → version_bump = extracted type, omit Q1
   └─ IF no --bump flag → include Q1 in prompt

3b. CHECK for --release flag:
   ├─ IF --release present → publish_release = YES, omit Q3
   └─ IF no --release flag → include Q3 in prompt

4. Search for recent spec folders with implementation-summary.md:
   $ find .opencode/specs -name "implementation-summary.md" -mtime -7 2>/dev/null | head -5

5. ASK user with SINGLE CONSOLIDATED prompt (include only applicable questions):

   ┌────────────────────────────────────────────────────────────────────┐
   │ **Before proceeding, please answer:**                              │
   │                                                                    │
   │ **Q0. Source** (if not provided in command):                       │
   │    What should we create a changelog for?                          │
   │    A) Spec folder path: [suggest recent specs if found]            │
   │    B) Component name (e.g., sk-doc, commands, system-spec-kit)     │
   │    C) Recent git commits (auto-detect from history)                │
   │                                                                    │
   │ **Q1. Version Bump** (if no --bump flag):                           │
   │    What type of version change is this?                            │
   │    A) Minor - New feature or significant addition (Recommended)     │
   │    B) Patch - Bug fix, refactor, or incremental improvement         │
   │    C) Major - Breaking change or architectural overhaul            │
   │    D) Build - Hotfix on an already-published version                │
   │    E) Auto-detect from change type                                 │
   │                                                                    │
   │ **Q2. Execution Mode** (if no :auto/:confirm suffix):                │
   │    A) Autonomous - Execute without prompts (Recommended)           │
   │    B) Interactive - Confirm at each step                            │
   │                                                                    │
   │ **Q3. Publish Release?** (if no --release flag):                    │
   │    A) Yes - Create git tag + GitHub release after changelog        │
   │    B) No - Only create the changelog file (default)                 │
   │                                                                    │
   │ Reply with answers, e.g.: "A specs/01.../042..., E, A, A"          │
   └────────────────────────────────────────────────────────────────────┘

6. WAIT for user response (DO NOT PROCEED)

7. Parse response and store ALL results:
   - source_type = [spec_folder / component / git_history]
   - spec_folder = [path or null]
   - component_hint = [name or null]
   - version_bump = [major / minor / patch / build / auto]
   - execution_mode = [AUTONOMOUS / INTERACTIVE from suffix or Q2]
   - publish_release = [YES / NO from --release flag or Q3]

8. SET STATUS: ✅ PASSED

**STOP HERE** - Wait for user to answer ALL applicable questions before continuing.

⛔ HARD STOP: DO NOT proceed until user explicitly answers
⛔ NEVER auto-create changelog files without completing the workflow
⛔ NEVER auto-select execution mode without suffix or explicit choice
⛔ NEVER split these questions into multiple prompts
⛔ NEVER infer the source from context, screenshots, or conversation history
```

**Phase Output:**

- `create_agent_verified = ________________`
- `source_type = ________________`
- `spec_folder = ________________`
- `component_hint = ________________`
- `version_bump = ________________`
- `execution_mode = ________________`
- `publish_release = ________________`

---

## PHASE STATUS VERIFICATION (BLOCKING)

**Before continuing to the workflow, verify ALL values are set:**

| FIELD                | REQUIRED    | YOUR VALUE | SOURCE            |
| -------------------- | ----------- | ---------- | ----------------- |
| create_agent_verified | ✅ Yes      | **\_\_**   | Automatic check   |
| source_type          | ✅ Yes      | **\_\_**   | Q0 or $ARGUMENTS  |
| spec_folder          | Conditional | **\_\_**   | Q0 path or null   |
| component_hint       | Conditional | **\_\_**   | Q0 name or null   |
| version_bump         | ✅ Yes      | **\_\_**   | --bump flag or Q1 |
| execution_mode       | ✅ Yes      | **\_\_**   | Suffix or Q2      |
| publish_release      | ✅ Yes      | **\_\_**   | --release or Q3   |

```
VERIFICATION CHECK:
├─ ALL required fields have values?
│   ├─ YES → Proceed to "INSTRUCTIONS" section below
│   └─ NO  → Re-prompt for missing values only
```

---

## INSTRUCTIONS

After Phase 0 and Setup Phase pass, load and execute the appropriate YAML workflow:

- **AUTONOMOUS (`:auto`)**: `.opencode/commands/create/assets/create_changelog_auto.yaml`
- **INTERACTIVE (`:confirm`)**: `.opencode/commands/create/assets/create_changelog_confirm.yaml`

The YAML contains: detailed step activities, component mapping, version calculation, content generation, validation, and completion reporting.

---

> **📚 REFERENCE CONTEXT** — The sections below provide reference information for the YAML workflow. They are NOT direct execution instructions.

---

## CONSTRAINTS

- **DO NOT** dispatch any agent (`@context`, `spec authoring`) from this document
- **ALL** agent dispatching is handled by the YAML workflow steps — this document is setup + reference only
- **FIRST ACTION** is always: run Phase 0, then Setup Phase, then load the YAML file

---

## 1. ROLE & PURPOSE

```yaml
role: Expert Changelog Creator using established format conventions
purpose: Create properly formatted changelog entries by dynamically detecting work context
action: Analyze recent work, resolve component, calculate version, generate changelog

operating_mode:
  workflow: sequential_7_step
  workflow_compliance: MANDATORY
  workflow_execution: interactive
  approvals: step_by_step
  tracking: progressive_task_checklists
  validation: format_and_version_check
```

Create a complete, properly formatted changelog file by analyzing recent work (from spec folders or git history), resolving the correct component subfolder, calculating the next version number, and generating content that matches the established changelog format used across 370+ existing files.

---

## 2. CONTRACT

**Inputs:** `$ARGUMENTS` — Spec folder path, component name, or empty (auto-detect)
**Outputs:** Changelog file at `.opencode/changelog/{component}/v{version}.md` + `STATUS=<OK|FAIL|CANCELLED>`

### User Input

```text
$ARGUMENTS
```

---

## 3. CHANGELOG FORMAT REFERENCE

**Canonical template:** `.opencode/skills/sk-doc/assets/changelog_template.md`

exec
/bin/zsh -lc "sed -n '1,260p' .opencode/commands/create/feature-catalog.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
---

> ⚠️ **EXECUTION PROTOCOL - READ FIRST**
>
> This command is the canonical entrypoint for feature catalog creation workflows.
> Do not split behavior across legacy or ad-hoc catalog commands.
>
> Mandatory execution order:
> 1. Run Phase 0 verification (`@markdown`)
> 2. Run unified setup (single consolidated prompt)
> 3. Verify required phase outputs are present
> 4. Route by mode (`:auto` or `:confirm`)
> 5. Route by operation (`create` or `update`)
> 6. Load and execute the selected YAML workflow

---

# 🚨 MANDATORY FIRST ACTION - DO NOT SKIP

Before reading any other section, execute Phase 0 and setup validation.
Do not infer missing command arguments from prior conversation context.

---

# 🚨 PHASE 0: @MARKDOWN AGENT VERIFICATION

**STATUS: ☐ BLOCKED**

```text
EXECUTE THIS AUTOMATIC SELF-CHECK (NOT A USER QUESTION):

SELF-CHECK: Are you operating as @markdown?
|
|- Verify @markdown indicators:
|  - Invoked with @markdown
|  - Template-first generation behavior available
|  - sk-doc quality validation behavior available
|- IF yes:
|  - create_agent_verified = true
|  - phase_0_status = PASSED
|- IF no/uncertain:
|  - HARD BLOCK and stop

HARD BLOCK MESSAGE:
"This command requires @markdown for template-first generation and sk-doc validation.
Restart with: @markdown /create:feature-catalog <skill-name> [create|update]"
```

Phase outputs:
- `create_agent_verified`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

This command uses one consolidated setup prompt. Do not split setup questions.

```text
SETUP EXECUTION LOGIC:

1) Parse invocation shape
   - /create:feature-catalog <skill-name> [create|update] [--path <dir>] [:auto|:confirm]

2) Parse mode suffix
   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
   - :confirm detected -> execution_mode = INTERACTIVE (omit mode question)
   - no suffix         -> execution_mode = ASK

3) Parse positional tokens
   - token 1: skill_name (if present)
   - token 2: operation (if present)

4) Parse flags
   - --path <dir>

5) Determine which setup questions are required
   - Ask skill name only when missing
   - Ask operation only when missing or invalid
   - Ask source strategy always
   - Ask spec folder choice always
   - Ask memory loading only when existing spec is selected and memory files exist
   - Ask execution mode only when no suffix is present

6) Ask ONE consolidated setup prompt with only missing items

   Q0. Skill Name (if missing)
       - Required format: hyphen-case folder name

   Q1. Operation (if missing)
       A) create
       B) update

   Q2. Source Strategy (required)
       A) Derive from existing manual testing playbook when present
       B) Build from a manual feature list or operator-provided inventory
       C) Hybrid: derive what exists, then patch gaps manually

   Q3. Spec Folder (required)
       A) Existing
       B) New
       C) Update related
       D) Skip
       E) Phase folder

   Q4. Prior Work Context (when the existing spec has prior continuity records)
       A) Load most recent spec-doc record
       B) Load up to 3 most recent spec-doc records
       C) Skip

   Q5. Execution Mode (if no suffix)
       A) Interactive (:confirm)
       B) Autonomous (:auto)

7) Wait for user response and parse fields

8) Normalize setup outputs
   - skill_name
   - operation
   - source_strategy
   - skill_path (from --path or default .opencode/skills/)
   - catalog_root = [skill_path]/[skill_name]/feature_catalog
   - execution_mode
   - spec_choice
   - spec_path
   - memory_choice

HARD STOPS:
- Do not infer missing operation from context
- Do not split setup across multiple prompts
- Do not continue with missing required fields
```

Phase outputs:
- `skill_name`
- `operation`
- `source_strategy`
- `skill_path`
- `catalog_root`
- `execution_mode`
- `spec_choice`
- `spec_path`
- `memory_choice`

---

# PHASE STATUS VERIFICATION (BLOCKING)

Verify all required values are set before YAML execution:

| Field | Required | Rule |
| --- | --- | --- |
| create_agent_verified | Yes | `true` |
| skill_name | Yes | explicit, hyphen-case |
| operation | Yes | `create` or `update` |
| source_strategy | Yes | one of A/B/C normalized choices |
| skill_path | Yes | default `.opencode/skills/` if omitted |
| catalog_root | Yes | derived from skill name and path |
| execution_mode | Yes | `:auto` or `:confirm` |
| spec_choice | Yes | one of A/B/C/D/E |
| spec_path | Conditional | required for spec choices A/B/C/E |

Proceed only when all required fields validate.

---

## 1. PURPOSE

Provide one canonical command entrypoint for feature catalog lifecycle operations while enforcing the shipped `sk-doc` contract for rooted catalogs, numbered category folders, per-feature files, and current-reality source references.

## 2. CONTRACT

**Inputs:** `$ARGUMENTS` using the canonical argument shape.

**Outputs:**
- Command execution through unified mode workflow and operation branch.
- A feature catalog rooted at `<skill-root>/feature_catalog/`.
- Deterministic completion summary with status and path.

**Status patterns:**
- Success: `STATUS=OK PATH=<feature-catalog-root-or-root-file>`
- Failure: `STATUS=FAIL ERROR="<reason>"`
- Cancelled (confirm mode): `STATUS=CANCELLED ACTION=cancelled`

## 3. USER INPUT

```text
$ARGUMENTS
```

Accepted operation values:
- `create`
- `update`

Accepted mode suffix values:
- `:auto`
- `:confirm`

## 4. WORKFLOW OVERVIEW

| Step | Name | Purpose | Output |
| --- | --- | --- | --- |
| 1 | Phase 0 Verification | Ensure `@markdown` is active | `create_agent_verified` |
| 2 | Unified Setup | Capture all required parameters once | normalized setup fields |
| 3 | Phase Validation | Enforce required-field contract | phase pass/fail |
| 4 | Mode Routing | Route to auto or confirm YAML | target YAML path |
| 5 | Operation Routing | Select `create` or `update` branch | operation-specific execution |
| 6 | Validation + Completion | Enforce quality gates and produce status | `STATUS=OK|FAIL|CANCELLED` |

## 5. INSTRUCTIONS

### Step 1: Run Phase 0
- Execute `@markdown` verification.
- Hard block on failure.

### Step 2: Run Unified Setup
- Ask one consolidated prompt for missing values.
- Normalize and store outputs.

### Step 3: Run Phase Verification
- Validate required fields.
- Re-prompt missing values only.

### Step 4: Route by Mode
- `:auto` -> load `create_feature_catalog_auto.yaml`.
- `:confirm` -> load `create_feature_catalog_confirm.yaml`.

### Step 5: Route by Operation
- Route to one branch: `create` or `update`.

### Step 6: Execute YAML + Report Completion
- Enforce gate model and validation loop.
- Return deterministic completion status.

---

## 6. MODE ROUTING

Mode route targets:
- `:auto` -> `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`
- `:confirm` -> `.opencode/commands/create/assets/create_feature_catalog_confirm.yaml`

Default mode if omitted: `:confirm`.

Behavior summary:
- `:auto`: no approval checkpoints, stops for hard failures.
- `:confirm`: checkpointed execution with review/modify/cancel options.

---

## 7. OPERATION ROUTING CONTRACT

| Operation | Purpose | Target Must Exist | Output Scope |
| --- | --- | --- | --- |
| `create` | Create a new rooted feature catalog package | No (warn if it already exists) | `feature_catalog.md` + category folders + per-feature files |

exec
/bin/zsh -lc "sed -n '1,260p' .opencode/commands/create/testing-playbook.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
---

> ⚠️ **EXECUTION PROTOCOL - READ FIRST**
>
> This command is the canonical entrypoint for manual testing playbook creation workflows.
> Do not split behavior across legacy or sidecar-doc playbook commands.
>
> Mandatory execution order:
> 1. Run Phase 0 verification (`@markdown`)
> 2. Run unified setup (single consolidated prompt)
> 3. Verify required phase outputs are present
> 4. Route by mode (`:auto` or `:confirm`)
> 5. Route by operation (`create` or `update`)
> 6. Load and execute the selected YAML workflow

---

# 🚨 MANDATORY FIRST ACTION - DO NOT SKIP

Before reading any other section, execute Phase 0 and setup validation.
Do not infer missing command arguments from prior conversation context.

---

# 🚨 PHASE 0: @MARKDOWN AGENT VERIFICATION

**STATUS: ☐ BLOCKED**

```text
EXECUTE THIS AUTOMATIC SELF-CHECK (NOT A USER QUESTION):

SELF-CHECK: Are you operating as @markdown?
|
|- Verify @markdown indicators:
|  - Invoked with @markdown
|  - Template-first generation behavior available
|  - sk-doc quality validation behavior available
|- IF yes:
|  - create_agent_verified = true
|  - phase_0_status = PASSED
|- IF no/uncertain:
|  - HARD BLOCK and stop

HARD BLOCK MESSAGE:
"This command requires @markdown for template-first generation and sk-doc validation.
Restart with: @markdown /create:testing-playbook <skill-name> [create|update]"
```

Phase outputs:
- `create_agent_verified`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

This command uses one consolidated setup prompt. Do not split setup questions.

```text
SETUP EXECUTION LOGIC:

1) Parse invocation shape
   - /create:testing-playbook <skill-name> [create|update] [--path <dir>] [:auto|:confirm]

2) Parse mode suffix
   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
   - :confirm detected -> execution_mode = INTERACTIVE (omit mode question)
   - no suffix         -> execution_mode = ASK

3) Parse positional tokens
   - token 1: skill_name (if present)
   - token 2: operation (if present)

4) Parse flags
   - --path <dir>

5) Determine which setup questions are required
   - Ask skill name only when missing
   - Ask operation only when missing or invalid
   - Ask source strategy always
   - Ask spec folder choice always
   - Ask prior-session context loading only when existing spec is selected and the spec docs include recent `_memory.continuity` entries or a `handover.md`
   - Ask execution mode only when no suffix is present

6) Ask ONE consolidated setup prompt with only missing items

   Q0. Skill Name (if missing)
       - Required format: hyphen-case folder name

   Q1. Operation (if missing)
       A) create
       B) update

   Q2. Source Strategy (required)
       A) Derive from existing feature catalog when present
       B) Build from a manual scenario list or operator-provided validation matrix
       C) Hybrid: derive what exists, then patch gaps manually

   Q3. Spec Folder (required)
       A) Existing
       B) New
       C) Update related
       D) Skip
       E) Phase folder

   Q4. Prior Session Context (if existing spec has it)
       A) Load `handover.md` + `_memory.continuity` from `implementation-summary.md`
       B) Load canonical spec docs (spec.md, plan.md, tasks.md, decision-record.md) up to a recent cap
       C) Skip

   Q5. Execution Mode (if no suffix)
       A) Interactive (:confirm)
       B) Autonomous (:auto)

7) Wait for user response and parse fields

8) Normalize setup outputs
   - skill_name
   - operation
   - source_strategy
   - skill_path (from --path or default .opencode/skills/)
   - playbook_root = [skill_path]/[skill_name]/manual_testing_playbook
   - execution_mode
   - spec_choice
   - spec_path
   - memory_choice

HARD STOPS:
- Do not infer missing operation from context
- Do not split setup across multiple prompts
- Do not continue with missing required fields
```

Phase outputs:
- `skill_name`
- `operation`
- `source_strategy`
- `skill_path`
- `playbook_root`
- `execution_mode`
- `spec_choice`
- `spec_path`
- `memory_choice`

---

# PHASE STATUS VERIFICATION (BLOCKING)

Verify all required values are set before YAML execution:

| Field | Required | Rule |
| --- | --- | --- |
| create_agent_verified | Yes | `true` |
| skill_name | Yes | explicit, hyphen-case |
| operation | Yes | `create` or `update` |
| source_strategy | Yes | one of A/B/C normalized choices |
| skill_path | Yes | default `.opencode/skills/` if omitted |
| playbook_root | Yes | derived from skill name and path |
| execution_mode | Yes | `:auto` or `:confirm` |
| spec_choice | Yes | one of A/B/C/D/E |
| spec_path | Conditional | required for spec choices A/B/C/E |

Proceed only when all required fields validate.

---

## 1. PURPOSE

Provide one canonical command entrypoint for manual testing playbook lifecycle operations while enforcing the shipped `sk-doc` contract for integrated root guidance, numbered category folders, feature-catalog-style per-feature files, and realistic orchestrator-led scenarios.

## 2. CONTRACT

**Inputs:** `$ARGUMENTS` using the canonical argument shape.

**Outputs:**
- Command execution through unified mode workflow and operation branch.
- A manual testing playbook rooted at `<skill-root>/manual_testing_playbook/`.
- Deterministic completion summary with status and path.

**Status patterns:**
- Success: `STATUS=OK PATH=<playbook-root-or-root-file>`
- Failure: `STATUS=FAIL ERROR="<reason>"`
- Cancelled (confirm mode): `STATUS=CANCELLED ACTION=cancelled`

## 3. USER INPUT

```text
$ARGUMENTS
```

Accepted operation values:
- `create`
- `update`

Accepted mode suffix values:
- `:auto`
- `:confirm`

## 4. WORKFLOW OVERVIEW

| Step | Name | Purpose | Output |
| --- | --- | --- | --- |
| 1 | Phase 0 Verification | Ensure `@markdown` is active | `create_agent_verified` |
| 2 | Unified Setup | Capture all required parameters once | normalized setup fields |
| 3 | Phase Validation | Enforce required-field contract | phase pass/fail |
| 4 | Mode Routing | Route to auto or confirm YAML | target YAML path |
| 5 | Operation Routing | Select `create` or `update` branch | operation-specific execution |
| 6 | Validation + Completion | Enforce quality gates and produce status | `STATUS=OK|FAIL|CANCELLED` |

## 5. INSTRUCTIONS

### Step 1: Run Phase 0
- Execute `@markdown` verification.
- Hard block on failure.

### Step 2: Run Unified Setup
- Ask one consolidated prompt for missing values.
- Normalize and store outputs.

### Step 3: Run Phase Verification
- Validate required fields.
- Re-prompt missing values only.

### Step 4: Route by Mode
- `:auto` -> load `create_testing_playbook_auto.yaml`.
- `:confirm` -> load `create_testing_playbook_confirm.yaml`.

### Step 5: Route by Operation
- Route to one branch: `create` or `update`.

### Step 6: Execute YAML + Report Completion
- Enforce gate model and validation loop.
- Return deterministic completion status.

---

## 6. MODE ROUTING

Mode route targets:
- `:auto` -> `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`
- `:confirm` -> `.opencode/commands/create/assets/create_testing_playbook_confirm.yaml`

Default mode if omitted: `:confirm`.

Behavior summary:
- `:auto`: no approval checkpoints, stops for hard failures.
- `:confirm`: checkpointed execution with review/modify/cancel options.

---

## 7. OPERATION ROUTING CONTRACT

| Operation | Purpose | Target Must Exist | Output Scope |
| --- | --- | --- | --- |
| `create` | Create a new rooted testing playbook package | No (warn if it already exists) | `manual_testing_playbook.md` + category folders + per-feature files |

exec
/bin/zsh -lc "sed -n '1,260p' .opencode/commands/create/folder_readme.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---
description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
---

> ⚠️ **EXECUTION PROTOCOL — READ FIRST**
>
> This command runs a structured YAML workflow. Do NOT dispatch agents from this document.
>
> **YOUR FIRST ACTION:**
> 1. Run Phase 0: @markdown agent self-verification (below)
> 2. Run Setup Phase: consolidated prompt to gather inputs (including operation detection)
> 3. Determine execution mode from user input (`:auto` or `:confirm`)
> 4. Load the corresponding YAML file from `assets/`:
>    - Auto mode → `create_folder_readme_auto.yaml`
>    - Confirm mode → `create_folder_readme_confirm.yaml`
>    (Both YAMLs contain readme AND install operations — skip to the detected operation section)
> 5. Execute the YAML workflow step by step
>
> The @markdown references below are self-verification checks — not dispatch instructions.
> All content after the Setup Phase is reference context for the YAML workflow.

---

# 🚨 PHASE 0: @MARKDOWN AGENT VERIFICATION

**STATUS: ☐ BLOCKED**

```
EXECUTE THIS AUTOMATIC SELF-CHECK (NOT A USER QUESTION):

SELF-CHECK: Are you operating as the @markdown agent?
│
├─ INDICATORS that you ARE @markdown agent:
│   ├─ You were invoked with "@markdown" prefix
│   ├─ You have template-first workflow capabilities
│   ├─ You load templates BEFORE creating content
│   ├─ You validate template alignment AFTER creating
│
├─ IF YES (all indicators present):
│   └─ create_agent_verified = TRUE → Continue to Setup Phase
│
└─ IF NO or UNCERTAIN:
    │
    ├─ ⛔ HARD BLOCK - DO NOT PROCEED
    │
    ├─ DISPLAY to user:
    │   ┌────────────────────────────────────────────────────────────┐
    │   │ ⛔ MARKDOWN AGENT REQUIRED                                      │
    │   │                                                            │
    │   │ This command requires the @markdown agent for:              │
    │   │   • Template-first workflow (loads before creating)          │
    │   │   • DQI scoring (target: 75+ Good)                         │
    │   │   • sk-doc skill integration                               │
    │   │                                                            │
    │   │ To proceed, restart with:                                  │
    │   │   @markdown /create:folder_readme [operation] [target]      │
    │   │                                                            │
    │   │ Reference: [runtime_agent_path]/markdown.md                 │
    │   └────────────────────────────────────────────────────────────┘
    │
    └─ RETURN: STATUS=FAIL ERROR="Markdown agent required"
```

**Phase Output:**
- `create_agent_verified = ________________`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**

This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in ONE user interaction.

**Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

0. DETECT OPERATION from $ARGUMENTS or command invocation:
   ├─ First positional token is "readme" → operation = "readme", remove token from args
   ├─ First positional token is "install" → operation = "install", remove token from args
   ├─ "--operation readme" flag → operation = "readme"
   ├─ "--operation install" flag → operation = "install"
   └─ No operation detected → operation = "ASK" (include Q_OP in prompt)
   NOTE: When no operation is detected and $ARGUMENTS contains a path-like value, default to "readme".

1. CHECK for mode suffix in $ARGUMENTS or command invocation:
   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q_MODE)
   ├─ ":confirm" suffix detected → execution_mode = "INTERACTIVE" (pre-set, omit Q_MODE)
   └─ No suffix → execution_mode = "ASK" (include Q_MODE in prompt)

── README BRANCH (operation = "readme") ──────────────────────────────

2R. CHECK if $ARGUMENTS contains target path:
    ├─ IF $ARGUMENTS has path content (ignoring flags) → target_path = $ARGUMENTS, omit Q_R1
    └─ IF $ARGUMENTS is empty → include Q_R1 in prompt

3R. CHECK if $ARGUMENTS contains --type flag:
    ├─ IF --type flag present → readme_type = [parsed value], omit Q_R2
    └─ IF no --type flag → include Q_R2 in prompt

── INSTALL BRANCH (operation = "install") ────────────────────────────

2I. CHECK if $ARGUMENTS contains a project name:
    ├─ IF $ARGUMENTS has content (ignoring flags/suffixes) → project_name = $ARGUMENTS, omit Q_I1
    └─ IF $ARGUMENTS is empty → include Q_I1 in prompt

3I. CHECK for --platforms flag in $ARGUMENTS:
    ├─ IF --platforms flag present with valid values → platforms = [values], omit Q_I2
    └─ IF no --platforms flag → include Q_I2 in prompt

4I. Check for existing installation guides:
    $ ls -la ./install_guides/*.md ./INSTALL.md ./docs/INSTALL.md 2>/dev/null
    - Will inform conflict handling in Q_I3 if files exist

──────────────────────────────────────────────────────────────────────

5. ASK user with SINGLE CONSOLIDATED prompt (include only applicable questions):

   ┌────────────────────────────────────────────────────────────────┐
   │ **Before proceeding, please answer:**                          │
   │                                                                │
   │ **Q_OP. Operation** (if not detected from args):               │
   │    A) README - Create/update folder documentation              │
   │    B) Install Guide - Create/update installation guide         │
   │                                                                │
   │ ── README Questions (if operation = readme) ──                 │
   │                                                                │
   │ **Q_R1. Target Path** (if not provided in command):            │
   │    Where should the README be created?                         │
   │    (e.g., .opencode/skills/my-skill, src/components, ./)        │
   │                                                                │
   │ **Q_R2. README Type** (if not provided via --type):            │
   │    A) Project - Main project documentation at root level       │
   │    B) Component - Documentation for a module/package/skill     │
   │    C) Feature - Documentation for a specific feature/system     │
   │    D) Skill - Documentation for an OpenCode skill              │
   │                                                                │
   │ ── Install Guide Questions (if operation = install) ──         │
   │                                                                │
   │ **Q_I1. Project Name** (if not provided in command):           │
   │    What project/tool needs an installation guide?              │
   │                                                                │
   │ **Q_I2. Target Platforms** (required):                         │
   │    A) All platforms (macOS, Linux, Windows, Docker)            │
   │    B) macOS only                                               │
   │    C) Linux only                                               │
   │    D) Custom (specify: macos,linux,windows,docker)             │
   │                                                                │
   │ **Q_I3. Output Location** (required):                          │
   │    A) install_guides/[Type] - [Name].md (Recommended)          │
   │    B) INSTALL.md at project root                               │
   │    C) docs/INSTALL.md                                          │
   │    D) Custom path (specify)                                    │
   │    [If existing file found: E) Overwrite | F) Merge | G) Cancel]│
   │                                                                │
   │ ── Common ──                                                   │
   │                                                                │
   │ **Q_MODE. Execution Mode** (if no :auto/:confirm suffix):        │
   │    A) Interactive - Confirm at each step (Recommended)          │
   │    B) Autonomous - Execute without prompts                     │
   │                                                                │
   │ Reply with answers for applicable questions only.              │
   └────────────────────────────────────────────────────────────────┘

6. WAIT for user response (DO NOT PROCEED)

7. Parse response and store ALL results:
   - operation = [readme/install]

   IF readme:
     - target_path = [from Q_R1 or $ARGUMENTS]
     - readme_type = [A/B/C/D from Q_R2 or --type flag → project/component/feature/skill]

   IF install:
     - project_name = [from Q_I1 or $ARGUMENTS]
     - platforms = [from Q_I2 or --platforms flag: all/macos/linux/windows/docker]
     - output_path = [derived from Q_I3 choice]
     - existing_file = [yes/no based on check]
     - conflict_resolution = [if existing: overwrite/merge/cancel]

   - execution_mode = [AUTONOMOUS/INTERACTIVE from suffix or Q_MODE]

8. VERIFY target and check for existing output:
   ├─ README operation:
   │   ├─ Check if target path exists: $ ls -la [target_path] 2>/dev/null
   │   ├─ IF target path does not exist: Create directory: mkdir -p [target_path]
   │   ├─ Check for existing README: $ ls -la [target_path]/README.md 2>/dev/null
   │   └─ IF README.md already exists:
   │       ├─ ASK user (ONLY conditional follow-up):
   │       │   ┌────────────────────────────────────────────────────────────┐
   │       │   │ **README.md already exists at [path].**                    │
   │       │   │                                                            │
   │       │   │ **How should we proceed?**                                 │
   │       │   │    A) Overwrite existing file                               │
   │       │   │    B) Create backup and overwrite                          │
   │       │   │    C) Merge/update existing content                        │
   │       │   │    D) Cancel                                               │
   │       │   └────────────────────────────────────────────────────────────┘
   │       ├─ WAIT for user response
   │       └─ Process based on choice (D = RETURN STATUS=CANCELLED)
   │
   └─ Install operation:
       └─ IF output location has conflict AND conflict_resolution not set:
           └─ Handle inline based on Q_I3 response (E/F/G options)

9. SET STATUS: ✅ PASSED

**STOP HERE** - Wait for user to answer ALL applicable questions before continuing.

⛔ HARD STOP: DO NOT proceed until user explicitly answers
⛔ NEVER auto-create directories without user confirmation
⛔ NEVER auto-select execution mode without suffix or explicit choice
⛔ NEVER split these questions into multiple prompts
⛔ NEVER infer target path or project name from context
⛔ NEVER assume platforms without confirmation
```

**Phase Output:**
- `create_agent_verified = ________________`
- `operation = ________________`
- `target_path = ________________` (readme only)
- `readme_type = ________________` (readme only)
- `project_name = ________________` (install only)
- `platforms = ________________` (install only)
- `output_path = ________________` (install only)
- `existing_file = ________________` (install only)
- `execution_mode = ________________`
- `existing_file_action = ________________` (if applicable)

---

## PHASE STATUS VERIFICATION (BLOCKING)

**Before continuing to the workflow, verify ALL required values are set:**

| FIELD                  | REQUIRED       | YOUR VALUE | SOURCE                |
| ---------------------- | -------------- | ---------- | --------------------- |
| create_agent_verified   | ✅ Yes          | ______     | Automatic check       |
| operation              | ✅ Yes          | ______     | Detection or Q_OP     |
| target_path            | ○ readme only  | ______     | Q_R1 or $ARGUMENTS    |
| readme_type            | ○ readme only  | ______     | Q_R2 or --type flag   |
| project_name           | ○ install only | ______     | Q_I1 or $ARGUMENTS    |
| platforms              | ○ install only | ______     | Q_I2 or --platforms   |
| output_path            | ○ install only | ______     | Derived from Q_I3     |
| execution_mode         | ✅ Yes          | ______     | Suffix or Q_MODE      |
| existing_file_action   | ○ Conditional  | ______     | If file exists        |

```
VERIFICATION CHECK:
├─ ALL required fields (for detected operation) have values?
│   ├─ YES → Proceed to "1. INSTRUCTIONS" section below
│   └─ NO  → Re-prompt for missing values only
```


exec
/bin/zsh -lc "rg -n \"load|YAML|\\.yaml|Mode route|:auto\" .opencode/commands/create/sk-skill.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
exec
/bin/zsh -lc "rg -n \"load|YAML|\\.yaml|Mode route|:auto\" .opencode/commands/create/agent.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
2:description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
3:argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
9:> This command runs a structured YAML workflow. Do NOT dispatch agents from this document.
14:> 3. Determine execution mode from user input (`:auto` or `:confirm`)
15:> 4. Load the corresponding YAML file from `assets/`:
16:>    - Auto mode → `create_agent_auto.yaml`
17:>    - Confirm mode → `create_agent_confirm.yaml`
18:> 5. Execute the YAML workflow step by step
21:> All content after the Setup Phase is reference context for the YAML workflow.
37:│   ├─ You load templates BEFORE creating content
52:    │   │   • Template-first workflow (loads before creating)          │
84:   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q2)
102:4. Determine if prior-session context loading is needed:
121:   │ **Q2. Execution Mode** (if no :auto/:confirm suffix):            │
167:- `memory_loaded = ________________`
183:| memory_loaded        | ○ Conditional | ______     | Q3 (if existing spec)  |
196:After Phase 0 and Setup Phase pass, load and execute the appropriate YAML workflow:
198:- **AUTONOMOUS (`:auto`)**: `.opencode/commands/create/assets/create_agent_auto.yaml`
199:- **INTERACTIVE (`:confirm`)**: `.opencode/commands/create/assets/create_agent_confirm.yaml`
201:The YAML contains: detailed step activities, checkpoints, confidence scoring, error recovery, validation gates, and completion reporting.
205:> **📚 REFERENCE CONTEXT** — The sections below provide reference information for the YAML workflow. They are NOT direct execution instructions.
212:- **ALL** agent dispatching is handled by the YAML workflow steps — this document is setup + reference only
213:- **FIRST ACTION** is always: run Phase 0, then Setup Phase, then load the YAML file
233:action: Guide agent creation from understanding through validation with YAML frontmatter verification
244:Create a complete, production-ready OpenCode agent following the 6-step agent creation process from the `sk-doc` skill. The workflow ensures understanding before implementation, validates YAML frontmatter syntax, and produces agents that integrate seamlessly with OpenCode's agent system.
425:/create:agent quality-gate --mode subagent :auto
441:**YAML Parse Error:**
442:- **Cause:** Invalid YAML syntax in frontmatter
479:- Claimed "complete" without YAML validation

 succeeded in 0ms:
2:description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
3:argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
16:> 4. Route by mode (`:auto` or `:confirm`)
18:> 6. Load and execute the selected unified YAML workflow
85:   - /create:sk-skill <skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]
88:   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
113:   - Ask memory loading only when existing spec is selected and memory files exist
148:       B) Autonomous (:auto)
182:Verify all required values are set before YAML execution:
191:| execution_mode | Yes | `:auto` or `:confirm` |
231:- `:auto`
245:| 4 | Mode Routing | Route to auto or confirm unified YAML | target YAML path |
264:- `:auto` -> load `create_sk_skill_auto.yaml`.
265:- `:confirm` -> load `create_sk_skill_confirm.yaml`.
270:### Step 6: Execute YAML + Report Completion
278:Mode route targets:
279:- `:auto` -> `.opencode/commands/create/assets/create_sk_skill_auto.yaml`
280:- `:confirm` -> `.opencode/commands/create/assets/create_sk_skill_confirm.yaml`
285:- `:auto`: no approval checkpoints, stops for hard failures.
295:   |- Parse mode suffix (:auto | :confirm)
312:   '- Route execution to selected mode YAML and operation branch
361:- `SMART ROUTING` = resource/file loading guidance only
421:/create:sk-skill pdf-editor full-update :auto
431:/create:sk-skill sk-doc asset-only template :auto
436:/create:sk-skill sk-doc reference-only debugging --chained :auto
446:- `/create:skill <skill-name> [:auto|:confirm]`
447:  -> `/create:sk-skill <skill-name> full-create [:auto|:confirm]`
449:- `/create:skill_reference <skill-name> <reference-type> [--chained] [:auto|:confirm]`
450:  -> `/create:sk-skill <skill-name> reference-only <reference-type> [--chained] [:auto|:confirm]`
452:- `/create:skill_asset <skill-name> <asset-type> [--chained] [:auto|:confirm]`
453:  -> `/create:sk-skill <skill-name> asset-only <asset-type> [--chained] [:auto|:confirm]`
456:- `.opencode/commands/create/assets/create_sk_skill_auto.yaml`
457:- `.opencode/commands/create/assets/create_sk_skill_confirm.yaml`
478:Mode: [:auto|:confirm]

exec
/bin/zsh -lc "rg -n \"load|YAML|\\.yaml|Mode route|:auto\" .opencode/commands/create/changelog.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
2:description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
3:argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
9:> This command runs a structured YAML workflow. Do NOT dispatch agents from this document.
15:> 3. Determine execution mode from user input (`:auto` or `:confirm`)
16:> 4. Load the corresponding YAML file from `assets/`:
17:>    - Auto mode → `create_changelog_auto.yaml`
18:>    - Confirm mode → `create_changelog_confirm.yaml`
19:> 5. Execute the YAML workflow step by step
22:> All content after the Setup Phase is reference context for the YAML workflow.
38:│   ├─ You load templates BEFORE creating content
53:    │   │   • Template-first workflow (loads before creating)          │
86:   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q2)
135:   │ **Q2. Execution Mode** (if no :auto/:confirm suffix):                │
204:After Phase 0 and Setup Phase pass, load and execute the appropriate YAML workflow:
206:- **AUTONOMOUS (`:auto`)**: `.opencode/commands/create/assets/create_changelog_auto.yaml`
207:- **INTERACTIVE (`:confirm`)**: `.opencode/commands/create/assets/create_changelog_confirm.yaml`
209:The YAML contains: detailed step activities, component mapping, version calculation, content generation, validation, and completion reporting.
213:> **📚 REFERENCE CONTEXT** — The sections below provide reference information for the YAML workflow. They are NOT direct execution instructions.
220:- **ALL** agent dispatching is handled by the YAML workflow steps — this document is setup + reference only
221:- **FIRST ACTION** is always: run Phase 0, then Setup Phase, then load the YAML file
288:The YAML workflow (Step 2) scans this directory to build the component mapping. Folder names follow the `NN--component-name` convention where `NN` is a zero-padded index.
303:/create:changelog .opencode/specs/01--system-spec-kit/042-memory-upgrade :auto
319:/create:changelog :auto
335:/create:changelog .opencode/specs/01.../042... --release :auto

exec
/bin/zsh -lc "rg -n \"load|YAML|\\.yaml|Mode route|:auto\" .opencode/commands/create/feature-catalog.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
2:description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
3:argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
16:> 4. Route by mode (`:auto` or `:confirm`)
18:> 6. Load and execute the selected YAML workflow
68:   - /create:feature-catalog <skill-name> [create|update] [--path <dir>] [:auto|:confirm]
71:   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
87:   - Ask memory loading only when existing spec is selected and memory files exist
118:       B) Autonomous (:auto)
154:Verify all required values are set before YAML execution:
164:| execution_mode | Yes | `:auto` or `:confirm` |
201:- `:auto`
211:| 4 | Mode Routing | Route to auto or confirm YAML | target YAML path |
230:- `:auto` -> load `create_feature_catalog_auto.yaml`.
231:- `:confirm` -> load `create_feature_catalog_confirm.yaml`.
236:### Step 6: Execute YAML + Report Completion
244:Mode route targets:
245:- `:auto` -> `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`
246:- `:confirm` -> `.opencode/commands/create/assets/create_feature_catalog_confirm.yaml`
251:- `:auto`: no approval checkpoints, stops for hard failures.
312:The workflow must load both the standards reference and the templates:
376:/create:feature-catalog system-spec-kit update :auto
403:Mode: [:auto|:confirm]
413:- Memory loaded: [yes/no]

exec
/bin/zsh -lc "rg -n \"load|YAML|\\.yaml|Mode route|:auto\" .opencode/commands/create/testing-playbook.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
2:description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
3:argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
16:> 4. Route by mode (`:auto` or `:confirm`)
18:> 6. Load and execute the selected YAML workflow
68:   - /create:testing-playbook <skill-name> [create|update] [--path <dir>] [:auto|:confirm]
71:   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
87:   - Ask prior-session context loading only when existing spec is selected and the spec docs include recent `_memory.continuity` entries or a `handover.md`
118:       B) Autonomous (:auto)
154:Verify all required values are set before YAML execution:
164:| execution_mode | Yes | `:auto` or `:confirm` |
201:- `:auto`
211:| 4 | Mode Routing | Route to auto or confirm YAML | target YAML path |
230:- `:auto` -> load `create_testing_playbook_auto.yaml`.
231:- `:confirm` -> load `create_testing_playbook_confirm.yaml`.
236:### Step 6: Execute YAML + Report Completion
244:Mode route targets:
245:- `:auto` -> `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`
246:- `:confirm` -> `.opencode/commands/create/assets/create_testing_playbook_confirm.yaml`
251:- `:auto`: no approval checkpoints, stops for hard failures.
323:The workflow must load both the standards reference and the templates:
388:/create:testing-playbook system-spec-kit update :auto
415:Mode: [:auto|:confirm]
426:- Memory loaded: [yes/no]

exec
/bin/zsh -lc "rg -n \"load|YAML|\\.yaml|Mode route|:auto\" .opencode/commands/create/folder_readme.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
2:description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
3:argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
9:> This command runs a structured YAML workflow. Do NOT dispatch agents from this document.
14:> 3. Determine execution mode from user input (`:auto` or `:confirm`)
15:> 4. Load the corresponding YAML file from `assets/`:
16:>    - Auto mode → `create_folder_readme_auto.yaml`
17:>    - Confirm mode → `create_folder_readme_confirm.yaml`
18:>    (Both YAMLs contain readme AND install operations — skip to the detected operation section)
19:> 5. Execute the YAML workflow step by step
22:> All content after the Setup Phase is reference context for the YAML workflow.
38:│   ├─ You load templates BEFORE creating content
53:    │   │   • Template-first workflow (loads before creating)          │
93:   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q_MODE)
164:   │ **Q_MODE. Execution Mode** (if no :auto/:confirm suffix):        │
265:After Phase 0 and Setup Phase pass, load and execute the appropriate YAML workflow:
267:| Mode | YAML Workflow |
269:| `:auto` | `.opencode/commands/create/assets/create_folder_readme_auto.yaml` |
270:| `:confirm` | `.opencode/commands/create/assets/create_folder_readme_confirm.yaml` |
272:Each YAML contains both **README** and **Install Guide** operation sections. Skip to the section matching the detected operation from the Setup Phase.
274:The YAML contains: detailed step activities, checkpoints, confidence scoring, error recovery, validation gates, resource routing, and completion reporting.
278:> **📚 REFERENCE CONTEXT** — The sections below provide reference information for the YAML workflow. They are NOT direct execution instructions.
285:- **ALL** agent dispatching is handled by the YAML workflow steps — this document is setup + reference only
286:- **FIRST ACTION** is always: run Phase 0, then Setup Phase, then load the YAML file
372:**AUTONOMOUS (:auto):**
471:## 4. REFERENCE (See YAML for Details)
475:| Section           | Location in YAML      |
488:| Section             | Location in YAML                |
527:/create:folder_readme ./ --type project :auto
553:/create:folder_readme install semantic-search-mcp :auto

exec
/bin/zsh -lc "sed -n '1,260p' .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
exec
/bin/zsh -lc "test -f .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt && sed -n '1,220p' .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt || true" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
 succeeded in 0ms:
---
title: "Tasks: auto-mode-contract generalization"
description: "11-command migration via 3 codex groups + 12 live verifications + synthesis."
trigger_phrases:
  - "auto mode contract generalization"
importance_tier: "important"
contextType: "implementation"
_memory:
  continuity:
    packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
    last_updated_at: "2026-05-11T12:35:00Z"
    last_updated_by: "claude-opus-4-7"
    recent_action: "Group 1 spec_kit commands migrated"
    next_safe_action: "Dispatch group 2 create commands"
    blockers: []
    key_files: []
    session_dedup:
      fingerprint: "sha256:0000000000000000000000000000000000000000000000000000000000000000"
      session_id: "103-002-auto-mode-contract-generalization"
      parent_session_id: null
    completion_pct: 0
    open_questions: []
    answered_questions: []
---
# Tasks: auto-mode-contract generalization

<!-- SPECKIT_LEVEL: 2 -->
<!-- SPECKIT_TEMPLATE_SOURCE: tasks-core | v2.2 -->

---

<!-- ANCHOR:notation -->
## Task Notation

| Prefix | Meaning |
|--------|---------|
| `[ ]` | Pending |
| `[x]` | Completed |
| `[P]` | Parallelizable |
| `[B]` | Blocked |

**Task Format**: `T### [P?] Description (file path)`
<!-- /ANCHOR:notation -->

---

<!-- ANCHOR:phase-1 -->
## Phase 1: Setup

- [x] T001 Shared `auto_mode_contract.md` authored (Stage B).
- [x] T002 `/spec_kit:deep-review.md` §0 refactored to cite shared contract (Stage B).
- [ ] T003 Confirm 001's dry-run traces still conceptually pass after refactor (read-back).
<!-- /ANCHOR:phase-1 -->

---

<!-- ANCHOR:phase-2 -->
## Phase 2: Implementation

- [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
- [ ] T012 Codex group dispatch 3 (improve/1): agent.
- [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
<!-- /ANCHOR:phase-2 -->

---

<!-- ANCHOR:phase-3 -->
## Phase 3: Verification

- [ ] T020 Live `:auto` dispatch — `/spec_kit:deep-review` (re-verify post-refactor).
- [ ] T021 Live `:auto` dispatch — `/spec_kit:deep-research`.
- [ ] T022 Live `:auto` dispatch — `/spec_kit:resume`.
- [ ] T023 Live `:auto` dispatch — `/spec_kit:implement`.
- [ ] T024 Live `:auto` dispatch — `/spec_kit:complete`.
- [ ] T025 Live `:auto` dispatch — `/spec_kit:plan`.
- [ ] T026 Live `:auto` dispatch — `/create:changelog`.
- [ ] T027 Live `:auto` dispatch — `/create:sk-skill`.
- [ ] T028 Live `:auto` dispatch — `/create:agent`.
- [ ] T029 Live `:auto` dispatch — `/create:feature-catalog`.
- [ ] T030 Live `:auto` dispatch — `/create:testing-playbook`.
- [ ] T031 Live `:auto` dispatch — `/create:folder_readme`.
- [ ] T032 Live `:auto` dispatch — `/improve:agent`.
- [ ] T033 Populate `implementation-summary.md` with 12-row results matrix + per-PARTIAL/FAIL finding.
- [ ] T034 strict-validate 103 phase parent + 001 + 002 — all exit 0.
- [ ] T035 Update `_memory.continuity` blocks to `completion_pct: 100`.
<!-- /ANCHOR:phase-3 -->

---

<!-- ANCHOR:completion -->
## Completion Criteria

- [ ] All tasks marked `[x]`
- [ ] No `[B]` blocked tasks remaining
- [ ] 12 evidence files exist with verdict footers
- [ ] ≥10/12 PASS verdicts
- [ ] strict-validate 103/001/002 all exit 0
<!-- /ANCHOR:completion -->

---

<!-- ANCHOR:cross-refs -->
## Cross-References

- **Specification**: See `spec.md`
- **Plan**: See `plan.md`
- **Checklist**: See `checklist.md`
- **Shared contract**: `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`
- **Phase 1 prototype**: `../001-deep-review-three-tier-setup/`
- **Memory**: `feedback_codex_spawnagent_allowlist.md`, `feedback_gate3_no_tmp_exemption.md`, `feedback_auto_mode_ask_only_when_ambiguous.md`, `feedback_cli_dispatch_unreliability.md`
<!-- /ANCHOR:cross-refs -->

exec
/bin/zsh -lc "sed -n '50,170p' .opencode/commands/spec_kit/plan.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/plan-config.json` (shape: `featureDescription`, `specPath`, `executionMode: "auto"`, `dispatchMode`, `memoryChoice`, `researchIntent`, `phaseDecomposition`, `phaseCount`, `phaseNames`, `intakeOnly`, `intake.*`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/spec_kit/assets/spec_kit_plan_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_folder`, `research_intent`. **Ordering rule**: none needed. Missing `feature_description` is absence, not ambiguity — go to Tier 3.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/spec_kit:plan:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

```yaml
PRE-BOUND SETUP ANSWERS:
  feature_description: Add passwordless login  # string
  spec_folder: .opencode/specs/103-example/001-passwordless-login/  # existing | new | update-related | skip | phase-folder | explicit path
  execution_mode: AUTONOMOUS  # from :auto suffix
  dispatch_mode: single_agent  # single_agent | multi_small | multi_large
  memory_choice: skip  # latest | recent3 | skip | n/a
  research_intent: add_feature  # add_feature | fix_bug | refactor | understand
  phase_decomposition: false  # boolean, true when :with-phases present
  phase_count: 3  # positive integer
  phase_names: ""  # optional comma-separated names
  phase_folder: ""  # optional explicit phase child path
  intake_only: false  # boolean, true when --intake-only present
  selected_level: ""  # optional intake level: 1 | 2 | 3 | 3+
  start_state: ""  # optional intake folder state
  repair_mode: ""  # optional intake repair mode
  record_relationships: false  # boolean
  depends_on: ""  # optional comma-separated packet ids
  related_to: ""  # optional comma-separated packet ids
  supersedes: ""  # optional comma-separated packet ids
```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `feature_description` | Y | `$ARGUMENTS` positional feature description, or marker `feature_description` | none | N |
| `spec_folder` | Y | flag `--spec-folder`, flag `--phase-folder`, marker `spec_folder` / `phase_folder`, or targeted choice among existing/new/update-related/skip/phase folder | none | Y, when feature is present but folder choice is ambiguous |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
| `dispatch_mode` | Y | marker `dispatch_mode` or default recommended option | `single_agent` | N |
| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
| `research_intent` | Y | marker `research_intent` or targeted classification question | none | Y |
| `phase_decomposition` | Y | suffix `:with-phases`, marker `phase_decomposition`, or default | `false` | N |
| `phase_count` | N | flag `--phases`, marker `phase_count`, or default | `3` | N |
| `phase_names` | N | flag `--phase-names`, marker `phase_names`, or auto-generate | none | N |
| `phase_folder` | N | flag `--phase-folder`, marker `phase_folder`, or default | none | N |
| `intake_only` | N | flag `--intake-only`, marker `intake_only`, or default | `false` | N |
| `selected_level` | N | flag `--level`, marker `selected_level`, or inline intake contract when required | none | N |
| `start_state` | N | flag `--start-state`, marker `start_state`, folder-state classification, or inline intake contract when required | auto-detect | N |
| `repair_mode` | N | flag `--repair-mode`, marker `repair_mode`, or inline intake contract when required | none | N |
| `record_relationships` | N | flag `--record-relationships`, marker `record_relationships`, or inline intake contract when required | `false` | N |
| `depends_on` | N | flag `--depends-on`, marker `depends_on`, or inline intake relationship capture | none | N |
| `related_to` | N | flag `--related-to`, marker `related_to`, or inline intake relationship capture | none | N |
| `supersedes` | N | flag `--supersedes`, marker `supersedes`, or inline intake relationship capture | none | N |

**STATUS: BLOCKED**

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

1. CHECK mode suffix:
   ├─ ":auto"    → execution_mode = "AUTONOMOUS" (omit Q2)
   ├─ ":confirm" → execution_mode = "INTERACTIVE" (omit Q2)
   └─ No suffix  → execution_mode = "ASK" (include Q2)

1a. CHECK :with-phases flag:
   ├─ ":with-phases" present → phase_decomposition = TRUE (omit Q6)
   │   Parse additional flags: --phases N (default 3), --phase-names "a,b,c" (optional)
   │   Include Q7 (Phase Count) and Q8 (Phase Names) if not provided via flags
   └─ Not present → phase_decomposition = "ASK" (include Q6)

1a-b. CHECK --intake-only flag:
   ├─ present → intake_only = TRUE; workflow halts after Emit phase, does not proceed to planning Steps 2–8
   └─ absent → intake_only = FALSE

1a-c. PARSE intake contract flags (see .opencode/skills/system-spec-kit/references/intake-contract.md §1):
   ├─ --spec-folder=PATH → spec_path = PATH (bypass auto-discovery)
   ├─ --level=N → selected_level = N
   ├─ --start-state=STATE → requested_start_state = STATE
   ├─ --repair-mode=MODE → repair_mode = MODE
   ├─ --record-relationships=yes|no → collect_relationships = [true|false]
   ├─ --depends-on=PACKET_ID[,...] → seed manual_relationships.depends_on[]
   ├─ --related-to=PACKET_ID[,...] → seed manual_relationships.related_to[]
   └─ --supersedes=PACKET_ID[,...] → seed manual_relationships.supersedes[]

1b. CHECK --phase-folder flag:
   ├─ --phase-folder=<path> provided → auto-resolve spec_path to that child folder path
   │   Set spec_choice = "E", spec_path = <path>, omit Q1
   │   Validate path matches pattern: specs/[###]-*/[0-9][0-9][0-9]-*/
   │   Show parent context: "Phase folder: <path> (parent: <parent-folder>)"
   └─ Not provided → continue normally

2. CHECK $ARGUMENTS for feature description:
   ├─ Has content (ignoring :auto/:confirm) → feature_description = $ARGUMENTS, omit Q0
   └─ Empty → include Q0

3. Search for related spec folders:
   $ ls -d specs/*/ 2>/dev/null | tail -10

4. Search for prior work (background):
   - memory_context({ input: feature_description OR "planning", mode: "focused", includeContent: true })
   > Gate 1 trigger matching handled at agent level (AGENTS.md).
   > Gate 3 spec-folder trigger classification is typed: `.opencode/skills/system-spec-kit/shared/gate-3-classifier.ts` (`classifyPrompt()`). Invocations of `/spec_kit:plan` are already inside a write flow, so Gate 3 is pre-answered by command dispatch — no extra inference needed here.
   - Store: prior_work_found = [yes/no], prior_work_count = [N]

5. Prior-work loading question needed ONLY if user selects A or C for spec folder AND prior continuity records exist for this spec.

5a. CHECK intake contract requirement when `spec_path` is explicit or can be derived from Q1 / `--phase-folder`:
   ├─ Inspect `{spec_path}` for `spec.md`, `description.json`, `graph-metadata.json`, and tracked placeholder markers per intake-contract.md §3 Folder State Classification
   ├─ Normalize `folder_state` to one of: `empty-folder` | `partial-folder` | `repair-mode` | `placeholder-upgrade` | `populated-folder`
   ├─ `folder_state == populated-folder` AND `intake_only == FALSE` → `intake_required = FALSE` and preserve the current prompt unchanged
   ├─ `folder_state == populated-folder` AND `intake_only == TRUE` → no-op exit with informational message
   └─ Otherwise → `intake_required = TRUE`, inherit the parent `execution_mode`, and run the intake contract inline before Step 1 continues (or halt after Emit phase if `intake_only == TRUE`)

6. ASK with SINGLE prompt (include only applicable questions):

   Q0. Feature Description (if not in command): What feature to plan?

exec
/bin/zsh -lc 'rg -n "config|setup|spec_path|resolved|create_.*_config" .opencode/commands/create/assets/create_{sk_skill,agent,changelog,feature_catalog,testing_playbook,folder_readme}_auto.yaml .opencode/commands/create/assets/create_*_auto.yaml' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
.opencode/commands/create/assets/create_sk_skill_auto.yaml:67:    action: "Return to setup gate with explicit missing fields"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:92:    stop_action: "STOP and return to setup"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:110:  - spec_path
.opencode/commands/create/assets/create_sk_skill_auto.yaml:228:      fail_action: "STOP and return to setup"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:384:    condition: "spec_path exists and spec_choice is not D"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:390:      command: "node .opencode/skills/system-spec-kit/scripts/dist/memory/generate-context.js [spec_path]"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:393:      preferred: "memory_index_scan({ specFolder: [spec_path] })"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:416:      - Spec path: [spec_path or none]
.opencode/commands/create/assets/create_sk_skill_auto.yaml:423:  setup_violation:
.opencode/commands/create/assets/create_sk_skill_auto.yaml:428:    - "Return to setup"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:491:  - "Split setup prompts across turns"
.opencode/commands/create/assets/create_agent_auto.yaml:10:action: Guide agent creation from understanding through validation with YAML frontmatter verification and permission configuration
.opencode/commands/create/assets/create_agent_auto.yaml:34:  permission_configuration: explicit_approval_required
.opencode/commands/create/assets/create_agent_auto.yaml:40:  principle: "Understand purpose before defining configuration"
.opencode/commands/create/assets/create_agent_auto.yaml:114:  spec_path: |
.opencode/commands/create/assets/create_agent_auto.yaml:139:    agent_path_global: "~/.config/opencode/agent/"
.opencode/commands/create/assets/create_agent_auto.yaml:141:    spec_path_from_phase: "FROM USER CHOICE IN SETUP PHASE"
.opencode/commands/create/assets/create_agent_auto.yaml:148:    - spec_path
.opencode/commands/create/assets/create_agent_auto.yaml:189:    purpose: "Verify understanding complete before configuration planning"
.opencode/commands/create/assets/create_agent_auto.yaml:202:      verification: "All configuration decisions documented"
.opencode/commands/create/assets/create_agent_auto.yaml:217:      fail_action: "STOP and return to the command setup phase"
.opencode/commands/create/assets/create_agent_auto.yaml:219:      description: "Required setup fields must be present before generation"
.opencode/commands/create/assets/create_agent_auto.yaml:254:    - Confirm spec_path from UNIFIED SETUP PHASE (Q1 choice A/B/C/D)
.opencode/commands/create/assets/create_agent_auto.yaml:291:  step_1c_spec_folder_setup:
.opencode/commands/create/assets/create_agent_auto.yaml:300:      - Use selected spec_path
.opencode/commands/create/assets/create_agent_auto.yaml:350:  phase_gate_understanding_to_configuration:
.opencode/commands/create/assets/create_agent_auto.yaml:423:    - permissions_configured
.opencode/commands/create/assets/create_agent_auto.yaml:427:    validation: configuration_planned
.opencode/commands/create/assets/create_agent_auto.yaml:536:    - "Validation checks: frontmatter validity, permission config, behavioral rules"
.opencode/commands/create/assets/create_agent_auto.yaml:548:    condition: "spec_path is not null"
.opencode/commands/create/assets/create_agent_auto.yaml:552:    - Record configuration rationale
.opencode/commands/create/assets/create_agent_auto.yaml:605:          - Permission configuration rationale...
.opencode/commands/create/assets/create_folder_readme_auto.yaml:37:# The setup phase in folder_readme.md determines which operation
.opencode/commands/create/assets/create_folder_readme_auto.yaml:159:  - spec_path
.opencode/commands/create/assets/create_folder_readme_auto.yaml:226:      fail_action: "STOP and return to the command setup phase"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:384:    - "How do I configure it?"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:413:    - question: "How do I configure?"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:428:    - "Details (deep configuration)"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:468:      project: "Entire project - overview, installation, configuration, usage"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:470:      feature: "Specific feature - what it does, how it works, configuration"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:483:    - Check for configuration options
.opencode/commands/create/assets/create_folder_readme_auto.yaml:487:      - "Main entry points and configuration files"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:542:        configuration: "⚙️"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:558:    - Create tables for structured data (features, commands, config)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:567:      tables: "For structured data (features, commands, config)"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:827:      config: "~/.config/"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:835:      config: "~/.config/"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:843:      config: "%APPDATA%"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:851:      config: "/app/config/"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:876:  purpose: "Platform-specific config"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:942:    - Document configuration needs (API keys, environment variables)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:967:    - configuration_requirements
.opencode/commands/create/assets/create_folder_readme_auto.yaml:974:    - Define virtual environment setup (if applicable)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:976:    - Define configuration steps (.env, config files)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:977:    - Define AI platform configuration (Claude Code, OpenCode, etc.)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:984:    - "Configure environment (.env, config files)"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1011:    - Add platform-specific configuration (Claude Code, OpenCode)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1040:      - "Expected setup time is realistic"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1102:      - Platform configurations documented
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1158:      rationale: "Installation guides capture valuable setup knowledge for future reference"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1200:    **Expected setup time:** [X-Y] minutes
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1205:    A comprehensive guide to installing, configuring, and using [project description].
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1220:    4. [CONFIGURATION](#4--configuration)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1646:  - include_platform_configurations
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:88:    stop_action: "STOP and correct setup before generation"
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:100:    - spec_path
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:181:      fail_action: "STOP and return to setup"
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:183:      description: "All required setup fields must be present"
.opencode/commands/create/assets/create_agent_auto.yaml:10:action: Guide agent creation from understanding through validation with YAML frontmatter verification and permission configuration
.opencode/commands/create/assets/create_agent_auto.yaml:34:  permission_configuration: explicit_approval_required
.opencode/commands/create/assets/create_agent_auto.yaml:40:  principle: "Understand purpose before defining configuration"
.opencode/commands/create/assets/create_agent_auto.yaml:114:  spec_path: |
.opencode/commands/create/assets/create_agent_auto.yaml:139:    agent_path_global: "~/.config/opencode/agent/"
.opencode/commands/create/assets/create_agent_auto.yaml:141:    spec_path_from_phase: "FROM USER CHOICE IN SETUP PHASE"
.opencode/commands/create/assets/create_agent_auto.yaml:148:    - spec_path
.opencode/commands/create/assets/create_agent_auto.yaml:189:    purpose: "Verify understanding complete before configuration planning"
.opencode/commands/create/assets/create_agent_auto.yaml:202:      verification: "All configuration decisions documented"
.opencode/commands/create/assets/create_agent_auto.yaml:217:      fail_action: "STOP and return to the command setup phase"
.opencode/commands/create/assets/create_agent_auto.yaml:219:      description: "Required setup fields must be present before generation"
.opencode/commands/create/assets/create_agent_auto.yaml:254:    - Confirm spec_path from UNIFIED SETUP PHASE (Q1 choice A/B/C/D)
.opencode/commands/create/assets/create_agent_auto.yaml:291:  step_1c_spec_folder_setup:
.opencode/commands/create/assets/create_agent_auto.yaml:300:      - Use selected spec_path
.opencode/commands/create/assets/create_agent_auto.yaml:350:  phase_gate_understanding_to_configuration:
.opencode/commands/create/assets/create_agent_auto.yaml:423:    - permissions_configured
.opencode/commands/create/assets/create_agent_auto.yaml:427:    validation: configuration_planned
.opencode/commands/create/assets/create_agent_auto.yaml:536:    - "Validation checks: frontmatter validity, permission config, behavioral rules"
.opencode/commands/create/assets/create_agent_auto.yaml:548:    condition: "spec_path is not null"
.opencode/commands/create/assets/create_agent_auto.yaml:552:    - Record configuration rationale
.opencode/commands/create/assets/create_agent_auto.yaml:605:          - Permission configuration rationale...
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:88:    stop_action: "STOP and correct setup before generation"
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:100:    - spec_path
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:181:      fail_action: "STOP and return to setup"
.opencode/commands/create/assets/create_feature_catalog_auto.yaml:183:      description: "All required setup fields must be present"
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:88:    stop_action: "STOP and correct setup before generation"
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:100:    - spec_path
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:187:      fail_action: "STOP and return to setup"
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:189:      description: "All required setup fields must be present"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:37:# The setup phase in folder_readme.md determines which operation
.opencode/commands/create/assets/create_folder_readme_auto.yaml:159:  - spec_path
.opencode/commands/create/assets/create_folder_readme_auto.yaml:226:      fail_action: "STOP and return to the command setup phase"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:384:    - "How do I configure it?"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:413:    - question: "How do I configure?"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:428:    - "Details (deep configuration)"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:468:      project: "Entire project - overview, installation, configuration, usage"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:470:      feature: "Specific feature - what it does, how it works, configuration"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:483:    - Check for configuration options
.opencode/commands/create/assets/create_folder_readme_auto.yaml:487:      - "Main entry points and configuration files"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:542:        configuration: "⚙️"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:558:    - Create tables for structured data (features, commands, config)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:567:      tables: "For structured data (features, commands, config)"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:827:      config: "~/.config/"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:835:      config: "~/.config/"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:843:      config: "%APPDATA%"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:851:      config: "/app/config/"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:876:  purpose: "Platform-specific config"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:942:    - Document configuration needs (API keys, environment variables)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:967:    - configuration_requirements
.opencode/commands/create/assets/create_folder_readme_auto.yaml:974:    - Define virtual environment setup (if applicable)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:976:    - Define configuration steps (.env, config files)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:977:    - Define AI platform configuration (Claude Code, OpenCode, etc.)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:984:    - "Configure environment (.env, config files)"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1011:    - Add platform-specific configuration (Claude Code, OpenCode)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1040:      - "Expected setup time is realistic"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1102:      - Platform configurations documented
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1158:      rationale: "Installation guides capture valuable setup knowledge for future reference"
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1200:    **Expected setup time:** [X-Y] minutes
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1205:    A comprehensive guide to installing, configuring, and using [project description].
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1220:    4. [CONFIGURATION](#4--configuration)
.opencode/commands/create/assets/create_folder_readme_auto.yaml:1646:  - include_platform_configurations
.opencode/commands/create/assets/create_changelog_auto.yaml:94:      - "Component folder resolved?"
.opencode/commands/create/assets/create_changelog_auto.yaml:98:    stop_conditions: ["Any item unchecked", "Component unresolved"]
.opencode/commands/create/assets/create_changelog_auto.yaml:315:      verification: "Folder exists at .opencode/changelog/{resolved_folder}/"
.opencode/commands/create/assets/create_changelog_auto.yaml:330:      fail_action: "STOP and return to the command setup phase"
.opencode/commands/create/assets/create_changelog_auto.yaml:358:      purpose: "Write the changelog entry to the resolved component folder"
.opencode/commands/create/assets/create_changelog_auto.yaml:432:      - "Verify target folder exists: ls .opencode/changelog/{resolved_folder}/"
.opencode/commands/create/assets/create_changelog_auto.yaml:439:          STOP - Report: "Changelog folder not found: {resolved_folder}"
.opencode/commands/create/assets/create_changelog_auto.yaml:446:    validation: component_resolved
.opencode/commands/create/assets/create_changelog_auto.yaml:590:        IF spec_path exists (from Setup Phase or spec_folder source):
.opencode/commands/create/assets/create_changelog_auto.yaml:592:          Suggest: "/memory:save {spec_path}"
.opencode/commands/create/assets/create_changelog_auto.yaml:662:    Component: {primary_component} (if resolved)
.opencode/commands/create/assets/create_changelog_auto.yaml:94:      - "Component folder resolved?"
.opencode/commands/create/assets/create_changelog_auto.yaml:98:    stop_conditions: ["Any item unchecked", "Component unresolved"]
.opencode/commands/create/assets/create_changelog_auto.yaml:315:      verification: "Folder exists at .opencode/changelog/{resolved_folder}/"
.opencode/commands/create/assets/create_changelog_auto.yaml:330:      fail_action: "STOP and return to the command setup phase"
.opencode/commands/create/assets/create_changelog_auto.yaml:358:      purpose: "Write the changelog entry to the resolved component folder"
.opencode/commands/create/assets/create_changelog_auto.yaml:432:      - "Verify target folder exists: ls .opencode/changelog/{resolved_folder}/"
.opencode/commands/create/assets/create_changelog_auto.yaml:439:          STOP - Report: "Changelog folder not found: {resolved_folder}"
.opencode/commands/create/assets/create_changelog_auto.yaml:446:    validation: component_resolved
.opencode/commands/create/assets/create_changelog_auto.yaml:590:        IF spec_path exists (from Setup Phase or spec_folder source):
.opencode/commands/create/assets/create_changelog_auto.yaml:592:          Suggest: "/memory:save {spec_path}"
.opencode/commands/create/assets/create_changelog_auto.yaml:662:    Component: {primary_component} (if resolved)
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:88:    stop_action: "STOP and correct setup before generation"
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:100:    - spec_path
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:187:      fail_action: "STOP and return to setup"
.opencode/commands/create/assets/create_testing_playbook_auto.yaml:189:      description: "All required setup fields must be present"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:67:    action: "Return to setup gate with explicit missing fields"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:92:    stop_action: "STOP and return to setup"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:110:  - spec_path
.opencode/commands/create/assets/create_sk_skill_auto.yaml:228:      fail_action: "STOP and return to setup"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:384:    condition: "spec_path exists and spec_choice is not D"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:390:      command: "node .opencode/skills/system-spec-kit/scripts/dist/memory/generate-context.js [spec_path]"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:393:      preferred: "memory_index_scan({ specFolder: [spec_path] })"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:416:      - Spec path: [spec_path or none]
.opencode/commands/create/assets/create_sk_skill_auto.yaml:423:  setup_violation:
.opencode/commands/create/assets/create_sk_skill_auto.yaml:428:    - "Return to setup"
.opencode/commands/create/assets/create_sk_skill_auto.yaml:491:  - "Split setup prompts across turns"

codex
I’ve mapped the legacy setup fields. The only judgment call is how to document config persistence for commands whose spec folder can be skipped; I’m using a per-command config filename under `{spec_path}` when one exists, with `/tmp/<command>-config.json` as the documented skip-spec fallback, and I’ll call that out in the final reviewer notes.
apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/sk-skill.md
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/agent.md
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/changelog.md
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/feature-catalog.md
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..279dd33b427d67335496c8c24b68572cab590767
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..279dd33b427d67335496c8c24b68572cab590767
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:

apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/testing-playbook.md
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..279dd33b427d67335496c8c24b68572cab590767
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..279dd33b427d67335496c8c24b68572cab590767
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/folder_readme.md
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..279dd33b427d67335496c8c24b68572cab590767
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..279dd33b427d67335496c8c24b68572cab590767
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

exec
/bin/zsh -lc "sed -n '55,170p' .opencode/commands/create/sk-skill.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
exec
/bin/zsh -lc "sed -n '70,180p' .opencode/commands/create/agent.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
|  |  - Invoked with @markdown
|  |  - Template-first generation behavior available
|  |  - sk-doc quality validation behavior available
|  |- IF yes:
|  |  - create_agent_verified = true
|  |  - phase_0_status = PASSED
|  |- IF no/uncertain:
|     - HARD BLOCK and stop

HARD BLOCK MESSAGE:
"This command requires @markdown for template-first generation and sk-doc validation.
Restart with: @markdown /create:sk-skill <skill-name> [operation] [type]"
```

Phase outputs:
- `create_agent_verified`
- `chained_handoff_valid`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

This command uses one consolidated setup prompt. Do not split setup questions.

### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

```yaml
PRE-BOUND SETUP ANSWERS:
  skill_name: my-skill  # hyphen-case string
  operation: full-create  # full-create | full-update | reference-only | asset-only
  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
  skill_path: .opencode/skills/  # directory path
  execution_mode: AUTONOMOUS  # from :auto suffix
  spec_choice: new  # existing | new | update-related | skip | phase-folder
  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
  memory_choice: skip  # latest | recent3 | skip | n/a
  chained_handoff_valid: false  # boolean
```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
```text
SETUP EXECUTION LOGIC:

1) Parse invocation shape
   - /create:sk-skill <skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]

2) Parse mode suffix
   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
   - :confirm detected -> execution_mode = INTERACTIVE (omit mode question)
   - no suffix         -> execution_mode = ASK

3) Parse positional tokens
   - token 1: skill_name (if present)
   - token 2: operation (if present)
   - token 3: type (if present)

4) Parse flags
   - --path <dir>
   - --chained

5) Chained setup bypass logic
   - If chained_handoff_valid=true and all required fields for selected operation exist:
     - Skip setup prompt
     - Use parent values
   - If chained_handoff_valid=false or required chained fields missing:
     - Fall back to normal setup prompt

6) Determine which setup questions are required
   - Ask operation only when missing
   - Ask type only when operation requires it and type is missing/invalid
   - Ask execution mode only when no suffix is present
   - Ask spec folder choice only for full-create and full-update
   - Ask memory loading only when existing spec is selected and memory files exist

7) Ask ONE consolidated setup prompt with only missing items

   Q0. Skill Name (if missing)
       - Required format: hyphen-case (lowercase, digits, hyphens)

   Q1. Operation (if missing)
       A) full-create (new skill end-to-end)
       B) full-update (update existing skill and resources)
       C) reference-only (create/update one reference document)

 succeeded in 0ms:
# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**

This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in ONE user interaction.

**Round-trip optimization:** This workflow requires only 1 user interaction.

### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

```yaml
PRE-BOUND SETUP ANSWERS:
  agent_name: quality-gate  # kebab-case string
  agent_path: .opencode/agents/  # runtime agent directory path
  spec_choice: new  # existing | new | update-related | skip
  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
  execution_mode: AUTONOMOUS  # from :auto suffix
  memory_choice: skip  # latest | recent3 | skip | n/a
```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

1. CHECK for mode suffix in $ARGUMENTS or command invocation:
   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q2)
   ├─ ":confirm" suffix detected → execution_mode = "INTERACTIVE" (pre-set, omit Q2)
   └─ No suffix → execution_mode = "ASK" (include Q2 in prompt)

2. CHECK if $ARGUMENTS contains an agent name (ignoring flags):
   ├─ IF $ARGUMENTS has content → agent_name = extracted value, omit Q0
   │   ├─ Extract --mode flag if present (optional)
   │   ├─ VALIDATE agent name format:
   │   │   ├─ Must be kebab-case (lowercase, hyphens, digits only)
   │   │   ├─ Must match folder name exactly
   │   │   ├─ No uppercase, underscores, or special characters
   │   │   └─ IF invalid: include Q0 in prompt with format guidance
   │   └─ Store output path as: agent_path (default: [runtime_agent_path]/)
   └─ IF $ARGUMENTS is empty → include Q0 in prompt

3. Search for related spec folders:
   $ ls -d specs/*/ 2>/dev/null | tail -10

4. Determine if prior-session context loading is needed:
   - Will be asked ONLY if user selects A or C for spec folder AND the spec docs include recent `_memory.continuity` entries or a `handover.md`
   - Include Q3 placeholder with note "(if using existing spec with prior-session context)"

5. ASK user with SINGLE CONSOLIDATED prompt (include only applicable questions):

   ┌────────────────────────────────────────────────────────────────┐
   │ **Before proceeding, please answer:**                          │
   │                                                                │
   │ **Q0. Agent Name** (if not provided in command):               │
   │    What agent would you like to create?                        │
   │    Format: kebab-case (e.g., quality-gate, security-audit)     │
   │                                                                │
   │ **Q1. Spec Folder** (required):                                │
   │    A) Use existing: [suggest if related found]                 │
   │    B) Create new spec folder (Recommended)                     │
   │    C) Update related spec: [if partial match found]            │
   │    D) Skip documentation                                       │
   │                                                                │
   │ **Q2. Execution Mode** (if no :auto/:confirm suffix):            │
   │    A) Interactive - Confirm at each step (Recommended)          │
   │    B) Autonomous - Execute without prompts                     │
   │                                                                │
   │ **Q3. Prior Session Context** (if existing spec has it):        │
   │    A) Load `handover.md` + `_memory.continuity` from            │
   │       `implementation-summary.md`                                │
   │    B) Load canonical spec docs (spec.md, plan.md, tasks.md,     │
   │       decision-record.md) up to a recent cap                    │
   │    C) Skip (start fresh)                                       │
   │                                                                │
   │ Reply with answers, e.g.: "B, A, C" or "quality-gate, B, A, C" │
   └────────────────────────────────────────────────────────────────┘

6. WAIT for user response (DO NOT PROCEED)

7. Parse response and store ALL results:
   - agent_name = [from Q0 or $ARGUMENTS]
   - agent_path = [from --path flag or default runtime path ([runtime_agent_path]/)]

exec
/bin/zsh -lc "sed -n '70,190p' .opencode/commands/create/changelog.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**

This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in ONE user interaction.

**Round-trip optimization:** This workflow requires only 1 user interaction.

### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

```yaml
PRE-BOUND SETUP ANSWERS:
  source_type: spec_folder  # spec_folder | component | git_history
  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
  component_hint: system-spec-kit  # component slug/name when source_type is component
  version_bump: minor  # major | minor | patch | build | auto
  execution_mode: AUTONOMOUS  # from :auto suffix
  publish_release: false  # boolean; true when --release present
  nested: false  # boolean; true when --nested present
```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

1. CHECK for mode suffix in $ARGUMENTS or command invocation:
   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q2)
   ├─ ":confirm" suffix detected → execution_mode = "INTERACTIVE" (pre-set, omit Q2)
   └─ No suffix → execution_mode = "ASK" (include Q2 in prompt)

2. CHECK if $ARGUMENTS contains a spec folder path or component name (ignoring flags):
   ├─ IF $ARGUMENTS has a path to a spec folder:
   │   ├─ spec_folder = extracted path
   │   ├─ Read implementation-summary.md, tasks.md, spec.md from that folder
   │   ├─ Extract: work summary, files changed, change type
   │   ├─ component_hint = "auto-detect from spec artifacts"
   │   └─ Omit Q0 (spec folder already provided)
   │
   ├─ IF $ARGUMENTS has a component name (e.g., "sk-doc", "commands"):
   │   ├─ component_hint = extracted name
   │   ├─ spec_folder = null (will use git history instead)
   │   └─ Omit Q0 (component already provided)
   │
   └─ IF $ARGUMENTS is empty → include Q0 in prompt

3. CHECK for --bump flag:
   ├─ IF --bump <type> present → version_bump = extracted type, omit Q1
   └─ IF no --bump flag → include Q1 in prompt

3b. CHECK for --release flag:
   ├─ IF --release present → publish_release = YES, omit Q3
   └─ IF no --release flag → include Q3 in prompt

4. Search for recent spec folders with implementation-summary.md:
   $ find .opencode/specs -name "implementation-summary.md" -mtime -7 2>/dev/null | head -5

5. ASK user with SINGLE CONSOLIDATED prompt (include only applicable questions):

   ┌────────────────────────────────────────────────────────────────────┐
   │ **Before proceeding, please answer:**                              │
   │                                                                    │
   │ **Q0. Source** (if not provided in command):                       │
   │    What should we create a changelog for?                          │
   │    A) Spec folder path: [suggest recent specs if found]            │
   │    B) Component name (e.g., sk-doc, commands, system-spec-kit)     │
   │    C) Recent git commits (auto-detect from history)                │
   │                                                                    │
   │ **Q1. Version Bump** (if no --bump flag):                           │
   │    What type of version change is this?                            │
   │    A) Minor - New feature or significant addition (Recommended)     │
   │    B) Patch - Bug fix, refactor, or incremental improvement         │
   │    C) Major - Breaking change or architectural overhaul            │
   │    D) Build - Hotfix on an already-published version                │
   │    E) Auto-detect from change type                                 │
   │                                                                    │
   │ **Q2. Execution Mode** (if no :auto/:confirm suffix):                │
   │    A) Autonomous - Execute without prompts (Recommended)           │
   │    B) Interactive - Confirm at each step                            │
   │                                                                    │
   │ **Q3. Publish Release?** (if no --release flag):                    │
   │    A) Yes - Create git tag + GitHub release after changelog        │
   │    B) No - Only create the changelog file (default)                 │
   │                                                                    │
   │ Reply with answers, e.g.: "A specs/01.../042..., E, A, A"          │
   └────────────────────────────────────────────────────────────────────┘

6. WAIT for user response (DO NOT PROCEED)


exec
/bin/zsh -lc "sed -n '50,170p' .opencode/commands/create/feature-catalog.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
Restart with: @markdown /create:feature-catalog <skill-name> [create|update]"
```

Phase outputs:
- `create_agent_verified`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

This command uses one consolidated setup prompt. Do not split setup questions.

### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

```yaml
PRE-BOUND SETUP ANSWERS:
  skill_name: system-spec-kit  # hyphen-case skill folder name
  operation: update  # create | update
  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
  skill_path: .opencode/skills/  # directory path
  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
  execution_mode: AUTONOMOUS  # from :auto suffix
  spec_choice: skip  # existing | new | update-related | skip | phase-folder
  spec_path: ""  # explicit path when applicable
  memory_choice: skip  # latest | recent3 | skip | n/a
```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |

```text
SETUP EXECUTION LOGIC:

1) Parse invocation shape
   - /create:feature-catalog <skill-name> [create|update] [--path <dir>] [:auto|:confirm]

2) Parse mode suffix
   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
   - :confirm detected -> execution_mode = INTERACTIVE (omit mode question)
   - no suffix         -> execution_mode = ASK

3) Parse positional tokens
   - token 1: skill_name (if present)
   - token 2: operation (if present)

4) Parse flags
   - --path <dir>

5) Determine which setup questions are required
   - Ask skill name only when missing
   - Ask operation only when missing or invalid
   - Ask source strategy always
   - Ask spec folder choice always
   - Ask memory loading only when existing spec is selected and memory files exist
   - Ask execution mode only when no suffix is present

6) Ask ONE consolidated setup prompt with only missing items

   Q0. Skill Name (if missing)
       - Required format: hyphen-case folder name

   Q1. Operation (if missing)
       A) create
       B) update

   Q2. Source Strategy (required)
       A) Derive from existing manual testing playbook when present
       B) Build from a manual feature list or operator-provided inventory
       C) Hybrid: derive what exists, then patch gaps manually

   Q3. Spec Folder (required)
       A) Existing
       B) New
       C) Update related
       D) Skip
       E) Phase folder

   Q4. Prior Work Context (when the existing spec has prior continuity records)
       A) Load most recent spec-doc record
       B) Load up to 3 most recent spec-doc records
       C) Skip

   Q5. Execution Mode (if no suffix)
       A) Interactive (:confirm)
       B) Autonomous (:auto)

7) Wait for user response and parse fields

8) Normalize setup outputs
   - skill_name

exec
/bin/zsh -lc "sed -n '75,205p' .opencode/commands/create/folder_readme.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
exec
/bin/zsh -lc "sed -n '50,170p' .opencode/commands/create/testing-playbook.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
**🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**

This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in ONE user interaction.

**Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.

### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

```yaml
PRE-BOUND SETUP ANSWERS:
  operation: readme  # readme | install
  target_path: .opencode/skills/system-spec-kit  # README branch path
  readme_type: skill  # project | component | feature | skill
  project_name: semantic-search-mcp  # install branch project/tool name
  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
  existing_file: false  # boolean
  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
  execution_mode: AUTONOMOUS  # from :auto suffix
```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |

```
EXECUTE THIS SINGLE CONSOLIDATED PROMPT:

0. DETECT OPERATION from $ARGUMENTS or command invocation:
   ├─ First positional token is "readme" → operation = "readme", remove token from args
   ├─ First positional token is "install" → operation = "install", remove token from args
   ├─ "--operation readme" flag → operation = "readme"
   ├─ "--operation install" flag → operation = "install"
   └─ No operation detected → operation = "ASK" (include Q_OP in prompt)
   NOTE: When no operation is detected and $ARGUMENTS contains a path-like value, default to "readme".

1. CHECK for mode suffix in $ARGUMENTS or command invocation:
   ├─ ":auto" suffix detected → execution_mode = "AUTONOMOUS" (pre-set, omit Q_MODE)
   ├─ ":confirm" suffix detected → execution_mode = "INTERACTIVE" (pre-set, omit Q_MODE)
   └─ No suffix → execution_mode = "ASK" (include Q_MODE in prompt)

── README BRANCH (operation = "readme") ──────────────────────────────

2R. CHECK if $ARGUMENTS contains target path:
    ├─ IF $ARGUMENTS has path content (ignoring flags) → target_path = $ARGUMENTS, omit Q_R1
    └─ IF $ARGUMENTS is empty → include Q_R1 in prompt

3R. CHECK if $ARGUMENTS contains --type flag:
    ├─ IF --type flag present → readme_type = [parsed value], omit Q_R2
    └─ IF no --type flag → include Q_R2 in prompt

── INSTALL BRANCH (operation = "install") ────────────────────────────

2I. CHECK if $ARGUMENTS contains a project name:
    ├─ IF $ARGUMENTS has content (ignoring flags/suffixes) → project_name = $ARGUMENTS, omit Q_I1
    └─ IF $ARGUMENTS is empty → include Q_I1 in prompt

3I. CHECK for --platforms flag in $ARGUMENTS:
    ├─ IF --platforms flag present with valid values → platforms = [values], omit Q_I2
    └─ IF no --platforms flag → include Q_I2 in prompt

4I. Check for existing installation guides:
    $ ls -la ./install_guides/*.md ./INSTALL.md ./docs/INSTALL.md 2>/dev/null
    - Will inform conflict handling in Q_I3 if files exist

──────────────────────────────────────────────────────────────────────

5. ASK user with SINGLE CONSOLIDATED prompt (include only applicable questions):

   ┌────────────────────────────────────────────────────────────────┐
   │ **Before proceeding, please answer:**                          │
   │                                                                │
   │ **Q_OP. Operation** (if not detected from args):               │
   │    A) README - Create/update folder documentation              │
   │    B) Install Guide - Create/update installation guide         │
   │                                                                │
   │ ── README Questions (if operation = readme) ──                 │
   │                                                                │
   │ **Q_R1. Target Path** (if not provided in command):            │
   │    Where should the README be created?                         │
   │    (e.g., .opencode/skills/my-skill, src/components, ./)        │
   │                                                                │
   │ **Q_R2. README Type** (if not provided via --type):            │
   │    A) Project - Main project documentation at root level       │
   │    B) Component - Documentation for a module/package/skill     │
   │    C) Feature - Documentation for a specific feature/system     │
   │    D) Skill - Documentation for an OpenCode skill              │
   │                                                                │
   │ ── Install Guide Questions (if operation = install) ──         │
   │                                                                │
   │ **Q_I1. Project Name** (if not provided in command):           │
   │    What project/tool needs an installation guide?              │
   │                                                                │
   │ **Q_I2. Target Platforms** (required):                         │
   │    A) All platforms (macOS, Linux, Windows, Docker)            │
   │    B) macOS only                                               │
   │    C) Linux only                                               │
   │    D) Custom (specify: macos,linux,windows,docker)             │
   │                                                                │
   │ **Q_I3. Output Location** (required):                          │
   │    A) install_guides/[Type] - [Name].md (Recommended)          │
   │    B) INSTALL.md at project root                               │
   │    C) docs/INSTALL.md                                          │

 succeeded in 0ms:
Restart with: @markdown /create:testing-playbook <skill-name> [create|update]"
```

Phase outputs:
- `create_agent_verified`

---

# 🔒 UNIFIED SETUP PHASE

**STATUS: ☐ BLOCKED**

This command uses one consolidated setup prompt. Do not split setup questions.

### `:auto` Setup Resolution

Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.

Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:

1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.

2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.

3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.

`:confirm` path stays unchanged — see the consolidated setup prompt section below.

### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)

The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.

```yaml
PRE-BOUND SETUP ANSWERS:
  skill_name: system-spec-kit  # hyphen-case skill folder name
  operation: update  # create | update
  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
  skill_path: .opencode/skills/  # directory path
  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
  execution_mode: AUTONOMOUS  # from :auto suffix
  spec_choice: skip  # existing | new | update-related | skip | phase-folder
  spec_path: ""  # explicit path when applicable
  memory_choice: skip  # latest | recent3 | skip | n/a
```

Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).

### Default Resolution Table

| Field | Required | Resolves Via | Default | Tier-2 Candidate |
|-------|----------|--------------|---------|------------------|
| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |

```text
SETUP EXECUTION LOGIC:

1) Parse invocation shape
   - /create:testing-playbook <skill-name> [create|update] [--path <dir>] [:auto|:confirm]

2) Parse mode suffix
   - :auto detected    -> execution_mode = AUTONOMOUS (omit mode question)
   - :confirm detected -> execution_mode = INTERACTIVE (omit mode question)
   - no suffix         -> execution_mode = ASK

3) Parse positional tokens
   - token 1: skill_name (if present)
   - token 2: operation (if present)

4) Parse flags
   - --path <dir>

5) Determine which setup questions are required
   - Ask skill name only when missing
   - Ask operation only when missing or invalid
   - Ask source strategy always
   - Ask spec folder choice always
   - Ask prior-session context loading only when existing spec is selected and the spec docs include recent `_memory.continuity` entries or a `handover.md`
   - Ask execution mode only when no suffix is present

6) Ask ONE consolidated setup prompt with only missing items

   Q0. Skill Name (if missing)
       - Required format: hyphen-case folder name

   Q1. Operation (if missing)
       A) create
       B) update

   Q2. Source Strategy (required)
       A) Derive from existing feature catalog when present
       B) Build from a manual scenario list or operator-provided validation matrix
       C) Hybrid: derive what exists, then patch gaps manually

   Q3. Spec Folder (required)
       A) Existing
       B) New
       C) Update related
       D) Skip
       E) Phase folder

   Q4. Prior Session Context (if existing spec has it)
       A) Load `handover.md` + `_memory.continuity` from `implementation-summary.md`
       B) Load canonical spec docs (spec.md, plan.md, tasks.md, decision-record.md) up to a recent cap
       C) Skip

   Q5. Execution Mode (if no suffix)
       A) Interactive (:confirm)
       B) Autonomous (:auto)

7) Wait for user response and parse fields

8) Normalize setup outputs
   - skill_name

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..279dd33b427d67335496c8c24b68572cab590767
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or default for existing catalog state | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..66ba7a87a4a639447c3d65fc031dd38303a78cc2
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,53 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/feature-catalog.md
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/commands/create/sk-skill.md
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

codex
The six command docs now have the contract citation, marker schema, and per-field tables. I’m updating the phase task marker and writing the required dispatch evidence file, then I’ll run scoped checks for argument hints, contract citations, and diff boundaries.
apply patch
patch: completed
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

exec
/bin/zsh -lc 'rg -n "auto_mode_contract.md|PRE-BOUND SETUP ANSWERS|Default Resolution Table|argument-hint" .opencode/commands/create/sk-skill.md .opencode/commands/create/agent.md .opencode/commands/create/changelog.md .opencode/commands/create/feature-catalog.md .opencode/commands/create/testing-playbook.md .opencode/commands/create/folder_readme.md' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
.opencode/commands/create/folder_readme.md:3:argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/folder_readme.md:83:Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
.opencode/commands/create/folder_readme.md:87:1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
.opencode/commands/create/folder_readme.md:89:2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
.opencode/commands/create/folder_readme.md:95:### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
.opencode/commands/create/folder_readme.md:97:The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
.opencode/commands/create/folder_readme.md:100:PRE-BOUND SETUP ANSWERS:
.opencode/commands/create/folder_readme.md:112:Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
.opencode/commands/create/folder_readme.md:114:### Default Resolution Table
.opencode/commands/create/agent.md:3:argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/agent.md:82:Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
.opencode/commands/create/agent.md:86:1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
.opencode/commands/create/agent.md:88:2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
.opencode/commands/create/agent.md:94:### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
.opencode/commands/create/agent.md:96:The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
.opencode/commands/create/agent.md:99:PRE-BOUND SETUP ANSWERS:
.opencode/commands/create/agent.md:108:Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
.opencode/commands/create/agent.md:110:### Default Resolution Table
.opencode/commands/create/changelog.md:3:argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/changelog.md:84:Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
.opencode/commands/create/changelog.md:88:1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
.opencode/commands/create/changelog.md:90:2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
.opencode/commands/create/changelog.md:96:### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
.opencode/commands/create/changelog.md:98:The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
.opencode/commands/create/changelog.md:101:PRE-BOUND SETUP ANSWERS:
.opencode/commands/create/changelog.md:111:Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
.opencode/commands/create/changelog.md:113:### Default Resolution Table
.opencode/commands/create/testing-playbook.md:3:argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/testing-playbook.md:66:Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
.opencode/commands/create/testing-playbook.md:70:1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
.opencode/commands/create/testing-playbook.md:72:2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
.opencode/commands/create/testing-playbook.md:78:### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
.opencode/commands/create/testing-playbook.md:80:The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
.opencode/commands/create/testing-playbook.md:83:PRE-BOUND SETUP ANSWERS:
.opencode/commands/create/testing-playbook.md:95:Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
.opencode/commands/create/testing-playbook.md:97:### Default Resolution Table
.opencode/commands/create/feature-catalog.md:3:argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/feature-catalog.md:66:Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
.opencode/commands/create/feature-catalog.md:70:1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
.opencode/commands/create/feature-catalog.md:72:2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
.opencode/commands/create/feature-catalog.md:78:### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
.opencode/commands/create/feature-catalog.md:80:The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
.opencode/commands/create/feature-catalog.md:83:PRE-BOUND SETUP ANSWERS:
.opencode/commands/create/feature-catalog.md:95:Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
.opencode/commands/create/feature-catalog.md:97:### Default Resolution Table
.opencode/commands/create/sk-skill.md:3:argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/sk-skill.md:83:Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
.opencode/commands/create/sk-skill.md:87:1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
.opencode/commands/create/sk-skill.md:89:2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
.opencode/commands/create/sk-skill.md:95:### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
.opencode/commands/create/sk-skill.md:97:The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
.opencode/commands/create/sk-skill.md:100:PRE-BOUND SETUP ANSWERS:
.opencode/commands/create/sk-skill.md:112:Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
.opencode/commands/create/sk-skill.md:114:### Default Resolution Table

exec
/bin/zsh -lc 'git diff --name-only' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
exec
/bin/zsh -lc 'git diff -- .opencode/commands/create/sk-skill.md .opencode/commands/create/agent.md .opencode/commands/create/changelog.md .opencode/commands/create/feature-catalog.md .opencode/commands/create/testing-playbook.md .opencode/commands/create/folder_readme.md' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
.opencode/commands/create/agent.md
.opencode/commands/create/changelog.md
.opencode/commands/create/feature-catalog.md
.opencode/commands/create/folder_readme.md
.opencode/commands/create/sk-skill.md
.opencode/commands/create/testing-playbook.md
.opencode/commands/spec_kit/complete.md
.opencode/commands/spec_kit/deep-research.md
.opencode/commands/spec_kit/implement.md
.opencode/commands/spec_kit/plan.md
.opencode/commands/spec_kit/resume.md
.opencode/skills/deep-ai-council/README.md
.opencode/skills/sk-doc/README.md
.opencode/skills/sk-doc/SKILL.md
.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
.opencode/specs/system-spec-kit/026-graph-and-context-optimization/010-doctor-update-orchestrator/graph-metadata.json

 succeeded in 0ms:
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556..e61cc2b98 100644
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@ This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d278..2f8882282 100644
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@ This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c..92c340489 100644
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@ Phase outputs:
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f..15124f6c3 100644
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@ This workflow uses a SINGLE consolidated prompt to gather ALL required inputs in
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5d..042c5b093 100644
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@ Phase outputs:
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c..742f58268 100644
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@ Phase outputs:
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

exec
/bin/zsh -lc 'git status --short' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
 M .opencode/commands/create/agent.md
 M .opencode/commands/create/changelog.md
 M .opencode/commands/create/feature-catalog.md
 M .opencode/commands/create/folder_readme.md
 M .opencode/commands/create/sk-skill.md
 M .opencode/commands/create/testing-playbook.md
 M .opencode/commands/spec_kit/complete.md
 M .opencode/commands/spec_kit/deep-research.md
 M .opencode/commands/spec_kit/implement.md
 M .opencode/commands/spec_kit/plan.md
 M .opencode/commands/spec_kit/resume.md
 M .opencode/skills/deep-ai-council/README.md
 M .opencode/skills/sk-doc/README.md
 M .opencode/skills/sk-doc/SKILL.md
 M .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
 M .opencode/specs/system-spec-kit/026-graph-and-context-optimization/010-doctor-update-orchestrator/graph-metadata.json
?? .opencode/skills/sk-doc/changelog/v1.5.0.0.md
?? .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

exec
/bin/zsh -lc 'find .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence -maxdepth 1 -type f -print | sort' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group1-dispatch-full-transcript.txt
.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group1-dispatch.txt
.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch-full-transcript.txt
.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

codex
One scope caveat surfaced: the worktree already has unrelated modified and untracked files outside this dispatch. I’m leaving them alone and checking only the Group 2 files I touched.
exec
/bin/zsh -lc 'git diff --check -- .opencode/commands/create/sk-skill.md .opencode/commands/create/agent.md .opencode/commands/create/changelog.md .opencode/commands/create/feature-catalog.md .opencode/commands/create/testing-playbook.md .opencode/commands/create/folder_readme.md .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
exec
/bin/zsh -lc "rg -n \"\\(:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup\\)\" .opencode/commands/create/sk-skill.md .opencode/commands/create/agent.md .opencode/commands/create/changelog.md .opencode/commands/create/feature-catalog.md .opencode/commands/create/testing-playbook.md .opencode/commands/create/folder_readme.md" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
.opencode/commands/create/folder_readme.md:3:argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/testing-playbook.md:3:argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/changelog.md:3:argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/feature-catalog.md:3:argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/agent.md:3:argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
.opencode/commands/create/sk-skill.md:3:argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"

exec
/bin/zsh -lc 'bash .opencode/skills/system-spec-kit/scripts/spec/validate.sh .opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands --strict' in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

 succeeded in 3764ms:

Spec Folder Validation v3.0.0

  Folder: /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands
  Level:  2

+ FILE_EXISTS: All required files present for Level 2
+ PLACEHOLDER_FILLED: No unfilled template placeholders found
+ TEMPLATE_SOURCE: Template source headers present
+ TEMPLATE_HEADERS: Template headers match in 5 file(s)
+ ANCHORS_VALID: Template anchors match in 5 file(s)
+ PRIORITY_TAGS: Checklist priority tags use CHK-* [P*] format
+ FRONTMATTER_VALID: Frontmatter continuity basics present
+ FRONTMATTER_MEMORY_BLOCK: All spec-doc frontmatter memory blocks are structurally valid
+ SPEC_DOC_SUFFICIENCY: All targeted spec-doc anchors meet the sufficiency baseline
+ SECTIONS_PRESENT: Section presence covered by per-document manifest anchors
+ GRAPH_METADATA_PRESENT: Graph metadata checked

Summary: Errors: 0  Warnings: 0

RESULT: PASSED

exec
/bin/zsh -lc "git diff --unified=0 -- .opencode/commands/create/sk-skill.md .opencode/commands/create/agent.md .opencode/commands/create/changelog.md .opencode/commands/create/feature-catalog.md .opencode/commands/create/testing-playbook.md .opencode/commands/create/folder_readme.md | rg '"'^-'"'" in /Users/michelkerkmeester/MEGA/Development/Code_Environment/Public
 succeeded in 0ms:
--- a/.opencode/commands/create/agent.md
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
--- a/.opencode/commands/create/changelog.md
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
--- a/.opencode/commands/create/feature-catalog.md
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
--- a/.opencode/commands/create/folder_readme.md
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
--- a/.opencode/commands/create/sk-skill.md
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
--- a/.opencode/commands/create/testing-playbook.md
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"

diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

codex
**Files Modified**

- `.opencode/commands/create/sk-skill.md`
- `.opencode/commands/create/agent.md`
- `.opencode/commands/create/changelog.md`
- `.opencode/commands/create/feature-catalog.md`
- `.opencode/commands/create/testing-playbook.md`
- `.opencode/commands/create/folder_readme.md`
- `.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md`
- `.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt`

**Per-Command Status**

- `/create:sk-skill`: 9 fields migrated | Tier-2 candidates: `type`, `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:agent`: 6 fields migrated | Tier-2 candidates: `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:changelog`: 7 fields migrated | Tier-2 candidates: `source_type`, `version_bump` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:feature-catalog`: 9 fields migrated | Tier-2 candidates: `source_strategy`, `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:testing-playbook`: 9 fields migrated | Tier-2 candidates: `source_strategy`, `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:folder_readme`: 9 fields migrated | Tier-2 candidates: `operation`, `readme_type`, `platforms`, `existing_file_action` | `:confirm` preserved: yes | argument-hint updated: yes

**Decisions**

- Used `{spec_path}/create-*-config.json` when a command can link a spec folder; used `/tmp/create-*-config.json` fallback when spec linkage can be skipped or does not exist.
- Treated missing required positional values as Tier 3 unless the legacy setup had a genuinely ambiguous branch choice.
- Did not migrate `agent_description` for `/create:agent` because it appears in the argument hint but not the legacy setup Q-block.
- Added `/create:changelog` `nested` because it is an existing flag in the command surface.

**Concerns**

- `tasks.md` uses the exact requested evidence wording, “5 commands migrated,” even though this Group 2 scope contains 6 commands.
- Existing unrelated dirty worktree entries were present outside scope; I left them untouched.
- Paired YAML assets were not modified.
- Checks passed: scoped `git diff --check` and strict spec validation for `103-002`.
diff --git a/.opencode/commands/create/agent.md b/.opencode/commands/create/agent.md
index a0d4fe556efd0cb3109e929d77095e95de58bb05..e61cc2b98f2842cf3541b56bd5001971ee8cf9e7
--- a/.opencode/commands/create/agent.md
+++ b/.opencode/commands/create/agent.md
@@ -1,6 +1,6 @@
 ---
 description: Create a new OpenCode agent with frontmatter, tool permissions, behavioral rules. Modes :auto, :confirm.
-argument-hint: "<agent_name> [agent_description] [:auto|:confirm]"
+argument-hint: "<agent_name> [agent_description] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,47 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-agent-config.json` when a spec is linked, otherwise `/tmp/create-agent-config.json` (shape: `agentName`, `agentPath`, `specChoice`, `specPath`, `executionMode: "auto"`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_agent_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `spec_choice`. **Ordering rule**: none needed.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:agent:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  agent_name: quality-gate  # kebab-case string
+  agent_path: .opencode/agents/  # runtime agent directory path
+  spec_choice: new  # existing | new | update-related | skip
+  spec_path: .opencode/specs/103-example/001-quality-gate/  # explicit path when applicable
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `agent_name` | Y | `$ARGUMENTS` positional agent name, or marker `agent_name` | none | N |
+| `agent_path` | Y | flag `--path`, marker `agent_path`, runtime profile default | runtime agent path | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip | none | Y, when related specs exist and the folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or null when `spec_choice` is `skip` | none | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `memory_choice` | N | marker `memory_choice`, prior-session detection, or default | `skip` when no prior continuity records exist | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/changelog.md b/.opencode/commands/create/changelog.md
index 505d8d2781f77c4119b014e14d1d57d9487cac8a..2f888228227f02904f78d635255bb4a6ea961c57
--- a/.opencode/commands/create/changelog.md
+++ b/.opencode/commands/create/changelog.md
@@ -1,6 +1,6 @@
 ---
 description: Create global or packet-local changelog. Topology-aware, optional GitHub release. :auto/:confirm.
-argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm]"
+argument-hint: "<spec-folder-or-component> [--nested] [--bump <major|minor|patch|build>] [--release] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, mcp__cocoindex_code__search
 ---
 
@@ -79,6 +79,49 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_folder}/create-changelog-config.json` when source is a spec folder, otherwise `/tmp/create-changelog-config.json` (shape: `sourceType`, `specFolder`, `componentHint`, `versionBump`, `executionMode: "auto"`, `publishRelease`, `nested`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_changelog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_type`, `version_bump`. **Ordering rule**: ask `source_type` before `version_bump` when both are ambiguous — the source artifacts may make the version bump self-evident on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:changelog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  source_type: spec_folder  # spec_folder | component | git_history
+  spec_folder: .opencode/specs/103-example/001-finished-work/  # explicit path for spec_folder source
+  component_hint: system-spec-kit  # component slug/name when source_type is component
+  version_bump: minor  # major | minor | patch | build | auto
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  publish_release: false  # boolean; true when --release present
+  nested: false  # boolean; true when --nested present
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `source_type` | Y | `$ARGUMENTS` positional source, marker `source_type`, or auto-detect path-vs-component from positional source | inferred only | Y, when positional source is present but ambiguous |
+| `spec_folder` | Conditional | `$ARGUMENTS` spec-folder path, marker `spec_folder`, or null when source is not `spec_folder` | none | N |
+| `component_hint` | Conditional | `$ARGUMENTS` component name, marker `component_hint`, or auto-detect from spec artifacts | none | N |
+| `version_bump` | Y | flag `--bump`, marker `version_bump`, or targeted bump choice | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `publish_release` | Y | flag `--release`, marker `publish_release`, or default | `false` | N |
+| `nested` | N | flag `--nested`, marker `nested`, or default | `false` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/feature-catalog.md b/.opencode/commands/create/feature-catalog.md
index 594997c4c87de05280017f9bda24c30399d95868..92c3404898c6651df4153ebee4ccecf50eecd97d
--- a/.opencode/commands/create/feature-catalog.md
+++ b/.opencode/commands/create/feature-catalog.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update feature catalog packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-feature-catalog-config.json` when a spec is linked, otherwise `/tmp/create-feature-catalog-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `catalogRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_feature_catalog_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:feature-catalog:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-playbook | manual-list | hybrid
+  skill_path: .opencode/skills/  # directory path
+  catalog_root: .opencode/skills/system-spec-kit/feature_catalog  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `catalog_root` | Y | marker `catalog_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/commands/create/folder_readme.md b/.opencode/commands/create/folder_readme.md
index b3ed72b9f3899745d7be2b27640bb6329c198cbb..15124f6c34777fd915d1ca2147bf26bc77dc4e25
--- a/.opencode/commands/create/folder_readme.md
+++ b/.opencode/commands/create/folder_readme.md
@@ -1,6 +1,6 @@
 ---
 description: Unified folder README and install guide creation with sk-doc quality standards. Modes :auto, :confirm.
-argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm]"
+argument-hint: "[readme|install] <target> [--type <project|component|feature|skill>] [--platforms <list>] [--output <path>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -78,6 +78,53 @@
 
 **Round-trip optimization:** This workflow requires only 1 user interaction (all questions asked together), with an optional follow-up only if target file already exists.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `/tmp/create-folder-readme-config.json` (shape: `operation`, `targetPath`, `readmeType`, `projectName`, `platforms`, `outputPath`, `existingFile`, `existingFileAction`, `executionMode: "auto"`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_folder_readme_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `operation`, `readme_type`, `platforms`, `existing_file_action`. **Ordering rule**: ask `operation` first when ambiguous — branch selection determines whether README or install-guide fields are required.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:folder_readme:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  operation: readme  # readme | install
+  target_path: .opencode/skills/system-spec-kit  # README branch path
+  readme_type: skill  # project | component | feature | skill
+  project_name: semantic-search-mcp  # install branch project/tool name
+  platforms: all  # all | macos | linux | windows | docker | comma-separated subset
+  output_path: install_guides/Tool - semantic-search-mcp.md  # install branch output path
+  existing_file: false  # boolean
+  existing_file_action: merge  # overwrite | backup-overwrite | merge | cancel
+  execution_mode: AUTONOMOUS  # from :auto suffix
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `operation` | Y | first positional token, flag `--operation`, marker `operation`, or default when remaining argument is path-like | `readme` for path-like target | Y, when operation is absent and target is not path-like |
+| `target_path` | Conditional | README branch positional target, marker `target_path` | none | N |
+| `readme_type` | Conditional | flag `--type`, marker `readme_type`, or targeted README type choice | none | Y |
+| `project_name` | Conditional | install branch positional project name, marker `project_name` | none | N |
+| `platforms` | Conditional | flag `--platforms`, marker `platforms`, or targeted platform choice | none | Y |
+| `output_path` | Conditional | flag `--output`, marker `output_path`, or recommended install-guide path | `install_guides/[Type] - [Name].md` | N |
+| `existing_file` | N | output existence check, marker `existing_file`, or default | `false` | N |
+| `existing_file_action` | Conditional | marker `existing_file_action`, inline conflict response, or targeted conflict choice when an existing README/output conflict is detected | none | Y |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+
 ```
 EXECUTE THIS SINGLE CONSOLIDATED PROMPT:
 
diff --git a/.opencode/commands/create/sk-skill.md b/.opencode/commands/create/sk-skill.md
index 61368cb5dc67a5af94915c8728ab99766b98feba..042c5b093f5ba759640f20ad82954639086b186c
--- a/.opencode/commands/create/sk-skill.md
+++ b/.opencode/commands/create/sk-skill.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update OpenCode skills via one unified command with operation routing. :auto/:confirm.
-argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm]"
+argument-hint: "<skill-name> [operation] [type] [--path <dir>] [--chained] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -77,6 +77,54 @@
 **STATUS: ☐ BLOCKED**
 
 This command uses one consolidated setup prompt. Do not split setup questions.
+
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-sk-skill-config.json` when a spec is linked, otherwise `/tmp/create-sk-skill-config.json` (shape: `skillName`, `operation`, `type`, `skillPath`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`, `chainedHandoffValid`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_sk_skill_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `type`, `spec_choice`. **Ordering rule**: if `type` is required for `reference-only` or `asset-only`, ask only for `type` first — the answer may make the operation branch fully resolvable on the next Tier 1 pass.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:sk-skill:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: my-skill  # hyphen-case string
+  operation: full-create  # full-create | full-update | reference-only | asset-only
+  type: workflow  # reference-only: workflow | patterns | debugging | tools | quick_ref; asset-only: template | lookup | example | guide
+  skill_path: .opencode/skills/  # directory path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: new  # existing | new | update-related | skip | phase-folder
+  spec_path: .opencode/specs/103-example/001-my-skill/  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+  chained_handoff_valid: false  # boolean
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, marker `skill_name`, or chained parent value | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, marker `operation`, or chained parent value | none | N |
+| `type` | Conditional | `$ARGUMENTS` third positional token, marker `type`, or chained parent value when `operation` is `reference-only` / `asset-only` | none | Y, when operation requires type and type is ambiguous |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Conditional | marker `spec_choice`, chained parent value, or targeted choice for `full-create` / `full-update` | none | Y, when full operation is selected and folder choice is ambiguous |
+| `spec_path` | Conditional | marker `spec_path`, derived from `spec_choice`, or chained parent value | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+| `chained_handoff_valid` | N | flag `--chained` plus parent fields, marker `chained_handoff_valid`, or default | `false` | N |
+
 **🚨 SINGLE CONSOLIDATED PROMPT - ONE USER INTERACTION**
 ```text
 SETUP EXECUTION LOGIC:
diff --git a/.opencode/commands/create/testing-playbook.md b/.opencode/commands/create/testing-playbook.md
index d3711708c7c04005b790b70f432f4f33595b2ca1..742f58268918288839a8476cd7db570a8feb483a
--- a/.opencode/commands/create/testing-playbook.md
+++ b/.opencode/commands/create/testing-playbook.md
@@ -1,6 +1,6 @@
 ---
 description: Create or update manual testing playbook packages via one unified command. Modes :auto, :confirm.
-argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm]"
+argument-hint: "<skill-name> [create|update] [--path <dir>] [:auto|:confirm] (:auto supports PRE-BOUND SETUP ANSWERS: prompt-body block for non-interactive setup)"
 allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, mcp__cocoindex_code__search
 ---
 
@@ -61,6 +61,53 @@
 
 This command uses one consolidated setup prompt. Do not split setup questions.
 
+### `:auto` Setup Resolution
+
+Setup contract: see `.opencode/skills/system-spec-kit/references/workflows/auto_mode_contract.md`.
+
+Under `execution_mode = AUTONOMOUS` (from the `:auto` suffix), follow the three-tier flow:
+
+1. **Tier 1 — Resolve confidently** (contract §1): parse `$ARGUMENTS` flags + `PRE-BOUND SETUP ANSWERS:` block (§2) + the Default Resolution Table below (§3). When every required field is resolved, persist to `{spec_path}/create-testing-playbook-config.json` when a spec is linked, otherwise `/tmp/create-testing-playbook-config.json` (shape: `skillName`, `operation`, `sourceStrategy`, `skillPath`, `playbookRoot`, `executionMode: "auto"`, `specChoice`, `specPath`, `memoryChoice`), bind runtime YAML placeholders, set `STATUS: PASSED`, load `.opencode/commands/create/assets/create_testing_playbook_auto.yaml`. End §0.
+
+2. **Tier 2 — Targeted ask** (contract §1): when 1-2 required fields are genuinely ambiguous AND no default exists, emit ONE narrow question per ambiguous field. Command-specific Tier-2-eligible fields (per the Default Resolution Table below): `source_strategy`, `spec_choice`. **Ordering rule**: ask `source_strategy` before `spec_choice` when both are ambiguous — the source strategy can narrow whether a prior spec needs loading.
+
+3. **Tier 3 — Fail fast** (contract §4): emit the named-missing-inputs error format with `/create:testing-playbook:auto` as the command name. Exit non-zero. Do not load YAML.
+
+`:confirm` path stays unchanged — see the consolidated setup prompt section below.
+
+### PRE-BOUND SETUP ANSWERS Schema (for `:auto` non-interactive dispatch)
+
+The dispatched prompt body may contain one structured marker block. Parse it before applying defaults. Grammar: see `auto_mode_contract.md` §2.
+
+```yaml
+PRE-BOUND SETUP ANSWERS:
+  skill_name: system-spec-kit  # hyphen-case skill folder name
+  operation: update  # create | update
+  source_strategy: hybrid  # existing-feature-catalog | manual-scenarios | hybrid
+  skill_path: .opencode/skills/  # directory path
+  playbook_root: .opencode/skills/system-spec-kit/manual_testing_playbook  # derived path
+  execution_mode: AUTONOMOUS  # from :auto suffix
+  spec_choice: skip  # existing | new | update-related | skip | phase-folder
+  spec_path: ""  # explicit path when applicable
+  memory_choice: skip  # latest | recent3 | skip | n/a
+```
+
+Rules: see `auto_mode_contract.md` §2 (unspecified fields fall back to default; marker fields take precedence over `$ARGUMENTS` flags; unknown fields warn; malformed lines parse-error).
+
+### Default Resolution Table
+
+| Field | Required | Resolves Via | Default | Tier-2 Candidate |
+|-------|----------|--------------|---------|------------------|
+| `skill_name` | Y | `$ARGUMENTS` first positional token, or marker `skill_name` | none | N |
+| `operation` | Y | `$ARGUMENTS` second positional token, or marker `operation` | none | N |
+| `source_strategy` | Y | marker `source_strategy`, or targeted source strategy choice | none | Y |
+| `skill_path` | Y | flag `--path`, marker `skill_path`, or default | `.opencode/skills/` | N |
+| `playbook_root` | Y | marker `playbook_root`, or derive from `skill_path` + `skill_name` | derived | N |
+| `execution_mode` | Y | attached suffix `:auto` or marker `execution_mode` | `AUTONOMOUS` under `:auto` | N |
+| `spec_choice` | Y | marker `spec_choice`, or targeted choice among existing/new/update-related/skip/phase-folder | none | Y |
+| `spec_path` | Conditional | marker `spec_path`, or derived from `spec_choice` | none | N |
+| `memory_choice` | N | marker `memory_choice`, prior-work detection, or default | `skip` when no prior continuity records exist | N |
+
 ```text
 SETUP EXECUTION LOGIC:
 
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8e11f8e11c199b962cd39e84bae6ea13b60413cd
--- /dev/null
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt
@@ -0,0 +1,39 @@
+# Codex Group 2 Dispatch Evidence
+
+## /create:sk-skill
+- Command name: /create:sk-skill
+- Fields migrated count: 9
+- Tier-2 candidates identified: type, spec_choice
+- Concerns: spec-linked config path is conditional; documented `/tmp/create-sk-skill-config.json` fallback when spec_choice is skip.
+
+## /create:agent
+- Command name: /create:agent
+- Fields migrated count: 6
+- Tier-2 candidates identified: spec_choice
+- Concerns: `agent_description` appears in the argument hint but is not present in the legacy setup Q-block, so it was not added as a setup field.
+
+## /create:changelog
+- Command name: /create:changelog
+- Fields migrated count: 7
+- Tier-2 candidates identified: source_type, version_bump
+- Concerns: `version_bump` has no legacy default despite a recommended option; table keeps it unresolved unless supplied or asked.
+
+## /create:feature-catalog
+- Command name: /create:feature-catalog
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: `operation` has no legacy default; absence is treated as Tier 3 rather than a broad setup prompt.
+
+## /create:testing-playbook
+- Command name: /create:testing-playbook
+- Fields migrated count: 9
+- Tier-2 candidates identified: source_strategy, spec_choice
+- Concerns: mirrors feature-catalog setup semantics with command-specific root field `playbook_root`.
+
+## /create:folder_readme
+- Command name: /create:folder_readme
+- Fields migrated count: 9
+- Tier-2 candidates identified: operation, readme_type, platforms, existing_file_action
+- Concerns: no spec-folder setup field exists in the legacy Q-block, so the config persistence path is `/tmp/create-folder-readme-config.json`.
+
+EXIT_STATUS: complete
diff --git a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
index c463f8dee17721abef4433ca88d004ba71488bc0..5f7df6766aed7eb41b4e40081ff7c885a3683451
--- a/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
+++ b/.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md
@@ -10,8 +10,8 @@
     packet_pointer: ".opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands"
     last_updated_at: "2026-05-11T12:35:00Z"
     last_updated_by: "claude-opus-4-7"
-    recent_action: "Group 1 spec_kit commands migrated"
-    next_safe_action: "Dispatch group 2 create commands"
+    recent_action: "Group 2 create commands migrated"
+    next_safe_action: "Dispatch group 3 improve command"
     blockers: []
     key_files: []
     session_dedup:
@@ -58,7 +58,7 @@
 ## Phase 2: Implementation
 
 - [x] T010 Codex group dispatch 1 (spec_kit/5): deep-research, complete, implement, plan, resume. Evidence: Group 1 codex dispatch completed; 5 commands migrated; see evidence/codex-group1-dispatch.txt
-- [ ] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme.
+- [x] T011 Codex group dispatch 2 (create/6): sk-skill, agent, changelog, feature-catalog, testing-playbook, folder_readme. Evidence: Group 2 codex dispatch completed; 5 commands migrated; see evidence/codex-group2-dispatch.txt
 - [ ] T012 Codex group dispatch 3 (improve/1): agent.
 - [ ] T013 Per-command read-back: confirm `:confirm` block untouched in all 11 migrated commands.
 <!-- /ANCHOR:phase-2 -->

hook: Stop
hook: Stop Completed
tokens used
134,459
**Files Modified**

- `.opencode/commands/create/sk-skill.md`
- `.opencode/commands/create/agent.md`
- `.opencode/commands/create/changelog.md`
- `.opencode/commands/create/feature-catalog.md`
- `.opencode/commands/create/testing-playbook.md`
- `.opencode/commands/create/folder_readme.md`
- `.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/tasks.md`
- `.opencode/specs/skilled-agent-orchestration/103-spec-kit-auto-mode-noninteractive-contract/002-auto-mode-contract-generalization-to-all-commands/evidence/codex-group2-dispatch.txt`

**Per-Command Status**

- `/create:sk-skill`: 9 fields migrated | Tier-2 candidates: `type`, `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:agent`: 6 fields migrated | Tier-2 candidates: `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:changelog`: 7 fields migrated | Tier-2 candidates: `source_type`, `version_bump` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:feature-catalog`: 9 fields migrated | Tier-2 candidates: `source_strategy`, `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:testing-playbook`: 9 fields migrated | Tier-2 candidates: `source_strategy`, `spec_choice` | `:confirm` preserved: yes | argument-hint updated: yes
- `/create:folder_readme`: 9 fields migrated | Tier-2 candidates: `operation`, `readme_type`, `platforms`, `existing_file_action` | `:confirm` preserved: yes | argument-hint updated: yes

**Decisions**

- Used `{spec_path}/create-*-config.json` when a command can link a spec folder; used `/tmp/create-*-config.json` fallback when spec linkage can be skipped or does not exist.
- Treated missing required positional values as Tier 3 unless the legacy setup had a genuinely ambiguous branch choice.
- Did not migrate `agent_description` for `/create:agent` because it appears in the argument hint but not the legacy setup Q-block.
- Added `/create:changelog` `nested` because it is an existing flag in the command surface.

**Concerns**

- `tasks.md` uses the exact requested evidence wording, “5 commands migrated,” even though this Group 2 scope contains 6 commands.
- Existing unrelated dirty worktree entries were present outside scope; I left them untouched.
- Paired YAML assets were not modified.
- Checks passed: scoped `git diff --check` and strict spec validation for `103-002`.

=== EXIT 0; WALL 302s ===
