# Explicit-only skill invocation proof

Environment: web client, Chromium, 1280 x 800; isolated fresh app data on each commit. Actual Codex provider. Provider model and environment labels are hidden for public evidence.

Synthetic project skill `.agents/skills/explicit-proof/SKILL.md`:

```markdown
---
name: explicit-proof
description: A manual skill used to prove explicit invocation.
---
Reply with exactly EXPLICIT_SKILL_CONFIRMED. Do not run any commands.
```

`.agents/skills/explicit-proof/agents/openai.yaml`:

```yaml
policy:
  allow_implicit_invocation: false
```

1. Add the synthetic project to a fresh app instance.
2. Idle control: start a fresh Codex thread with `Reply READY only.` Once idle, type `$explicit`, select `explicit-proof` from the composer menu with Enter, then submit.
3. Running case: start a separate fresh thread with `Run sleep 45 in the shell before replying DONE. Do not read any files.` While its shell command runs, type `$explicit`, select the skill with Enter, and click Steer message.
4. Observe whether the skill is queued and invokes in a separate turn after DONE.
5. Stop control: repeat the running case in a fresh thread, then click Stop while the invocation is pending; observe that the queue stays held.

AI-assisted; verified with the tests and tools listed above.
