agent-harness-design
Designing agent harnesses and tool systems — risk taxonomy for tools, permission decisions, draft/commit pattern, structured tool…
Scaffold a new layer in a project's docs/layers/ tree following the feature-layer architecture (principle 28). A layer is a bounded concern (security, data, ui, infrastructure, domain) with its own invariants, decisions, gotchas, patterns, and feature narratives. Use when:
$ npx -y skills add AnastasiyaW/codex-claude-code-config --skill layer-new --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/layer-newContext preview
The summary Claude sees to decide when to auto-load this skill.
Scaffold a new layer in a project's docs/layers/ tree following the feature-layer architecture (principle 28). A layer is a bounded concern (security, data, ui, infrastructure, domain) with its own invariants, decisions, gotchas, patterns, and feature narratives. Use when:
name: layer-new description: > Scaffold a new layer in a project's docs/layers/ tree following the feature-layer architecture (principle 28). A layer is a bounded concern (security, data, ui, infrastructure, domain) with its own invariants, decisions, gotchas, patterns, and feature narratives. Use when: "create a new layer", "add security layer", "scaffold layer", "start tracking <concern> separately", "/layer-new", "add bounded concern". Operates on the kb-skeleton structure; idempotent -- will not overwrite existing layers. Do NOT use to scaffold an individual feature narrative inside an existing layer; use /feature-new for that (a layer is the container, not the per-feature doc). user-invocable: true model: sonnet
Creates `docs/layers/<layer-name>/` with the full template structure defined by [principle 28](https://github.com/AnastasiyaW/claude-code-config/blob/main/principles/28-feature-layer-architecture.md).
justified)
inside an existing layer instead
/layer-new <layer-name> [--purpose "..."] [--principles P-NN,P-MM]
`security`, `data`, `image-processing`, `observability`.
this layer (e.g. `P-02,P-21`). If omitted, leave placeholder in README.
Check the current working directory:
1. Is it a git repository? Run `git rev-parse --show-toplevel`. If not, ask the user whether to initialize one (offer `git init` + private GitHub repo per global rule). 2. Does `docs/` exist? If not, create it. 3. Does `docs/layers/README.md` exist? If not, copy from `<claude-code-skills-checkout>/templates/kb-skeleton/docs/layers/README.md`. 4. Check if `docs/layers/<layer-name>/` already exists. If yes, **stop** with a message -- do not overwrite. Suggest `/feature-new <layer> <slug>` instead.
`build`).
Source: `<claude-code-skills-checkout>/templates/kb-skeleton/docs/layers/_LAYER-TEMPLATE/`
Destination: `<repo>/docs/layers/<layer-name>/`
Copy the entire directory tree. Preserve subdirectory structure (`kb/` and `features/`). Result:
docs/layers/<layer-name>/
├── README.md
├── history.md
├── kb/
│ ├── invariants.md
│ ├── decisions.md
│ ├── gotchas.md
│ └── patterns.md
└── features/
└── _FEATURE-TEMPLATE.mdIn every file under the new layer, replace:
"Image Processing")
In `README.md` specifically:
or prompt the user
or leave the placeholder bullets in place for the user to fill
In `history.md`:
(YYYY-MM-DD) and the originating reason. Prompt the user for the reason if not provided.
Update `docs/layers/README.md`:
`| <layer-name> | <purpose> | active |`
with no edges (user will add edges as dependencies form).
If the project has `feature_list.json` at repo root, leave it alone -- features get added by `/feature-new`. Do not edit `feature_list.json` from this skill.
If the project has `AGENTS.md`, suggest (but do not auto-edit) adding the new layer to the "Source-of-truth docs" table if multiple layers exist.
Print a summary:
Layer created: docs/layers/<layer-name>/ Files: 1 README, 1 history, 4 kb/, 1 feature template Suggested next steps: 1. Fill governing principles in docs/layers/<layer-name>/README.md 2. Write the first feature: /feature-new <layer-name> <slug> 3. Add the first invariant when it earns its place
tree to copy
template (used only if missing)
`/layer-new wrong-name` then realizes they wanted `right-name`, manually rename the directory and update references. This skill does NOT detect or fix duplicates.
`docs/<layer-name>/` exists at the `docs/` root (not under `docs/layers/`), refuse and ask the user which they want -- there is no automatic merge.
`<claude-code-skills-checkout>/templates/kb-skeleton/docs/layers/_LAYER-TEMPLATE/` does not exist (e.g. user is on a different machine), fall back to reading from `https://github.com/AnastasiyaW/claude-code-config/tree/main/templates/kb-skeleton/docs/layers/_LAYER-TEMPLATE` via `gh api`.
A practical configuration kit for Claude Code, Codex, and other coding agents. It contains architectural principles, enforcement hooks, skills, drop-in rules, starter templates, and dynamic-workflow commands.
Designing agent harnesses and tool systems — risk taxonomy for tools, permission decisions, draft/commit pattern, structured tool…
Use when designing, auditing, refactoring, or explaining an agentic harness for any domain, especially when work must continue…
Практическая инженерия диффузионных моделей: архитектуры, обучение, инференс, оптимизация памяти. Использовать при любых задачах…
Expert prompt engineering for FLUX.2 [klein] image generation and editing model. Use this skill whenever the user wants to create…
Plan or review LoRA and edit-training work specifically for FLUX.2 Klein or Qwen-Image-Edit, including paired datasets,…
Forensic image-to-prompt compiler for image generation models. Use this skill whenever the user wants to: convert/describe an…