You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
claude-coding has a custom ./build script that vendors skills from echoskill into plugin/skills/. This works but is bespoke — every plugin that consumes marketplace skills needs its own build script with the same clone-and-copy logic. Meanwhile, echoskill already has a marketplace JSON model (#23) and Vercel's npx skills ecosystem (#16) has proven that skill installation is a solved problem with established patterns.
The build script should be replaced by a proper skills SDK and CLI (echoskill/eskill) that can:
Install skills from a remote marketplace (git URL with marketplace JSON)
Install skills from a local marketplace path (for development/testing)
Support in-marketplace references to skills in other repos/paths — similar to how claude-plugins marketplace.json uses git-subdir sources pointing to arbitrary repos
Maintain compatibility with Gemini CLI's gemini skills commands to the extent currently supported (install to ~/.gemini/skills/)
Support --target <dir> for plugin builds (install skills into plugin/skills/ rather than the user-global directory)
What this replaces
In claude-coding, the ./build script currently:
Reads build.cfg for marketplace URLs and skill paths
Clones marketplace repos into temp dirs
Copies SKILL.md files into plugin/skills/
Skips native skills (source of truth in ./skills/ at repo root)
This logic belongs in a reusable tool, not a per-repo script.
Marketplace linking model
A marketplace should be able to reference skills hosted anywhere, not just in its own repo:
This mirrors the claude-plugins marketplace.json pattern — many-to-many between marketplaces and skill repos. A marketplace is curation, not hosting.
Gemini CLI's gemini skills commands would not need to support in-marketplace linking — it would continue to install from its native sources. The echoskill CLI handles the marketplace indirection and writes to the same target directories.
Standards and compatibility research needed
Before building, fully explore:
npx skills (Vercel) — How does it handle multi-source installation? Does it support marketplace-like registries, or is it purely npm-based? How does it resolve skill names to repos? Unverified claim: npx skills add <owner/repo> registers and installs skills from a specific GitHub repository. Verify this syntax and semantics. See Research: vercel-labs/skills ecosystem overlap with echoskill #16 for prior research.
OpenSkills CLI — Unverified claim: npx openskills install <your-org/your-repo> adds skills from any public or private Git repository. Research what OpenSkills actually is, its maturity level, maintenance status, and whether it's a credible authority or an early/abandoned project. Do not treat it as established until verified.
agentskills.io standard — Does it define anything about skill distribution, installation, or marketplace semantics? Or is it purely a format spec?
Gemini CLI skill commands — Current gemini skills install/list syntax and capabilities. What source types does it support? Can it install from arbitrary git URLs?
Claude Code plugin marketplace — How marketplace.json sources work (git-subdir, url, github). Patterns to adopt or diverge from.
Problem
claude-coding has a custom
./buildscript that vendors skills from echoskill intoplugin/skills/. This works but is bespoke — every plugin that consumes marketplace skills needs its own build script with the same clone-and-copy logic. Meanwhile, echoskill already has a marketplace JSON model (#23) and Vercel'snpx skillsecosystem (#16) has proven that skill installation is a solved problem with established patterns.The build script should be replaced by a proper skills SDK and CLI (
echoskill/eskill) that can:marketplace.jsonusesgit-subdirsources pointing to arbitrary reposgemini skillscommands to the extent currently supported (install to~/.gemini/skills/)--target <dir>for plugin builds (install skills intoplugin/skills/rather than the user-global directory)What this replaces
In claude-coding, the
./buildscript currently:build.cfgfor marketplace URLs and skill pathsSKILL.mdfiles intoplugin/skills/./skills/at repo root)This logic belongs in a reusable tool, not a per-repo script.
Marketplace linking model
A marketplace should be able to reference skills hosted anywhere, not just in its own repo:
{ "skills": [ { "name": "sociable-unit-tests", "source": { "url": "https://github.com/echo-skill/echoskill.git", "path": "coding/sociable-unit-tests" } }, { "name": "safe-commit", "source": { "url": "https://github.com/echomodel/claude-coding.git", "path": "skills/safe-commit" } } ] }This mirrors the claude-plugins
marketplace.jsonpattern — many-to-many between marketplaces and skill repos. A marketplace is curation, not hosting.Gemini CLI's
gemini skillscommands would not need to support in-marketplace linking — it would continue to install from its native sources. The echoskill CLI handles the marketplace indirection and writes to the same target directories.Standards and compatibility research needed
Before building, fully explore:
npx skills(Vercel) — How does it handle multi-source installation? Does it support marketplace-like registries, or is it purely npm-based? How does it resolve skill names to repos? Unverified claim:npx skills add <owner/repo>registers and installs skills from a specific GitHub repository. Verify this syntax and semantics. See Research: vercel-labs/skills ecosystem overlap with echoskill #16 for prior research.npx openskills install <your-org/your-repo>adds skills from any public or private Git repository. Research what OpenSkills actually is, its maturity level, maintenance status, and whether it's a credible authority or an early/abandoned project. Do not treat it as established until verified.gemini skills install/listsyntax and capabilities. What source types does it support? Can it install from arbitrary git URLs?marketplace.jsonsources work (git-subdir,url,github). Patterns to adopt or diverge from.Acceptance criteria
eskill install <name> --from <marketplace>installs a skill from a registered marketplaceeskill install <name> --from <local-path>installs from a local marketplace directoryeskill install <name> --target <dir>installs to a specific directory (for plugin builds)~/.gemini/skills/work withgemini skills list./buildscript can be replaced byeskill install --from build.cfg --target plugin/skills/or equivalentRelated