About agent-config
agent-config plans an execution topology, model tier, and effort for coding-agent work using verified host capabilities and user-confirmed profiles. It supports several named harnesses and uses a generic fallback for others.
Key features
- 01Topology and model routing
- 02Host capability inspection
- 03Task shape and difficulty assessment
- 04Setup and profile configuration
- 05Approval-gated host changes
Use cases
- 01Planning complex multi-agent work
- 02Configuring host models and tiers
- 03Routing a bounded task by difficulty
MCP support
An optional companion MCP provides setup status, confirmed profile evidence, and configuration tools. Without it, session input or plan-only operation may be used.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ light-cheng/ skills --skill agent-configAfter installing, type/agent-configin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/companion-contract.mdexamples.mdharness-support.mdhost-evidence-schema.mdplan-schema.mdprofile-schema.mdprovider-adapter-contract.mdrouting.mdsetup.mdtask-assessment.mdscripts/__init__.pyabstract_profiler.pyagent_config_models.pyagent_config.pycandidate_selector.pydecision_source.pyharness_adapter.pytests/fixtures/adapter-scenarios.jsoncase-a-tiered-single-pass.jsoncase-b-tiered-decomposed.jsoncase-c-fixed-single-pass.jsoncase-d-fixed-decomposed.jsonexecution-config-case-a.jsonexecution-config-case-b.jsonexecution-config-case-c.jsonexecution-config-case-d.jsonfalse-inventory.jsonmissing-model-evidence.jsonmissing-reasoning-control.jsonDetails
From the project READMEAgent Config
agent-config maps verified Agent Host capabilities and user-confirmed profile tiers to a right-sized execution topology, model, and effort. It provides native support for primary coding-agent harnesses (Codex, Claude Code, Antigravity, DSH, OpenCode, ZCode, Cursor, Grok Build, Hermes, Pi) with safe generic/manual fallback for others. It has no required companion capability, no external Skill, and no external service requirements.
When to use
- Before complex multi-agent or partitioned work where topology, model tier, or effort matters.
- Explicit setup intent (
agent-config setup) to configure or reconfigure host models and tiers. - When invoked or offered by
light-implementorask-light.
Inputs
- Bounded task, SPEC, or ticket graph.
- Evidenced host capabilities and confirmed profile (via companion MCP or session input).
The script entry scripts/agent_config.py takes canonical Host and Profile
evidence; missing, stale or mismatched evidence returns NEED_INPUT. Flags
and rules: host-evidence-schema.md.
Setup Gate
- Explicit setup: If invoked with setup intent (
agent-config setup), run setup mode to prepare or repair the runtime environment and Profile (seereferences/setup.md). Setup never plans execution for the current task. - Normal invocation:
agent-configis the only mode that plans execution topology and routing for current work. Check setup status via companionget_setup_status; health rules are in companion-contract.md. If companion is missing/stale, offer setup or continue plan-only. If Profile is missing or stale, offer setup or continue session-local where safely possible. Never silently enter setup, auto-install MCP tools, or mutate host files.
Output Contract: AgentConfigResult
agent-config yields a canonical AgentConfigResult envelope:
readiness:READY | NEED_INPUT | NEED_PROJECT_TICKETS | BLOCKED | UNSUPPORTED(authoritative execution-readiness; redundant status removed).mode:persisted | session-local | plan-onlysetup_state:companion(ready | missing | stale),profile(persisted | session-local | missing).handoff:"project-tickets" | "setup" | "light-implement" | nullexecution_config:ExecutionConfig | null(strictly present whenreadiness === "READY"; strictlynullfor all non-ready states).
Core flow
- Setup check: Verify a confirmed profile via a healthy companion or session input. Never guess single-model without a profile.
- Inspect host: Read active models, supported effort values, and concurrency limits.
- Determine task shape: Classify as
single-passordecomposed(never by word count). - Decomposition gate: If decomposed and formal tickets do not exist, emit
readiness: NEED_PROJECT_TICKETS,handoff: "project-tickets",execution_config: null, and return the ticketing recommendation to the caller. - Difficulty & tier: For multi-model, map work difficulty (
routine..critical) to user-confirmed profile tiers (routine,standard,high,review). When the difficulty or reasoning need is not stated, the script may ask a typed decision source (see Optional capabilities). - Resolve effort: Resolve abstract policies (e.g.
highest-supported) strictly to verified host-supported strings (e.g.high), never emitting unverified literalmax. - Select execution mode:
- Case A (Fixed Single-model + Single-pass): Direct execution in main session, single model, resolved effort, no fake roles.
- Case B (Fixed Single-model + Decomposed, P0): Controller main session coordinates fresh worker contexts, same model, actual effort.
- Case C (Tiered Multi-model + Single-pass): User-configured tier mapped from task difficulty, minimal topology.
- Case D (Tiered Multi-model + Decomposed, P0): Ticket difficulty mapped to user profile tiers, resolved effort, Controller integration.
- Emit plan & apply: Output plan conforming to
references/plan-schema.mdandAgentConfigResult. Host config mutations require preview approval (preview_configuration→ user approval →apply_configuration→validate_configuration).
Invariants
- No intelligence guessing: Never infer model strength from names or metadata; model tiers are strictly user-confirmed.
- Single-model is first-class: Single-model is a peer topology, not a degraded fallback. Case B and Case D are both P0 paths.
- No silent mutation: No automatic package installations, background daemons, or host file edits without explicit consent.
- Anti-wordcount rule: Semantic complexity and dependencies determine task shape, never prose length.
Handoff
- Return
AgentConfigResultto the caller;handoffnames a recommendation, not permission to start another Skill. - An already active
light-implementcaller may resume its authorized bounded item whenreadiness === "READY". - For standalone invocation, recommend explicit
$light-implementwhen ready or$project-ticketswhen tickets are needed, then stop. Starting either user-invoked stage requires explicit user approval for that exact target and verified host transition support; otherwise show its exact invocation. - Code review converges via
review-loop; final acceptance belongs toproject-review.
Optional capabilities
- Complexity or reasoning need is not stated → the task profiler asks
through the light-decide script path; when you judge without the script,
call
light-decidewith question idsagent-config/task-complexityoragent-config/reasoning-need. It asks only within the project'sDecision data:limit (no line means on-device), applies an answer only when the user's policy file calibrates that question, and applies a downgrade only when the score sits clearly inside the lower bin. Unavailable or uncalibrated → keep the deterministic profile. A judgment never confirms a Profile or changes Host configuration.
References
references/setup.md— Setup questionnaire and tier binding flowreferences/routing.md— 4 peer execution modes and topology selectionreferences/task-assessment.md— Task shape and difficulty criteriareferences/companion-contract.md— Companion MCP tool protocol (8 tools)references/harness-support.md— Primary coding-agent harnesses (10 native adapters) and generic fallbackreferences/profile-schema.md— Host-scoped profile schemareferences/plan-schema.md— Execution plan format and review semanticsreferences/host-evidence-schema.md— Host evidence schema v2references/provider-adapter-contract.md— Adapter boundaries and preview-apply