Use when installing or verifying this marketplace in Claude and Codex, aligning selected plugins, MCP settings, and Codex execution defaults.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add boisenoise/skills-collections --skill levn-ln-013-config-syncer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Levn Ln 013 Config Syncer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/boisenoise-levn-ln-013-config-syncer)More formats (shields.io, HTML) on the badges page.
---
name: ln-013-config-syncer
description: "Use when installing or verifying this marketplace in Claude and Codex, aligning selected plugins, MCP settings, and Codex execution defaults."
license: MIT
---
> **Paths:** File paths (`shared/`, `references/`) are relative to skills repo root. Locate this SKILL.md directory and go up one level for repo root.
# Marketplace and Config Aligner
**Type:** L3 Worker
**Category:** 0XX Shared
Installs or verifies this repository's marketplace and selected plugins for Claude Code and Codex CLI without making either agent the source of truth for the other. `agile-workflow` is the default development plugin; optional plugins are installed only when explicitly requested or selected. MCP and Codex policy settings are aligned non-destructively after marketplace health is known.
## MANDATORY READ
**MANDATORY READ:** Load `shared/references/coordinator_summary_contract.md`, `shared/references/environment_worker_runtime_contract.md`, and `shared/references/worker_runtime_contract.md`
**MANDATORY READ:** Load `shared/references/agent_skill_roots_contract.md`
---
## Input / Output
| Direction | Content |
|-----------|---------|
| **Input** | OS info, `disabled` flags per agent, `targets` (`claude` / `codex` / `both` / `all`), `plugins` (`agile-workflow` default, explicit list, or `all`), `dry_run` flag, optional `auto_install_providers` flag, optional `runId`, optional `summaryArtifactPath` |
| **Output** | Structured summary envelope with `payload.status` = `completed` / `skipped` / `error`, plus per-target alignment outcomes in `changes` / `detail` |
If `summaryArtifactPath` is provided, write the same summary JSON there. If not provided, return the summary inline and remain fully standalone. If `runId` is not provided, generate a standalone `run_id` before emitting the summary envelope.
`dry_run=true` is detection-only: do not register marketplaces, install plugins, edit MCP/Codex config, write `.bak` files, or auto-install providers. Return planned actions and drift details in the summary.
## Runtime
Runtime family: `environment-worker-runtime`
Phase profile:
1. `PHASE_0_CONFIG`
2. `PHASE_1_DISCOVER_STATE`
3. `PHASE_2_VERIFY_MARKETPLACE_INSTALLS`
4. `PHASE_3_ALIGN_MCP_SETTINGS`
5. `PHASE_4_ALIGN_CODEX_POLICY`
5a. `PHASE_4A_MCP_PROVIDER_CHECK`
6. `PHASE_5_WRITE_SUMMARY`
7. `PHASE_6_SELF_CHECK`
Runtime rules:
- emit `summary_kind=env-marketplace-align`
- standalone runs generate their own `run_id` and write the default worker-family artifact path
- managed runs require both `runId` and `summaryArtifactPath` and must write the summary to the exact provided path
- always write the validated summary artifact before terminal outcome
## Output Contract
Always build a structured `env-marketplace-align` summary envelope per:
- `shared/references/coordinator_summary_contract.md`
- `shared/references/environment_worker_runtime_contract.md`
Payload fields:
- `targets`
- `plugin_alignment`
- `marketplace_health`
- `mcp_alignment`
- `mcp_providers`
- `codex_execution_defaults`
- `status`
---
## Config Paths by OS
| Agent | Windows | macOS / Linux |
|-------|---------|---------------|
| **Claude** (primary) | `%USERPROFILE%\.claude.json` | `~/.claude.json` |
| **Claude** (fallback) | `%USERPROFILE%\.claude\settings.json` | `~/.claude/settings.json` |
| **Codex** | `%USERPROFILE%\.codex\config.toml` | `~/.codex/config.toml` |
---
## Workflow
```text
Discover State -> Verify Marketplace Installs -> Align MCP -> Align Codex Policy -> Verify & Report
```
### Phase 1: Discover State
1. Read Claude settings:
- `~/.claude.json` (primary) + `~/.claude/settings.json` (fallback)
- extract `mcpServers`, enabled marketplaces/plugins, and hook state
2. Read Codex config:
- `~/.codex/config.toml`
- extract `[mcp_servers.*]`, `[marketplaces.*]`, top-level `approval_policy`, and top-level `sandbox_mode`
3. Inspect repo marketplace surfaces:
- Claude: `.claude-plugin/marketplace.json`
- Codex: `.agents/plugins/marketplace.json`
- Codex plugin manifests: `plugins/*/.codex-plugin/plugin.json`
4. Resolve plugin selection:
- always include `agile-workflow`
- if `plugins=all`, include every plugin listed by the marketplace
- if an explicit list is provided, install `agile-workflow` plus the requested plugins
- if interactive and optional plugins are not specified, ask which optional plugins to install
- if non-interactive and optional plugins are not specified, install or verify only `agile-workflow`
5. Display current state table with enabled targets, selected plugins, marketplace health, duplicate-risk findings, and Codex execution-default drift.
### Phase 2: Verify Marketplace Installs
For each target where `disabled` is not `true`:
| Target | Expected install model | Verification |
|--------|------------------------|--------------|
| Claude | Native Claude marketplace | Marketplace is registered through Claude plugin settings and selected plugins resolve from `.claude-plugin/marketplace.json` |
| Codex | Native Codex marketplace | Marketplace is registered through Codex plugin settings and selected plugins resolve from `.agents/plugins/marketplace.json` / `plugins/*/.codex-plugin/plugin.json` |
Install policy:
- Claude marketplace: `/plugin marketplace add levnikolaevich/claude-code-skills`
- Claude plugin: `/plugin install {plugin}@levnikolaevich-skills-marketplace`
- Codex marketplace: `codex plugin marketplace add levnikolaevich/claude-code-skills`
- Codex plugin selection: verify selected plugins exist in `.agents/plugins/marketplace.json` and `plugins/{plugin}/.codex-plugin/plugin.json`; if the installed Codex version exposes plugin-level selection only through an interactive native flow, report that exact step instead of fabricating a non-existent CLI command
Rules:
- If `dry_run=true`, do not run marketplace add/install commands; report the exact commands that would run.
- Do not symlink or junction Claude plugin roots into Codex discovery roots.
- Do not expose both the Claude bridge surface and Codex native surface to the same Codex runtime at once; duplicate skill names are an alignment failure.
- Do not delete user plugin roots. If duplicate active roots are detected, report the exact paths and ask for explicit cleanup approval.
- Do not install optional plugins silently.
- Run `node skills-catalog/shared/scripts/marketplace/sync-codex-adapters.mjs validate` when the repo root is available. Report failure as marketplace drift.
### Phase 3: Align MCP Settings
MCP settings are aligned by server name. No target is the universal source of truth.
Merge strategy:
1. Build a union of Claude `mcpServers` and Codex `[mcp_servers.*]`.
2. For matching names, preserve target-only fields and update only fields that are semantically equivalent.
3. For missing servers, add them to the requested target after format conversion.
4. Create `.bak` before modifying any config file.
5. Preserve target-only servers and unrelated config sections.
6. If `dry_run=true`, report the merge plan only; do not create `.bak` files or edit config.
Field mapping:
| Semantic field | Claude JSON | Codex TOML |
|---|---|---|
| command | `command` | `command` |
| args | `args` | `args` |
| env | `env` | `[mcp_servers.{name}.env]` |
| HTTP URL | `type: "http"` + `url` | `url` |
| headers | `headers` | `http_headers` |
Codex-only fields to preserve:
`bearer_token_env_var`, `enabled_tools`, `disabled_tools`, `startup_timeout_sec`, `tool_timeout_sec`, `enabled`, `required`
**Windows implementation note:** Config format conversions with regex or backslash escaping MUST use a temporary `.mjs` script file, not inline `node -e` or bash heredocs.
### Phase 4: Align Hooks and Codex Policy
**Claude hooks:**
- Claude hook/style sync remains Claude-only.
- Do not project Claude hooks into Codex.
**Codex execution defaults:**
Managed Codex defaults for low-friction setup:
```toml
approval_policy = "never"
sandbox_mode = "danger-full-access"
```
Decision logic:
| Condition | Action |
|-----------|--------|
| Codex target `disabled: true` | SKIP, report `disabled` |
| defaults already present | SKIP, report `already aligned` |
| one or both keys missing/drifted | Patch only top-level managed keys, preserve unrelated keys/tables, create `.bak` first |
Rules:
- Manage only top-level `approval_policy` and top-level `sandbox_mode`.
- Do not rewrite `[windows].sandbox`; it is a different Windows-specific knob.
- Preserve unrelated Codex config sections such as `model`, `projects`, `notice`, `[marketplaces.*]`, and `[mcp_servers.*]`.
### Phase 4a: MCP Provider Check
**MANDATORY READ:** Load `references/mcp_provider_requirements.md`.
Runs once per project invocation after MCP alignment. Goal: ensure every MCP server referenced in any aligned config has its language-analyzer providers available for the languages the project actually uses.
1. **Enumerate MCP servers.** Union of MCP servers across Claude and Codex configs. Deduplicate by name.
2. **Detect project languages.** Probe in order, cheapest first: `pyproject.toml`, `package.json`, `tsconfig.json`, `Cargo.toml`, `go.mod`, `*.csproj`. Use `mcp__hex-line__inspect_path` to probe; do not shell out.
3. **Look up provider requirements.** Read `references/mcp_provider_requirements.md`. For `hex-graph`, delegate to `mcp__hex-graph__install_graph_providers`.
4. **Run provider check.** Call `mcp__hex-graph__install_graph_providers({ mode: "check", path: <project_root> })`. Do NOT auto-install unless `auto_install_providers=true`.
5. **Record result.** Write into `environment_state.json` under `mcp_providers`.
### Phase 5: Verify & Report
Verify:
- Claude marketplace registration resolves the expected source
- Codex marketplace registration resolves the expected source
- Codex native adapters validate against the Claude marketplace
- No duplicate active Codex skill surfaces point to this repo
- Codex `approval_policy = "never"`
- Codex `sandbox_mode = "danger-full-access"`
- MCP targets were merged without deleting target-only settings
```text
Marketplace and Config Alignment:
| Action | Target | Status |
|----------------|--------|-----------------------------------------------------|
| Marketplace | Claude | registered; agile-workflow installed |
| Marketplace | Codex | registered; native adapters validated |
| MCP align | Claude | 4 servers aligned (0 deleted) |
| MCP align | Codex | 4 servers aligned (1 new) |
| Execution mode | Codex | approval_policy=never; sandbox_mode=danger-full-access |
| Hooks | Codex | skipped (not supported) |
```
---
## Critical Rules
1. **Independent installs.** Claude and Codex install skills through their own native marketplace flows.
2. **No agent is the source of truth for another agent's skill installs.**
3. **Default plugin set.** `agile-workflow` is installed or verified by default because it contains the development workflow.
4. **Optional plugins are explicit.** Install non-default plugins only when requested, selected, or `plugins=all`.
5. **No project command copying.** Do not copy `.claude/commands` into Codex; project-local commands are host-specific unless represented as marketplace skills/plugins.
6. **Non-destructive merge.** Target-only servers and settings are preserved.
7. **No duplicate active surfaces.** One runtime must not see the same skill names from both bridge and native adapter roots.
8. **No data loss.** Real directories at target paths -> warn and skip, never delete blindly.
9. **Backup before write.** Create `.bak` before modifying any config file.
10. **Dry run is read-only.** `dry_run=true` reports planned commands and config changes without mutating user or repo-tracked state.
11. **Respect `disabled` flags.** Skip all operations for disabled agents.
12. **Idempotent.** Safe to run multiple times. Already-aligned state is skipped.
13. **Claude and Codex only.** Do not add unrelated agent branches.
## Anti-Patterns
| DON'T | DO |
|-------|-----|
| Treat Claude as Codex source of truth | Install each agent independently |
| Symlink `.codex/skills` to `.claude/plugins` | Use Codex native marketplace registration |
| Expose both bridge and native Codex surfaces at once | Keep exactly one active Codex install surface |
| Install every marketplace plugin by default | Install `agile-workflow` by default and require explicit selection for the rest |
| Copy project-local `.claude/commands` to Codex | Represent reusable behavior as marketplace skills/plugins |
| Overwrite target config from scratch | Read -> deep-merge -> backup -> edit |
| Delete plugin/cache directories automatically | Report exact cleanup steps and require explicit approval |
---
## Definition of Done
- [ ] Claude and Codex target configs discovered
- [ ] Marketplace registrations verified or installed per target
- [ ] `agile-workflow` verified or installed for enabled targets
- [ ] Optional plugins installed only when explicitly requested or selected
- [ ] `dry_run=true` performed no marketplace, plugin, config, backup, or provider mutations
- [ ] Skill install surfaces verified without duplicate active roots
- [ ] Codex native adapters validated
- [ ] MCP settings aligned without deleting target-only settings
- [ ] Codex execution defaults aligned or explicitly reported as drift
- [ ] Hooks handled only for supported targets
- [ ] MCP provider check completed or explicitly skipped
- [ ] Structured summary returned
- [ ] Summary artifact written to the managed or standalone runtime path
---
**Version:** 2.0.0
**Last Updated:** 2026-04-14
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!