Skip to content
Back to skills

Config Orchestration

ASecurity

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

  • 43 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
developmenttypescriptgobashfullstack

Works with

  • cli

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add LiorCohen/sdd --skill config-orchestration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Config Orchestration?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Config Orchestration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/liorcohen-config-orchestration/badge)](https://www.skillsdirectory.com/skills/liorcohen-config-orchestration)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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:**
```bash
<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:**
```bash
<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:**
```bash
<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:**
```bash
<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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.