# Manage Config

> Manage per-plan configuration with schema validation

- Skill: `majiayu000/manage-config` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/manage-config`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/manage-config/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/manage-config

---


# Manage Config Skill

Per-plan configuration management for plan-specific settings stored in `config.toon`.

## What This Skill Provides

- Per-plan config.toon management with schema validation
- Domain array management for multi-domain plans
- Field-level get/set operations with nested access support
- Multi-field retrieval

Note: `workflow_skills` are NOT stored in config.toon. They are resolved at runtime from `marshal.json` via `plan-marshall-config resolve-workflow-skill`.

## When to Activate This Skill

Activate this skill when:
- Creating initial plan configuration
- Reading or updating plan settings
- Retrieving domains for a plan

---

## Storage Location

Configuration is stored in the plan directory:

```
.plan/plans/{plan_id}/config.toon
```

---

## File Format

See [standards/config-toon-format.md](standards/config-toon-format.md) for complete format specification including field definitions, phase values, and examples.

---

## Operations

Script: `pm-workflow:manage-config:manage-config`

### create

Create config.toon with domains configuration.

```bash
python3 .plan/execute-script.py pm-workflow:manage-config:manage-config create \
  --plan-id {plan_id} \
  --domains java
```

**Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `--domains` | string (comma-separated) | Yes | Domain list (e.g., `java` or `java,javascript`) |
| `--commit-strategy` | enum | No | `per_task` (default), `per_plan`, `none` |
| `--create-pr` | bool | No | Create PR on finalize (default from marshal.json) |
| `--verification-required` | bool | No | Require verification (default from marshal.json) |
| `--verification-command` | string | No | Verification command |
| `--branch-strategy` | enum | No | `feature` (default), `direct` |
| `--force` | flag | No | Overwrite existing config |

**Output** (TOON):
```toon
status: success
plan_id: my-feature
file: config.toon
created: true

config:
  domains[1]:
  - java
  commit_strategy: per_task
  create_pr: true
  verification_required: true
  branch_strategy: feature
```

### get-domains

Get the domains array from config.toon.

```bash
python3 .plan/execute-script.py pm-workflow:manage-config:manage-config \
  get-domains --plan-id {plan_id}
```

**Output** (TOON):
```toon
status: success
plan_id: my-feature
domains[2]:
- java
- javascript
count: 2
```

### read

Read entire config.toon content.

```bash
python3 .plan/execute-script.py pm-workflow:manage-config:manage-config read \
  --plan-id {plan_id}
```

**Output** (TOON):
```toon
status: success
plan_id: my-feature

config:
  domains[1]:
  - java
  commit_strategy: per_task
```

### get

Get a specific field value. Supports nested field access via dot notation.

```bash
# Simple field
python3 .plan/execute-script.py pm-workflow:manage-config:manage-config get \
  --plan-id {plan_id} \
  --field commit_strategy
```

**Output** (TOON):
```toon
status: success
plan_id: my-feature
field: commit_strategy
value: per_task
```

### set

Set a specific field value.

```bash
python3 .plan/execute-script.py pm-workflow:manage-config:manage-config set \
  --plan-id {plan_id} \
  --field commit_strategy \
  --value per_plan
```

**Output** (TOON):
```toon
status: success
plan_id: my-feature
field: commit_strategy
value: per_plan
previous: per_task
```

### get-multi

Get multiple fields in one call.

```bash
python3 .plan/execute-script.py pm-workflow:manage-config:manage-config get-multi \
  --plan-id {plan_id} \
  --fields "commit_strategy,branch_strategy"
```

**Output** (TOON):
```toon
status: success
plan_id: my-feature
commit_strategy: per_task
branch_strategy: feature
```

---

## Scripts

| Script | Purpose | Usage |
|--------|---------|-------|
| `pm-workflow:manage-config:manage-config` | Per-plan config.toon operations | `python3 .plan/execute-script.py pm-workflow:manage-config:manage-config {subcommand} --help` |

---

## Validation Rules

| Field | Valid Values |
|-------|--------------|
| domains | lowercase identifiers (e.g., java, javascript, plan-marshall-plugin-dev, generic) |
| commit_strategy | per_task, per_plan, none |
| create_pr | true, false |
| verification_required | true, false |
| verification_command | any string |
| branch_strategy | feature, direct |

---

## Error Handling

```toon
status: error
plan_id: my-feature
error: invalid_domain
message: Invalid domain format: Java. Must be lowercase identifier
```

---

## Workflow Skill Resolution

Workflow skills are resolved from marshal.json (not config.toon):

```bash
python3 .plan/execute-script.py plan-marshall:manage-plan-marshall-config:plan-marshall-config \
  resolve-workflow-skill --domain {domain} --phase {phase}
```

See `plan-marshall:manage-plan-marshall-config` for workflow skill resolution.

---

## Integration Points

| Consumer | Operation | Purpose |
|----------|-----------|---------|
| plan-init-agent | `create` | Create config.toon with domains |
| solution-outline-agent | `get-domains` | Get domains for deliverable assignment |
| plan-execute | `read`, `get` | Read commit strategy, verification settings |
| plan-finalize | `get` | Check create_pr, branch_strategy |

---

## Related Skills

| Skill | Purpose |
|-------|---------|
| `plan-marshall:manage-plan-marshall-config` | Project-level marshal.json configuration, workflow skill resolution |

