Skip to content
Development
Skill

/config-orchestration

Orchestrates project configuration operations — generate, validate, diff, and add-env.

From plugin
sdd
4459 skills7 agents3 commands
Install
$ npx -y skills add LiorCohen/sdd --skill config-orchestration --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/config-orchestration

Context preview

The summary Claude sees to decide when to auto-load this skill.

Orchestrates project configuration operations — generate, validate, diff, and add-env.

SKILL.md

config-orchestration.SKILL.md
name: config-orchestration
description: Orchestrates project configuration operations — generate, validate, diff, and add-env.
user-invocable: false

Config Orchestration

Manage project configuration for SDD projects. Each operation delegates to the system CLI.

Input

Invoked by `sdd-run.md` with:

  • `operation` — The config operation to perform
  • `args` — Remaining arguments after the operation

Operations

| Operation | Description | |-----------|-------------| | `generate` | Generate merged config file for a target environment | | `validate` | Validate config against schemas | | `diff` | Show differences between environments | | `add-env` | Add a new environment directory |

No Arguments

When invoked without an operation, display usage:

⚠ Missing required operation argument.

USAGE:
  /sdd-run config <operation> [options]

OPERATIONS:
  generate    Generate merged config file for a target environment
  validate    Validate config against schemas
  diff        Show differences between environments
  add-env     Add a new environment directory

EXAMPLES:
  /sdd-run config generate --env production
  /sdd-run config validate
  /sdd-run config diff local production
  /sdd-run config add-env staging

---

generate

Generate a merged config file for a target environment.

/sdd-run config generate --env <env> [--component <name>] [--output <path>]

**Arguments:**

  • `--env <env>` (required): Target environment (e.g., `local`, `staging`, `production`)
  • `--component <name>` (optional): Extract only this component's config section
  • `--output <path>` (optional): Write to file instead of stdout

**Behavior:** 1. Merges `envs/default/config.yaml` with `envs/{env}/config.yaml` 2. Validates against `schemas/config.schema.json` before outputting (fails if invalid) 3. Places schema alongside output (e.g., `config.yaml` + `config.schema.json`) for runtime validation 4. If `--component` specified, extracts just that section (outputs section contents only, no wrapper key)

**Implementation:**

<plugin-root>/fullstack-typescript/system/system-run.sh config generate --env <env> [--component <name>] [--output <path>]

---

validate

Validate config files against schemas.

/sdd-run config validate [--env <env>]

**Arguments:**

  • `--env <env>` (optional): Validate only this environment. If omitted, validates all environments.

**Behavior:** 1. Reads config YAML files from `envs/{env}/` 2. Validates against JSON Schema in `schemas/config.schema.json` 3. Reports all schema violations with line numbers

**Implementation:**

<plugin-root>/fullstack-typescript/system/system-run.sh config validate [--env <env>]

---

diff

Show differences between two environments.

/sdd-run config diff <env1> <env2>

**Arguments:**

  • `<env1>` (required): First environment to compare
  • `<env2>` (required): Second environment to compare

**Behavior:** 1. Generates merged config for both environments 2. Shows additions, removals, and changes between them 3. Outputs in a readable format

**Implementation:**

<plugin-root>/fullstack-typescript/system/system-run.sh config diff <env1> <env2>

---

add-env

Add a new environment directory.

/sdd-run config add-env <env-name>

**Arguments:**

  • `<env-name>` (required): Name of the new environment

**Behavior:** 1. Creates `envs/{env-name}/` directory 2. Creates `config.yaml` with schema reference and empty structure 3. Config inherits from `envs/default/`

**Implementation:**

<plugin-root>/fullstack-typescript/system/system-run.sh config add-env <env-name>

---

Merge Algorithm

When merging `envs/default/` → `envs/{env}/`:

  • **Objects**: Recursively merged (both levels' keys preserved)
  • **Arrays**: Replaced entirely (env array replaces default array)
  • **Primitives**: Env value replaces default value
  • **Null values**: Explicitly setting `null` removes the key

Related

  • `config-scaffolding` skill - Creates the config component
  • `config-standards` skill - Standards for configuration management
  • `helm-standards` skill - How Helm charts consume config
  • `docs/config-guide.md` - User-facing guide covering Local Development workflows, Production deployment, and SDD_CONFIG_PATH usage

Output

Returns the system CLI output for the requested operation.

Read more
Ships withsdd

Structure for AI-assisted development AI coding assistants are powerful but chaotic. You prompt, you get code, but then what?

Get the whole plugin

Other skills on sdd.