Skip to content

fix(claude): remove files the Anthropic plugin directory refuses - #10

Merged
johanovskyt merged 2 commits into
mainfrom
fix/anthropic-directory-allowed-files
Nov 12, 2026
Merged

johanovskyt merged 2 commits into
mainfrom
fix/anthropic-directory-allowed-files

Conversation

@johanovskyt

@johanovskyt johanovskyt commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Summary

The Anthropic plugin directory refused the last version of the plugin. From an organization that is not Verified, the directory accepts only Markdown, text, JSON, and YAML files, and PNG, JPEG, GIF, WebP, or ICO images. It also refuses each file that starts with #! and each package manager configuration file.

This PR removes or converts each file that breaks those rules. Related to MAC-1883.

File Problem Change
plugins/macaly-code/assets/logo.svg SVG is not an accepted image type Replaced with a 512 x 512 PNG rendered from the SVG
plugins/macaly-code/rules/route-app-builds-to-macaly.mdc .mdc is not an accepted file type Renamed to .md. Cursor loads .md, .mdc, and .markdown rules
scripts/validate-*.mjs (3 files) Each starts with #! Removed
package.json Package manager configuration file Removed
.github/workflows/build.yml It ran the removed scripts Removed
schemas/*.json (2 files) Only the removed scripts read them Removed

Manifest changes:

  • Claude: the new icon field names the PNG. The directory reads this field for the listing icon, which was not set before.
  • Codex: composerIcon and logo point at the PNG.
  • Cursor: logo points at the PNG.

docs/anthropic-submission.md now records the file rules, because no CI check guards them.

The two commits

The refusal text does not name the files. The Anthropic documentation says that the directory reads and scans only the plugin folder, which is plugins/macaly-code.

  • d2077c4 changes the plugin folder. If the documentation is correct, this commit is sufficient.
  • c501717 removes the tooling at the repository root. It follows the refusal text for the full repository, so a second refusal is less likely.

To keep the validators and the CI workflow, remove c501717 from the branch before the merge.

Cost

After c501717, no CI check validates the Cursor and Codex manifests. Commit 449edd5 has the last copy of the validators, the schemas, and the workflow.

Validation

  • The three validators ran one last time against the changed plugin folder, before their removal. The Cursor schema check, the Cursor structure check, and the Codex check passed.
  • claude plugin validate plugins/macaly-code --strict --profile directory passes on Claude Code 2.1.321.
  • claude plugin validate . --strict passes.
  • A scan of all 21 tracked files found no problem: accepted file type, no #!, UTF-8, no NUL byte, no BOM, valid JSON, complete PNG.
  • The PNG shows the same mark as the SVG.

Not verified:

  • The directory scan. It runs only in the developer portal. The local claude plugin validate command does not apply the file type rule: it also passes on main.
  • The PNG logo on the live Cursor and Codex listings. Cursor's own plugins use PNG logos, and the OpenAI plugin documentation uses PNG in its example.

Other providers

No provider loads the removed root files. Cursor and Codex read only their marketplace manifest and the plugin folder. The skills, the command, and the MCP configuration files are unchanged.

Change Cursor Codex
Root tooling removed Not read. The Cursor install cache holds only the plugin folder. Not read.
PNG logo The plugin loader of Cursor 3.24.12 resolves the path to a file URL and does not check the file type. resolve_manifest_path in codex-rs/core-plugins/src/manifest.rs checks only that the path starts with ./ and stays in the plugin root.
Rule renamed to .md The plugin loader discovers .md, .mdc, and .markdown rules and parses the frontmatter of each the same way. Cursor writes .md rule files for its own inline plugins. The .mdc-only rule applies to project rules in .cursor/rules, not to plugins. Codex does not load rules.

A replay of the Cursor discovery logic on this branch finds the rule with the same name and description as before.

Not run: a live install of this branch in Cursor or in Codex.

After the merge

  1. Open the plugin in the developer portal at claude.ai/directory/manage.
  2. Select Check for new commits. If the Review tab shows Resubmit for review, select that instead.

The plugin versions stay the same, as in #7, #8, and #9.


Open thread in T3 Code

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

The Anthropic plugin directory refused the plugin. From an organization
that is not Verified, it accepts only Markdown, text, JSON, and YAML
files, and PNG, JPEG, GIF, WebP, or ICO images.

- Replace the SVG logo with a 512 x 512 PNG rendered from it.
- Point the Codex and Cursor manifests at the PNG.
- Set `icon` in the Claude manifest, so the directory reads the PNG as
  the plugin icon and shows it on the listing.
- Rename the Cursor rule from .mdc to .md. Cursor loads both.
The Anthropic plugin directory refuses each file that starts with `#!`
and each package manager configuration file. The three validators
started with `#!`, and package.json is a package manager configuration
file.

- Remove scripts/ and package.json.
- Remove the Cursor schemas, because only the validators read them.
- Remove the Build workflow, because it ran the validators.
- Record the directory file rules in docs/anthropic-submission.md.

Commit 449edd5 has the last copy of the validators.
@johanovskyt
johanovskyt merged commit 559b4ec into main Nov 12, 2026
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.

1 participant