Marketplace

Workflows and plugins are distributed through marketplace repositories — GitHub repos with catalog files that Athena uses for resolution. The primary marketplace is lespaceman/athena-workflow-marketplace.

Installing a Workflow

athena workflow install e2e-test-builder@lespaceman/athena-workflow-marketplace --name e2e-test-builder

This:

  1. Clones the marketplace repo to ~/.config/athena/marketplaces/lespaceman/athena-workflow-marketplace/ (cached after first use)
  2. Reads .athena-workflow/marketplace.json to find the workflow
  3. Copies the definition to ~/.config/athena/workflows/e2e-test-builder/workflow.json

Then activate it:

athena-flow --workflow=e2e-test-builder

Plugin Resolution

Plugins are resolved at runtime (not pre-installed). A marketplace ref like e2e-test-builder@lespaceman/athena-workflow-marketplace in your config causes Athena to:

  1. Clone/update the marketplace repo
  2. Read .claude-plugin/marketplace.json
  3. Resolve the plugin from the source path (relative to pluginRoot)
  4. Load the plugin directory

Marketplace Repository Structure

athena-workflow-marketplace/
  .claude-plugin/
    marketplace.json          # Plugin catalog
  .athena-workflow/
    marketplace.json          # Workflow catalog
  .workflows/
    e2e-test-builder/
      workflow.json
      system-prompt.md
  plugins/
    e2e-test-builder/
      .claude-plugin/plugin.json
      skills/
        add-e2e-tests/SKILL.md
    site-knowledge/
      .claude-plugin/plugin.json
      skills/...

The Two Catalogs

Plugin catalog: .claude-plugin/marketplace.json

{
  "name": "athena-workflow-marketplace",
  "owner": { "name": "lespaceman" },
  "metadata": { "pluginRoot": "./plugins" },
  "plugins": [
    { "name": "e2e-test-builder", "source": "e2e-test-builder", "description": "..." }
  ]
}

With pluginRoot: "./plugins", the source is a subdirectory name. Without it, use a relative path.

Workflow catalog: .athena-workflow/marketplace.json

{
  "workflows": [
    { "name": "e2e-test-builder", "source": "./.workflows/e2e-test-builder/workflow.json", "description": "..." }
  ]
}

Caching

Marketplace repos are cloned to ~/.config/athena/marketplaces/<owner>/<repo>/. Athena pulls latest on each use. If offline, the cached version is used.

Hosting a Private Marketplace

Any GitHub repo with the correct structure acts as a marketplace:

your-marketplace/
  .claude-plugin/marketplace.json
  .athena-workflow/marketplace.json  # optional
  plugins/my-plugin/...
  .workflows/my-workflow/...         # optional

Reference as plugin-name@your-org/your-marketplace.