[Codex] Mark workflow-only skills as explicit-only to reduce routing/context overhead

Author: homura144Created Sep 7, 2026Updated Sep 9, 2026

Background

The Codex-native ARIS mirror currently contains 82 skills under skills/skills-codex/.

Recent Codex versions support per-skill invocation policy through:

yaml
# <skill>/agents/openai.yaml
policy:
  allow_implicit_invocation: false

According to Codex's current skill-creator documentation, this keeps the skill available for explicit invocation via $skill-name, while preventing it from being automatically added to the model context.

Codex currently defaults allow_implicit_invocation to true when this policy is absent.

I could not find allow_implicit_invocation or corresponding agents/openai.yaml invocation policies in the current ARIS Codex skill mirror.

Why this may matter for ARIS

ARIS ships a relatively large skill set, and many skills appear to be specialized workflow stages or commands that users/orchestrators invoke intentionally.

Keeping all of them implicitly discoverable has two possible costs:

  1. Skill routing pollution — more unrelated skill descriptions participate in automatic skill selection.
  2. Context overhead — the name/description metadata for implicitly invocable skills is exposed to the model even when most of those skills are irrelevant to the current task.

This is related to existing user reports:

  • #118 reports ARIS skills mixing with other skill packs and causing incorrect workflow routing. The maintainer confirmed this was a real reliability issue. A later comment also notes that persistent AGENTS.md restrictions do not always prevent conflicts with other skill descriptions.
  • #149 reports that the large number of skills can feel redundant ("less is more") and that globally installed skills may cause the agent to invoke the wrong skill.

Project-local installation helps isolate ARIS from unrelated projects, but it does not address selection/context overhead among the ARIS skills themselves.

Proposal

Audit the Codex skill mirror and mark appropriate workflow-only / specialized-stage skills as explicit-only:

yaml
policy:
  allow_implicit_invocation: false

This proposal is not to disable implicit invocation for all ARIS skills.

Skills that are genuinely useful for automatic task routing should remain implicitly invocable. The policy would mainly target skills whose intended entry path is:

  • direct user invocation ($skill-name);
  • invocation from a known ARIS workflow/orchestrator;
  • narrow internal stages unlikely to be independently selected from arbitrary user prompts.

Expected benefits

  • Smaller model-visible skill metadata set.
  • Less competition between overlapping/specialized skill descriptions.
  • More deterministic ARIS workflow routing.
  • Users can still explicitly invoke every explicit-only skill with $skill-name.

Suggested acceptance criteria

  • Audit all skills/skills-codex/* skills for implicit-vs-explicit invocation intent.
  • Add agents/openai.yaml with allow_implicit_invocation: false to appropriate workflow-only/specialized skills.
  • Keep general-purpose skills that benefit from automatic discovery implicitly invocable.
  • Preserve $skill-name explicit invocation.
  • Add an inventory/test so Codex mirror regeneration does not accidentally drop invocation policies.
  • Document the policy distinction in skills/skills-codex/README.md.
  • Optionally measure model-visible skill metadata size before/after the change.

Refs: #118, #149

Source: wanshuiyin/Auto-claude-code-research-in-sleep