Skip to content

echoskill CLI: skill marketplace management tool (eskill) #23

@krisrowe

Description

@krisrowe

Vision

A standalone CLI for managing AI agent skill marketplaces. Install, list, publish, and curate skills across Claude Code and Gemini CLI. Published to PyPI as echoskill with alias eskill.

This is NOT an extraction from echomodel/aicfg. It is a fresh design informed by best practices research across existing ecosystems.

Design inputs (must research before building)

1. Gemini CLI skills commands

  • Locate the .md documentation for Gemini's built-in skill management
  • Understand: install, list, search, marketplace interaction
  • What works well, what's limited

2. Claude Code plugin marketplace commands

  • claude plugin marketplace add/update/remove
  • claude plugin install <name>@<marketplace> --scope user
  • Marketplace registry model: marketplace.json, git-based, source types
  • How this translates to skills (vs plugins)

3. Vercel Labs skills-npm

4. What echomodel/aicfg got right and wrong

  • em skills install/list/publish/marketplace exists but echomodel is currently broken
  • Don't replicate — learn from it and start fresh
  • Key features to preserve: marketplace registration, cross-platform install (claude + gemini), install manifests with provenance tracking

Key design concept: skill curation as marketplace

A marketplace is a JSON file pointing to skills across arbitrary repos:

{
  "skills": [
    {
      "name": "sociable-unit-tests",
      "source": {
        "url": "https://github.com/echo-skill/echoskill.git",
        "path": "coding/sociable-unit-tests"
      }
    }
  ]
}

This decouples curation from source:

  • Anyone can create a marketplace (just a JSON file in a repo)
  • Skills can live in any repo
  • Multiple marketplaces can curate overlapping sets
  • Many-to-many: one skill in many marketplaces, one marketplace curating from many repos

CLI design (tentative, pending research)

eskill marketplace add <alias> <url>      # register a marketplace
eskill marketplace list                    # show registered marketplaces
eskill list                                # list available skills across marketplaces
eskill install <name>                      # install to claude + gemini
eskill install <name> --target <dir>       # install to arbitrary directory (for plugin builds)
eskill publish <name> --marketplace <alias> # publish a skill to a marketplace
eskill show <name>                         # show skill details + install status

PyPI details

  • Package: echoskill
  • Entry points: echoskill and eskill (same binary)
  • Both names verified available on PyPI
  • GitHub org: echo-skill (existing)
  • Repo: echo-skill/echoskill (this repo, or a new echo-skill/eskill repo)

Process

Before building:

  1. Research all four design inputs above
  2. /identify-best-practices on the proposed CLI design
  3. Capture decision record in CONTRIBUTING.md of the target repo
  4. Then build

Dogfooding

The claude-coding-plugin build script (./build) is the primary consumer. Currently uses raw git clone — will migrate to eskill install --target skills/ once this ships. Keeping the daily-use plugin dependent on this tool ensures it stays reliable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions