codex - 💡(How to fix) Fix Expose explicit and implicit skill metadata in Stop hook payloads [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#17132Fetched 2026-04-09 08:02:07
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Participants
Timeline (top)
labeled ×4unlabeled ×2

Fix Action

Fix / Workaround

The patch does the following:

  • adds mentioned_skills and implicit_skills to the existing Stop hook input
  • populates them from the existing explicit and implicit skill paths
  • updates the generated stop-hook schema fixture
  • adds focused tests for both explicit and implicit cases
RAW_BUFFERClick to expand / collapse

What variant of Codex are you using?

CLI

What feature would you like to see?

Expose canonical skill invocation metadata on the existing Stop hook payload.

Today Codex already knows about two kinds of skill usage:

  • explicit skill usage from selected/mentioned skills
  • implicit skill usage detected from shell commands

But repo-local hooks cannot consume that information directly. Downstream integrations currently have to either:

  • parse rollout transcripts to recover explicit skill usage, or
  • reimplement Codex's shell-based implicit skill detection heuristically

It would be useful if the Stop hook input included two additive fields such as:

  • mentioned_skills: [{ name, path }]
  • implicit_skills: [{ name, path }]

This would let integrations consume Codex's own canonical view of skill usage from a stable hook surface, without depending on analytics-only internals or transcript parsing.

Why Stop seems like the right place:

  • Codex already has the turn-level skill context by then
  • the payload is already used for end-of-turn integration behavior
  • the change is additive, so existing Stop hooks would continue to work unchanged

Additional information

I looked through the current CLI behavior and found:

  • explicit skill information exists during turn construction
  • implicit skill invocation is already detected internally
  • neither is currently exposed to hook consumers in a first-class way

I have a focused implementation ready on a fork if this approach aligns with the intended direction:

The patch does the following:

  • adds mentioned_skills and implicit_skills to the existing Stop hook input
  • populates them from the existing explicit and implicit skill paths
  • updates the generated stop-hook schema fixture
  • adds focused tests for both explicit and implicit cases

If this direction is acceptable, I'd be happy to open an invited PR.

extent analysis

TL;DR

Expose canonical skill invocation metadata on the Stop hook payload by adding mentioned_skills and implicit_skills fields.

Guidance

  • Review the proposed implementation on the feat/stop-hook-skill-metadata branch to ensure it aligns with the intended direction.
  • Verify that the added fields (mentioned_skills and implicit_skills) are correctly populated from the existing explicit and implicit skill paths.
  • Test the updated Stop hook with both explicit and implicit skill usage cases to ensure backward compatibility and correct functionality.
  • Consider inviting a PR to integrate the proposed changes into the main branch.

Example

No code snippet is provided as the issue does not contain explicit code, but the proposed implementation on the feat/stop-hook-skill-metadata branch can be reviewed for details.

Notes

The proposed solution assumes that the Stop hook is the correct place to expose skill invocation metadata, and that the added fields will not break existing integrations.

Recommendation

Apply the proposed workaround by adding the mentioned_skills and implicit_skills fields to the Stop hook payload, as it provides a stable and canonical way for integrations to consume skill usage information.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING