mirror of
https://github.com/NVIDIA/Model-Optimizer.git
synced 2026-10-02 03:14:52 +08:00
### What does this PR do? Type of change: new feature Adding sub-agent definition for Day 0 workflows. I'm adding subagents as an alternative, while we evaluate which is better. They are duplicated because Claude & Codex have different formats & different locations. Deriving from a shared vendor-neutral format at build-time is too complicated. ### Usage Tell your agent "Use the modelopt_model_quantizer agent to quantize the model" ### Testing Ran a trial using Qwen-2.5, Muse Glimmer, Qwen-2.8, and GLM-5.3-Flash. ### Before your PR is "*Ready for review*" Make sure you read and follow [Contributor guidelines](https://github.com/NVIDIA/Model-Optimizer/blob/main/CONTRIBUTING.md) and your commits are signed (`git commit -s -S`). Make sure you read and follow the [Security Best Practices](https://github.com/NVIDIA/Model-Optimizer/blob/main/SECURITY.md#security-coding-practices-for-contributors) (e.g. avoiding hardcoded `trust_remote_code=True`, `torch.load(..., weights_only=False)`, `pickle`, etc.). - Is this change backward compatible?: ✅ - If you copied code from any other sources or added a new PIP dependency, did you follow guidance in `CONTRIBUTING.md`: ✅ - Did you write any new necessary tests?: ✅ - Did you update [Changelog](https://github.com/NVIDIA/Model-Optimizer/blob/main/CHANGELOG.rst)?: ✅ / ❌ / N/A <!--- Only for new features, API changes, critical bug fixes or backward incompatible changes. --> - Did you get Claude approval on this PR?: ✅ / ❌ / N/A <!--- Run `/claude review`. NVIDIA org members can self-trigger for complex changes; orthogonal to CodeRabbit. --> ### Additional Information See design doc. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## New Features - Added specialized Model Optimizer agents for downloading, quantization, recipe search, evaluation, deployment, and performance benchmarking. - Added coordinated Codex and Claude Code access with validation requirements, artifact preservation, and concise handoffs. - Improved skill discovery across plugin and repository installations. ## Documentation - Clarified agent discovery, layout, and canonical editing locations. - Updated configuration guidance for supported agent definitions. ## Tests - Added synchronization checks for agent definitions and links. - Improved test compatibility for Python versions below 3.11. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Chad Voegele <cvoegele@nvidia.com>
.agents/ — agent compatibility and shared config
This directory exposes the ModelOpt plugin skills to repository-local agents and holds shared configuration.
Layout
.agents/
├── skills → ../plugins/modelopt/skills
├── plugins/
│ └── marketplace.json # Codex marketplace
├── scripts/ # shared helper scripts (sync-upstream-skills.sh, …)
└── clusters.yaml.example # remote-cluster config template
.codex/
└── agents/ # Codex project role definitions
plugins/modelopt/
├── .claude-plugin/
├── .codex-plugin/
├── agents/ # Claude Code subagent definitions
└── skills/ # canonical SKILL.md files
├── common/ # shared skill support files
└── <skill-name>/SKILL.md
How each agent finds these
Each agent points at .agents/ through whatever mechanism it supports — never
a copy:
- Claude Code only auto-discovers skills under
.claude/skills/, so.claude/skills/holds relative symlinks into.agents/skills/. - Repository agents use
.agents/skills, a relative symlink into the plugin. - Claude Code and Codex plugins load
plugins/modelopt/skillsdirectly. - Claude Code loads subagents from
plugins/modelopt/agents/through the plugin, while.claude/agents/*.mdsymlinks expose them to repository users. - Codex discovers project roles directly under
.codex/agents/. Codex plugins cannot currently install custom roles.
Editing rules
- Always edit skills under
plugins/modelopt/skills/. - Claude Code subagents belong in
plugins/modelopt/agents/, not.claude/agents/. - Codex custom roles belong in
.codex/agents/. - Vendored-verbatim skills (
launching-evals,accessing-mlflow) are managed by.agents/scripts/sync-upstream-skills.sh— do not modify by hand. - New skills go in
plugins/modelopt/skills/<skill-name>/SKILL.md. - Shared support files go in
plugins/modelopt/skills/common/.
Project-level cluster config
The remote-execution skills look for a clusters.yaml at, in order:
~/.config/modelopt/clusters.yaml(user-level, recommended)<repo-root>/.agents/clusters.yaml(project-level, canonical)<repo-root>/.claude/clusters.yaml(project-level, back-compat)
See clusters.yaml.example for the schema.