Skip to content

Distributable skills reference a non-existent .Codex/hooks/ path — hooks silently no-op #74

Description

@jtomylew

Summary

Three hook invocations across two distributable skills point at .Codex/hooks/, which doesn't exist in the repo (the real hook directory is .claude/hooks/). Skill-scoped hooks fail silently when the script path is missing, so the affected automation just doesn't run — no error surfaces. One of the three referenced scripts isn't shipped at all.

Found while adding AGENTS.md multi-agent support to a personal fork; this is a stock-repo bug, not fork-specific.

Affected references (on main, June 2026)

File:line Referenced path Real location Status
.agents/skills/process-meetings/SKILL.md:10 .Codex/hooks/post-meeting-person-update.cjs .claude/hooks/post-meeting-person-update.cjs exists — wrong path
.agents/skills/process-meetings/SKILL.md:13 .Codex/hooks/meeting-summary-generator.cjs .claude/hooks/meeting-summary-generator.cjs exists — wrong path
.agents/skills/getting-started/SKILL.md:859 .Codex/hooks/integration-concierge.cjs not present anywhere in repo

Two distinct problems

  1. Wrong path prefix (process-meetings). The two meeting hooks exist under .claude/hooks/ but are invoked from .Codex/hooks/. They never fire → after /process-meetings, person pages don't get the auto-update and meeting summaries aren't generated.
  2. Missing script (getting-started). integration-concierge.cjs is referenced but ships at no path. Correcting the prefix alone won't fix it — the file needs to be added, or the reference removed/guarded.

How to confirm

# wrong-path refs:
git grep -n "\.Codex/hooks" -- '.agents/skills/*'
# real hooks exist here:
ls .claude/hooks/post-meeting-person-update.cjs .claude/hooks/meeting-summary-generator.cjs
# missing script ships nowhere:
git ls-files | grep integration-concierge   # → no output

Impact

  • /process-meetings: person-page updates and summary generation silently skip. Person pages stop accreting meeting history with no signal that anything failed — invisible until you go looking for context that isn't there.
  • /getting-started: the integration-concierge nudge can never run.

Likely root cause

Looks like a ClaudeCodex find-and-replace pass (probably a Codex onboarding/init step) mangled .claude/.Codex/ in the skill text. Worth grepping the whole distribution for other find-replace artifacts before release — naive case-replacing across product names and paths is an easy footgun (claude.ai, ~/.claude/..., .claude/hooks/ all get caught).

Proposed fix

  1. process-meetings/SKILL.md lines 10, 13 — .Codex/hooks/.claude/hooks/.
  2. getting-started/SKILL.md line 859 — add integration-concierge.cjs to .claude/hooks/, or remove/guard the reference if the concierge was cut.
  3. Add a release check: git grep -n "\.Codex/" -- '.agents/skills/*' should return nothing.

Happy to open a PR for #1 and #3 (mechanical). #2 needs a maintainer call on whether the concierge script still exists somewhere.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions