Skip to content

fix(plugin): point manifest agents at .md files, not a directory#40

Merged
CodeWithJuber merged 1 commit into
masterfrom
claude/whitepaper-implementation-plan-x8f7bh
Jul 8, 2026
Merged

fix(plugin): point manifest agents at .md files, not a directory#40
CodeWithJuber merged 1 commit into
masterfrom
claude/whitepaper-implementation-plan-x8f7bh

Conversation

@CodeWithJuber

Copy link
Copy Markdown
Owner

What & why

Installing the plugin in Claude Code failed with:

Failed to install: Plugin … has an invalid manifest file at …/.claude-plugin/plugin.json.
Validation errors: agents: Invalid input

Root cause: the Claude Code plugin manifest schema requires each agents entry to be a path to a markdown agent file (pattern ^\./.*\.md$). The skills field may point at a directory, but agents may not. Our manifest had "agents": "./global/crew" (a directory), so schema validation rejected it. skills: "./global/tools" was accepted, which is why only agents was flagged.

Fix: list the four crew agents explicitly as ./global/crew/*.md file paths:

"agents": [
  "./global/crew/frontend-verifier.md",
  "./global/crew/independent-reviewer.md",
  "./global/crew/scout.md",
  "./global/crew/verifier.md"
]

The test/channels.test.js "plugin channel points at global/" test had pinned the invalid directory value (assert.equal(plugin.agents, "./global/crew")) — i.e. it was locking the bug in. Updated it to assert the array form, that every entry matches the schema's ./global/crew/*.md pattern, and that each referenced file exists on disk.

Checklist

  • npm test passes — 439 pass / 0 fail / 2 skip
  • npm run check passes (Biome) — clean on the touched JSON + test
  • Conventional commit message (fix:)
  • CHANGELOG.md updated under ## [Unreleased] — n/a, packaging bugfix; can fold into the next release notes
  • No new runtime dependency
  • npm run typecheck passes

Risk & rollback

  • Risk level: low (manifest packaging + its test; no source/runtime change)
  • Rollback plan: revert the commit
  • Verified each agents path matches the schema regex ^\./.*\.md$ and resolves to a real file; skills (directory) is unchanged and still schema-valid.

Generated by Claude Code

Installing the plugin failed with `Validation errors: agents: Invalid
input`. The Claude Code plugin manifest schema requires each `agents`
entry to be a path to a markdown agent file (pattern `^\./.*\.md$`);
`skills` may be a directory but `agents` may not. The manifest pointed
`agents` at the `./global/crew` directory, so validation rejected it.

List the four crew agents explicitly as `./global/crew/*.md` file paths.
Update the channels test, which had pinned the invalid directory value,
to assert the array form and that each referenced agent file exists.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fc2MvWJbQ1cyNQ76ymv4hs
@CodeWithJuber CodeWithJuber marked this pull request as ready for review July 8, 2026 09:42
@CodeWithJuber CodeWithJuber merged commit 19ddb08 into master Jul 8, 2026
10 checks passed
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