Skip to content

Fix plugin manifest validation errors#75

Merged
affaan-m merged 3 commits intoaffaan-m:mainfrom
jeffscottward:fix/plugin-manifest-validation
Jan 26, 2026
Merged

Fix plugin manifest validation errors#75
affaan-m merged 3 commits intoaffaan-m:mainfrom
jeffscottward:fix/plugin-manifest-validation

Conversation

@jeffscottward
Copy link
Contributor

@jeffscottward jeffscottward commented Jan 26, 2026

Summary

  • Remove explicit agents field from plugin.json - Claude Code auto-discovers the agents/ directory at the plugin root level
  • Fix tools field format in all 10 agent markdown files to use JSON array syntax (e.g., ["Read", "Grep"] instead of comma-separated strings like Read, Grep)

Root Cause

Comparing with official Anthropic plugins, the agents field in plugin.json was causing validation failures because:

  1. Official plugins don't specify agents explicitly - they rely on auto-discovery from the agents/ directory at the plugin root
  2. The tools field in agent YAML frontmatter must be a JSON array, not a comma-separated string

Test plan

  • Install the plugin after this fix and verify no validation errors
  • Verify agents are correctly discovered and functional

Fixes #74

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Removed one top-level plugin configuration, leaving only commands and skills.
    • Standardized agents' tools listings from comma-separated strings to array-style representations for consistent parsing.
  • Documentation
    • Updated examples and front-matter tool listings to reflect the new array format.

✏️ Tip: You can customize this high-level summary in your review settings.

- Remove explicit "agents" field from plugin.json since Claude Code auto-discovers
  the agents/ directory at the plugin root level
- Fix tools field format in all agent markdown files to use JSON array syntax
  (e.g., ["Read", "Grep"] instead of comma-separated strings)

This fixes the "agents: Invalid input" validation error reported in affaan-m#74.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 26, 2026

📝 Walkthrough

Walkthrough

Removed the top-level agents property from .claude-plugin/plugin.json and standardized the tools front-matter across many agents/*.md files and README.md from comma-separated strings to JSON array notation; one agent (agents/e2e-runner.md) also received substantial content expansion.

Changes

Cohort / File(s) Summary
Plugin Manifest
​.claude-plugin/plugin.json
Removed top-level agents property ("agents": "./agents") from the plugin manifest.
Agent Tools Standardization
agents/architect.md, agents/build-error-resolver.md, agents/code-reviewer.md, agents/database-reviewer.md, agents/doc-updater.md, agents/planner.md, agents/refactor-cleaner.md, agents/security-reviewer.md, agents/tdd-guide.md, README.md
Converted front-matter tools field from comma-separated string to JSON array (e.g., tools: Read, Grep, Globtools: ["Read","Grep","Glob"]).
E2E Runner Expansion
agents/e2e-runner.md
Significant content additions: emphasizes Vercel Agent Browser with Playwright fallback, adds model metadata, setup/usage examples, CI guidance, and numerous new sections and examples.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Poem

🐰 I hopped through files at break of dawn,
Commas swapped for arrays, tidy and drawn,
Manifest trimmed, a lighter song,
Docs refreshed — I bounced along,
Small fixes, big cheer, code paths reborn ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: removing the invalid 'agents' field and fixing 'tools' format in manifest files to resolve validation errors.
Linked Issues check ✅ Passed The PR directly addresses issue #74 by removing the invalid 'agents' field from plugin.json and converting all 'tools' fields to JSON array format, resolving the manifest validation error.
Out of Scope Changes check ✅ Passed All changes are scoped to fixing manifest validation: one removal from plugin.json and 10 agent markdown file updates to standardize tools format, plus a README example update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jeffscottward jeffscottward mentioned this pull request Jan 26, 2026
jeffscottward and others added 2 commits January 25, 2026 20:05
The agent example in the README showed the old comma-separated format
for tools, but the correct format is a JSON array.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Agent Browser is optimized for AI agents with semantic selectors and
better handling of dynamic content. Playwright remains as a fallback
for complex test suites or when Agent Browser isn't available.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@agents/e2e-runner.md`:
- Around line 22-28: Update the package name used for installation and imports
from the nonexistent scoped package to the correct unscoped package: change the
install commands that reference "@anthropic-ai/agent-browser" to "agent-browser"
(e.g., npm install agent-browser / pnpm add agent-browser) and update any import
statements that reference '@anthropic-ai/agent-browser' to import { AgentBrowser
} from 'agent-browser' (use version v0.7.6 if you need to pin).

Comment on lines +22 to +28
### Agent Browser Setup
```bash
# Install agent-browser
npm install @anthropic-ai/agent-browser
# or
pnpm add @anthropic-ai/agent-browser
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Query npm registry for the `@anthropic-ai/agent-browser` package
curl -s https://registry.npmjs.org/@anthropic-ai/agent-browser | jq -r '.name, .["dist-tags"].latest // "not found", .description // "no description"' 2>/dev/null || echo "Package not found or query failed"

Repository: affaan-m/everything-claude-code

Length of output: 104


🏁 Script executed:

#!/bin/bash
# Try alternative query methods to confirm package existence
echo "=== Checking full package response ==="
curl -s -w "\nHTTP Status: %{http_code}\n" https://registry.npmjs.org/@anthropic-ai/agent-browser | head -50

echo ""
echo "=== Checking if scope exists ==="
curl -s -w "\nHTTP Status: %{http_code}\n" https://registry.npmjs.org/@anthropic-ai 2>&1 | head -20

Repository: affaan-m/everything-claude-code

Length of output: 267


🏁 Script executed:

#!/bin/bash
# Search for agent-browser references in the repository
echo "=== Searching for agent-browser references ==="
rg -i "agent-browser|agent browser" --type md --type ts --type js -A 2 -B 2

echo ""
echo "=== Searching for `@anthropic-ai` packages ==="
rg "@anthropic-ai" --type md --type ts --type js

Repository: affaan-m/everything-claude-code

Length of output: 3170


🏁 Script executed:

#!/bin/bash
# Search npm for Vercel and agent browser packages
echo "=== Checking for Vercel agent-browser packages ==="
curl -s https://registry.npmjs.org/-/v1/search?text=vercel+agent+browser | jq -r '.objects[0:5] | .[] | .package.name' 2>/dev/null || echo "No results"

echo ""
echo "=== Checking for agent-browser packages in general ==="
curl -s https://registry.npmjs.org/-/v1/search?text=agent-browser | jq -r '.objects[0:5] | .[] | .package.name' 2>/dev/null || echo "No results"

echo ""
echo "=== Checking for Anthropic packages ==="
curl -s https://registry.npmjs.org/-/v1/search?text=@anthropic-ai | jq -r '.objects[0:10] | .[] | .package.name' 2>/dev/null || echo "No results"

Repository: affaan-m/everything-claude-code

Length of output: 648


🏁 Script executed:

#!/bin/bash
# Get details on the correct agent-browser package
echo "=== Checking unscoped agent-browser package ==="
curl -s https://registry.npmjs.org/agent-browser | jq -r '.name, .["dist-tags"].latest, .description, .homepage' 2>/dev/null

echo ""
echo "=== Checking package.json main entry ==="
curl -s https://registry.npmjs.org/agent-browser | jq -r '.versions[.["dist-tags"].latest].main' 2>/dev/null

Repository: affaan-m/everything-claude-code

Length of output: 297


Replace package name from @anthropic-ai/agent-browser to agent-browser.

The package @anthropic-ai/agent-browser does not exist in npm. The correct package is the unscoped agent-browser (v0.7.6) from Vercel Labs. Update both the installation command and import statement:

Corrected installation
# Install agent-browser
npm install agent-browser
# or
pnpm add agent-browser
import { AgentBrowser } from 'agent-browser'
🤖 Prompt for AI Agents
In `@agents/e2e-runner.md` around lines 22 - 28, Update the package name used for
installation and imports from the nonexistent scoped package to the correct
unscoped package: change the install commands that reference
"@anthropic-ai/agent-browser" to "agent-browser" (e.g., npm install
agent-browser / pnpm add agent-browser) and update any import statements that
reference '@anthropic-ai/agent-browser' to import { AgentBrowser } from
'agent-browser' (use version v0.7.6 if you need to pin).

@affaan-m affaan-m merged commit 5670fcd into affaan-m:main Jan 26, 2026
2 checks passed
jeffscottward added a commit to jeffscottward/everything-claude-code that referenced this pull request Jan 26, 2026
The @anthropic-ai/agent-browser package does not exist on npm.
The correct package is the unscoped 'agent-browser' from Vercel Labs (v0.7.6).

Fixes the issue noted in PR affaan-m#75 review comment.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
affaan-m pushed a commit that referenced this pull request Jan 26, 2026
* fix: use correct unscoped agent-browser package name

The @anthropic-ai/agent-browser package does not exist on npm.
The correct package is the unscoped 'agent-browser' from Vercel Labs (v0.7.6).

Fixes the issue noted in PR #75 review comment.

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* fix: correct agent-browser API to match actual package exports

- Change AgentBrowser to BrowserManager (correct export name)
- Update documentation to show actual CLI-based usage pattern
- Add snapshot + refs system examples (the real agent-browser API)
- Add programmatic BrowserManager API for advanced use cases
- Show CLI wrapper approach for script integration

The agent-browser package from Vercel is primarily a CLI tool,
not a JavaScript library with semantic methods. This corrects
the documentation to match the actual package API.

Fixes CodeRabbit review comment about incorrect import/export.

Co-Authored-By: Claude Opus 4.5 <[email protected]>

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
moyueheng added a commit to moyueheng/everything-claude-code that referenced this pull request Jan 29, 2026
675db95 feat: unify commands and skills (v1.2.0)
ca584e2 fix: escape pipe in markdown table for markdownlint
a44a055 fix: resolve ESLint errors and update tests for project-name fallback
c9ef02b docs: add requirements section and hooks field warning
0c53ad8 Revert "docs: update shorthand to shortform terminology"
c3430bd docs: add Traditional Chinese translation
fbe2e56 docs: add simplified Chinese README
7c0bc25 feat: add comprehensive CI/CD pipeline
58a97c8 docs: update shorthand to shortform terminology
04ee208 docs: add plugin manifest validation notes
e3a1306 fix: remove duplicate hooks declaration from plugin.json
81003b1 feat: use project name as session filename fallback
8996303 fix: prevent command injection in Prettier hook (affaan-m#102)
8894e1b docs: update README with skill-create and instinct commands
9bc587a feat: add skill-create and continuous-learning-v2 commands
0ced59a Merge pull request affaan-m#91 from Hor1zonZzz/fix/readme-rules-limitation
2563d1e Merge pull request affaan-m#92 from jhsong-musinsa/fix/plugin-manifest-validation
5dc1edb Merge pull request affaan-m#93 from pangerlkr/patch-3
2aac2d9 Create PLUGIN_SCHEMA_NOTES.md
cdf987d fix: use explicit file paths for agents in plugin.json
384b255 docs: add note about rules limitation in plugin installation
accbb47 feat: add proper header banner to shortform guide
ff67b03 feat: add images and rename guides to the-shortform-guide.md and the-longform-guide.md
7fc5ef1 Merge pull request affaan-m#83 from msyahidin/claude/add-golang-support-frw0Z
779085e fix: add missing agents and hooks declarations to plugin.json
5e1835a Merge pull request affaan-m#81 from pangerlkr/patch-2
2abefe6 Merge pull request affaan-m#79 from pangerlkr/patch-1
4bca615 Merge pull request affaan-m#80 from lichengzhe/fix/stop-hook-shell-error
a1f47f1 Merge pull request affaan-m#85 from roeiba/add-license-file
01ad21b docs: add missing MIT LICENSE file
c6c32cd fix: add language labels to fenced code blocks for MD040 compliance
75e1e46 feat: add comprehensive Golang language support
2feac5a docs: add The Longform Guide to Everything Claude Code
a0b84f7 Fix: Move Stop hook inline code to separate script file
1564213 docs: add The Shorthand Guide to Everything Claude Code
56ff5d4 fix: use correct unscoped agent-browser package name (affaan-m#77)
5c63fa9 feat: v1.1.0 release - session ID tracking, async hooks, new skills
5670fcd Fix plugin manifest validation errors (affaan-m#75)
1c9fa0b Add hooks.md to documentation index (affaan-m#40)
2bfd2fb feat: add cloud infrastructure security skill (affaan-m#44)
fae9716 feat(agents): add database-reviewer agent with Supabase patterns (affaan-m#48)
a2087a8 fix: remove unnecessary .sh hooks (affaan-m#41)
b9b7831 fix: multiple community-reported issues
660e0d3 fix: security and documentation fixes
a7bc5f2 revert: remove hooks declaration - auto-loaded by convention
22ad036 fix: add hooks declaration to plugin.json for proper hook loading
5230892 fix: remove version fields from marketplace.json
970f8bf feat: cross-platform support with Node.js scripts
4ec7a6b fix: remove version field to enable automatic plugin updates
0d438dd style: side-by-side guide layout matching profile README
7f4f622 feat: add star history chart and minimal badge bar
c3f1594 fix: move session-end hooks from Stop to SessionEnd
19345df fix: remove duplicate hooks field from plugin.json
73bda1a fix: use ${CLAUDE_PLUGIN_ROOT} for hook script paths
ecfbbd3 fix: use relative path './' for plugin source instead of GitHub object
ee5affb fix: remove agents field temporarily to debug validation
d362ae6 fix: use string format for repository field in plugin.json
9e8006c fix: use GitHub source object in marketplace.json
5010f82 feat: package as Claude Code plugin with marketplace distribution
4491f15 Clarify README description of the repository
e6440d3 docs: restructure README to flow shorthand → longform guides together
fa0928a Enhance README with update section and resources
2d6fd70 feat: add strategic-compact hook and update hooks.json with all hooks
f96ef1e feat: add memory persistence hooks and context files
7d3ea0f feat: add strategic compact skill
6bf102d feat: add continuous learning skill with session examples
3c1e7d9 Clarify repository purpose and additional resources
62a80df Update README with image and guide link
6eefb41 Update README with guide reading reminder
d7cf890 Fix formatting in README.md for guide link
e57979c Update README with image and guide link
45959c3 Initial release: Complete Claude Code configuration collection
REVERT: 69c0b1a Add link to Agent Skills specification website (affaan-m#160)
REVERT: be229a5 Fix links in agent skills specification (affaan-m#159)
REVERT: f232228 Split agent-skills-spec into separate authoring and client integration guides (affaan-m#148)
REVERT: 0075614 Add doc-coauthoring skill and update example skills (affaan-m#134)
REVERT: ef74077 Move example skills into dedicated folder and create minimal top-level folder structure (affaan-m#129)
REVERT: 0f77e50 Update example skills and rename 'artifacts-builder' (affaan-m#112)
REVERT: e5c6015 Add 'frontend-design' example skill (affaan-m#98)
REVERT: c74d647 Clarify Claude Code installation in README.md (#20)
REVERT: 0877bae Updates to README.md (affaan-m#9)
REVERT: b118d29 Add Claude Claude instructions to the readme (#8)
REVERT: 4d1e3f3 Add Claude Code Marketplace (affaan-m#5)
REVERT: 9b61003 Small tweak to blog link (#7)
REVERT: 10e0fbe Add initial Agent Skills Spec (#2)
REVERT: ec84104 Add 3rd Party notices (affaan-m#4)
REVERT: 67ada86 Adding more details to README (affaan-m#3)
REVERT: 83291af Reorganize the example skills (affaan-m#1)
REVERT: 37292f3 init repo

git-subtree-dir: upstream/anthropics-skills
git-subtree-split: 675db95
charlesbmi pushed a commit to charlesbmi/everything-claude-code that referenced this pull request Jan 29, 2026
Fixes plugin manifest validation errors caused by explicit agents field and incorrect tools format. Fixes affaan-m#74
charlesbmi pushed a commit to charlesbmi/everything-claude-code that referenced this pull request Jan 29, 2026
* fix: use correct unscoped agent-browser package name

The @anthropic-ai/agent-browser package does not exist on npm.
The correct package is the unscoped 'agent-browser' from Vercel Labs (v0.7.6).

Fixes the issue noted in PR affaan-m#75 review comment.

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* fix: correct agent-browser API to match actual package exports

- Change AgentBrowser to BrowserManager (correct export name)
- Update documentation to show actual CLI-based usage pattern
- Add snapshot + refs system examples (the real agent-browser API)
- Add programmatic BrowserManager API for advanced use cases
- Show CLI wrapper approach for script integration

The agent-browser package from Vercel is primarily a CLI tool,
not a JavaScript library with semantic methods. This corrects
the documentation to match the actual package API.

Fixes CodeRabbit review comment about incorrect import/export.

Co-Authored-By: Claude Opus 4.5 <[email protected]>

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
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.

install error

2 participants

Comments