agent-harness-design
Designing agent harnesses and tool systems — risk taxonomy for tools, permission decisions, draft/commit pattern, structured tool…
Keep web applications, APIs and services readable as they grow: choose feature or domain seams, assign state ownership, enforce dependency direction, keep adapters thin, and verify file shape. Use when starting or extending a web app, backend, frontend, API or multi-page
$ npx -y skills add AnastasiyaW/codex-claude-code-config --skill architecture-quality --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/architecture-qualityContext preview
The summary Claude sees to decide when to auto-load this skill.
Keep web applications, APIs and services readable as they grow: choose feature or domain seams, assign state ownership, enforce dependency direction, keep adapters thin, and verify file shape. Use when starting or extending a web app, backend, frontend, API or multi-page
name: architecture-quality description: > Keep web applications, APIs and services readable as they grow: choose feature or domain seams, assign state ownership, enforce dependency direction, keep adapters thin, and verify file shape. Use when starting or extending a web app, backend, frontend, API or multi-page product; when a change makes a module hard to read; when architecture review finds a god file, cross-feature imports, a circular dependency or a framework-heavy domain. Load architecture-first first for a new system, and refactoring-safely for an existing oversized module. Do not use for a one-file script, throwaway spike or a purely local naming change.
This skill turns the architecture decision into a small, repeatable delivery contract. It complements `architecture-first`; it does not add layers for their own sake.
Before a non-trivial web or service change, record these five facts in `ARCHITECTURE.md` or `docs/architecture/README.md`:
1. **Feature/domain modules** — name them by reason to change, not by a generic `utils`, `helpers` or `services` bucket. 2. **Ownership** — each mutable state, database table boundary and external side effect has one owner. 3. **Dependency direction** — policy/domain code is independent of the web framework, ORM, queue and filesystem; adapters point inward through small ports. 4. **Vertical slice** — prove one user-visible path from entry point to state and test before multiplying layers or pages. 5. **Verification boundary** — list the architecture checks and the test command that must remain green after the change.
If the project is a small script or a single-module experiment, state that scope and skip the document. A missing document is a finding only once the project has enough shape to need one, not a reason to create ceremony around a toy.
result and return. Do not put business policy, SQL and provider retries in a route.
clocks, queues and providers; keep concrete adapters at the edge.
features, but one feature must not reach into another feature's private state.
visual primitives, not a second business-logic layer.
code to the module that owns its reason to change; do not create a universal bag.
proven. A microservice split is not a substitute for a missing internal boundary.
Run the repository audit before broadening a new app and after a structural change:
python scripts/architecture_audit.py --root .
The audit is intentionally conservative. It reports, rather than invents, findings:
The live `module-shape-advisor.py` hook repeats the file-shape check after `Write|Edit|MultiEdit` in both Codex and Claude. It is advisory: acknowledge the finding, split at an ownership boundary, or record why the file is intentionally large. `CLAUDE_ALLOW_BIG_MODULES=1` is an explicit, reviewable escape hatch, not a default.
For dependency rules, use the tool native to the stack when the project has earned it:
folder edges;
a domain architecture from a raw include graph alone.
Do not install all four. Pick one boundary mechanism, commit its rules, and run it in the same CI lane as the tests that prove the behavior.
a reason and expiry?
change? If yes, split the seam before adding more behavior.
evidence together?
only makes the same coupling harder to see.
generic `ApplicationService` is often a god module with a nicer name.
declarative tables need explicit exemptions; production logic needs an explanation before an exemption.
deployment and observability costs; prove the module boundary first.
| Symptom | Likely cause | Action | |---|---|---| | The audit reports a missing architecture anchor | An app marker and several source files exist, but the boundary is implicit | Write the small module/ownership/dependency map before adding more features | | `module-shape-advisor` reports a large file | Local edits accumulated in one ownership boundary | Add characterization tests, split one
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…