Skip to content

Remove 26 duplicate Composio skills and fix two invalid directory names - #228

Open
Chirag6722 wants to merge 1 commit into
composio-community:masterfrom
Chirag6722:chore/dedupe-composio-skill-directories
Open

Remove 26 duplicate Composio skills and fix two invalid directory names#228
Chirag6722 wants to merge 1 commit into
composio-community:masterfrom
Chirag6722:chore/dedupe-composio-skill-directories

Conversation

@Chirag6722

Copy link
Copy Markdown

Closes #227

The problem

26 Composio toolkits have two skill directories each — one named with the raw toolkit id, one with a hyphenated slug — both added by the same bulk commit 7404a6c:

composio-skills/zoho_mail-automation/   composio-skills/zoho-mail-automation/
composio-skills/google_maps-automation/ composio-skills/google-maps-automation/
...

Codex loads every skill's description eagerly and selects skills by matching them against the request, so each pair costs its metadata twice and the choice between two near-identical skills is arbitrary.

Worse, for ring_central, wave_accounting and zoho_desk the pair contradicts itself. The hyphenated file documents that Composio has no tools for the toolkit, and names the wrong-vendor tools that discovery actually returns:

Status: Toolkit Not Available — RUBE_SEARCH_TOOLS returned no zoho_desk-specific tools. […] Ticket creation queries returned Freshdesk (FRESHDESK_CREATE_TICKET), HubSpot and Zendesk tools

The underscored file tells the agent to discover zoho_desk tools and execute what comes back. An agent asked to file a Zoho Desk ticket can therefore open one in Zendesk or Freshdesk instead.

What this PR does

Deletes the 26 underscored duplicates, keeping the hyphenated directory in every case. That version has the valid slug and the toolkit-specific content — richer workflows, or the researched availability notes above, which are exactly what stops the wrong-vendor execution the generic template invites. What is removed is a uniform template whose only sections the kept files lack (Search Before Action, Pagination, Error Handling, Batch Operations) are generic boilerplate repeated across hundreds of remaining skills.

Renames the two directories whose names began with a stray hyphen-21risk-automation21risk-automation, -2chat-automation2chat-automation — and fixes their name: frontmatter. Every skill directory in the repo is now a valid lowercase hyphenated slug.

No references to fix: composio-skills/.claude-plugin/marketplace.json names none of the 26, and neither does the README.

Verification

Against the validator from #223, this branch clears every naming warning, and the two branches merged together produce a fully clean tree:

$ git merge feature/skill-metadata-validation-ci     # #223
conflicts: 0
$ python scripts/validate_skills.py
OK: 854 skills validated, 0 warning(s), no errors.

(On this branch alone the validator still reports the 66 frontmatter errors that #223 fixes; the two PRs are independent and touch disjoint files.)

Follow-up

The gap that allowed this — nothing checks that two directories normalise to the same skill — is worth closing in the validator from #223. Happy to push that rule onto #223 so a future submission cannot re-introduce a duplicate.

🤖 Generated with Claude Code

Commit 7404a6c generated each of these toolkits twice: once under the raw
toolkit id (zoho_mail-automation) and once under a hyphenated slug
(zoho-mail-automation). Codex loads every description eagerly and picks
skills by matching them, so each pair costs the metadata twice and makes
the choice between two near-identical skills arbitrary.

For ring_central, wave_accounting and zoho_desk the pair actively
contradicts itself: the hyphenated file documents that Composio has no
tools for the toolkit and names the wrong-vendor tools discovery returns
(Freshdesk, Zendesk, HubSpot for zoho_desk), while the underscored file
tells the agent to discover and execute that toolkit's tools. An agent
following the latter can act on a different vendor's system.

Keep the hyphenated directory in all 26 cases - it has the valid slug and
the toolkit-specific content, including those availability notes. The
deleted files are a uniform template whose only unique sections (Search
Before Action, Pagination, Error Handling, Batch Operations) are generic
boilerplate repeated across hundreds of remaining skills.

Also rename -21risk-automation and -2chat-automation, whose names began
with a stray hyphen, and update their name frontmatter. Every skill
directory is now a valid lowercase hyphenated slug.

Nothing references the removed directories: composio-skills/.claude-plugin/
marketplace.json names none of them, and neither does the README.

Closes composio-community#227

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

26 Composio toolkits ship duplicate skills under underscore and hyphen directory names

1 participant