Skip to content

plugins/claude-in-chrome-troubleshooting: shorten skill dir to fix Codex 64-char name limit#167

Closed
siteexperts wants to merge 2 commits into
trailofbits:mainfrom
siteexperts:fix/claude-in-chrome-skill-name-length
Closed

plugins/claude-in-chrome-troubleshooting: shorten skill dir to fix Codex 64-char name limit#167
siteexperts wants to merge 2 commits into
trailofbits:mainfrom
siteexperts:fix/claude-in-chrome-skill-name-length

Conversation

@siteexperts
Copy link
Copy Markdown

@siteexperts siteexperts commented May 16, 2026

Problem

Codex constructs each skill's internal name as <plugin-dir>-<frontmatter.name> and rejects anything over 64 chars. This plugin's defaults produced a 65-char joined name:

plugins/claude-in-chrome-troubleshooting   (plugin dir, 32 chars)
+
SKILL.md frontmatter `name: claude-in-chrome-troubleshooting` (32 chars)
= claude-in-chrome-troubleshooting-claude-in-chrome-troubleshooting (65 chars)

Codex error in the user's log (verified on macOS, ~/.codex/log/codex-tui.log):

ERROR codex_core::session: failed to load skill
  .../plugins/claude-in-chrome-troubleshooting/skills/troubleshooting/SKILL.md:
  invalid name: exceeds maximum length of 64 characters

Other single-skill trailofbits plugins with the plugin-name==skill-name pattern (e.g. ask-questions-if-underspecified at 63 chars) just barely fit; this one is two chars over.

Fix

Two changes:

  1. commit dbcf09d — Rename the inner skills/<name>/ directory from claude-in-chrome-troubleshootingtroubleshooting. Tidies up the layout and matches the convention used by multi-skill plugins like building-secure-contracts/skills/<distinct-skill-name>/. Also re-points .codex/skills/claude-in-chrome-troubleshooting symlink at the new path.

  2. commit cbfd05f — Rename the SKILL.md frontmatter name: field from claude-in-chrome-troubleshootingtroubleshooting. This is the load-bearing fix: Codex's joined-name calculation uses the frontmatter, not the dir name. Without this, the dir rename alone leaves the joined name at 65 chars.

After both changes, the joined name is claude-in-chrome-troubleshooting-troubleshooting (47 chars), well under the limit.

The plugin identity (plugin.json name) is unchanged at claude-in-chrome-troubleshooting.

Test plan

  • Verified locally: after both commits + Codex restart, the load-error stops firing in codex-tui.log.
  • Local clone has both commits applied; restart of Codex TUI confirms clean skill load.

…dex 64-char name limit

Codex constructs each skill's internal name as `<plugin-dir>-<skill-dir>`.
This plugin had the skill dir name equal to the plugin dir name
(both `claude-in-chrome-troubleshooting`, 32 chars each), producing
a 65-char joined name and failing Codex's 64-char name limit:

    failed to load skill .../plugins/claude-in-chrome-troubleshooting/
    skills/claude-in-chrome-troubleshooting/SKILL.md:
    invalid name: exceeds maximum length of 64 characters

Rename the inner `skills/<name>/` dir to `skills/troubleshooting/`
so the joined name becomes
`claude-in-chrome-troubleshooting-troubleshooting` (47 chars).
Also re-point `.codex/skills/claude-in-chrome-troubleshooting`
symlink at the new path. The skill's frontmatter `name:` and the
plugin's identity are unchanged.
@siteexperts siteexperts requested a review from dguido as a code owner May 16, 2026 23:02
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented May 16, 2026

CLA assistant check
All committers have signed the CLA.

…to drop joined name under 64 chars

The previous commit (dbcf09d) renamed the skill DIRECTORY from
`claude-in-chrome-troubleshooting` to `troubleshooting`, but Codex's
64-char limit is on `<plugin-dir>-<frontmatter.name>`, not
`<plugin-dir>-<skill-dir>`. So the load error persisted:

    failed to load skill .../plugins/claude-in-chrome-troubleshooting/
    skills/troubleshooting/SKILL.md:
    invalid name: exceeds maximum length of 64 characters

Joined name was still 32 + 1 + 32 = 65 chars because the
frontmatter still read `name: claude-in-chrome-troubleshooting`.

Rename the frontmatter `name:` to `troubleshooting`. Codex's
joined name is now `claude-in-chrome-troubleshooting-troubleshooting`
(47 chars), under the limit. Verified locally: restart Codex, the
load-error stops firing.

The plugin identity (plugin.json `name`) is unchanged.
@siteexperts
Copy link
Copy Markdown
Author

Closing — keeping the fix local on my end only. No further action needed from maintainers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants