# EAPIL Codex Plugin Marketplace

This repository is a Codex plugin marketplace. Its primary purpose is to give AI agents a stable way to install EAPIL-maintained public skills and third-party Codex plugins.

## For AI Agents

When a user asks to install or use an EAPIL skill/plugin, do this first:

```bash
codex plugin marketplace add https://git.playones.com/arechen/EapilSkillMarket.git --ref main
codex plugin list --marketplace eapil-skill-market
codex plugin add <plugin-name>@eapil-skill-market
```

Use the exact plugin id from the plugin table below. Do not guess translated names.

After installation:

```bash
codex plugin list --marketplace eapil-skill-market
```

If the plugin was just installed in the current Codex session, start a new Codex thread or new invocation before relying on newly installed skills being loaded into context.

To remove a plugin:

```bash
codex plugin remove <plugin-name>@eapil-skill-market
```

## Local Debug Install

From this repository checkout:

```bash
codex plugin marketplace add .
codex plugin list --marketplace eapil-skill-market
codex plugin add docx@eapil-skill-market
```

For a temporary clean test:

```bash
tmp_home="$(mktemp -d)"
CODEX_HOME="$tmp_home" codex plugin marketplace add /path/to/EapilSkillMarket
CODEX_HOME="$tmp_home" codex plugin add <plugin-name>@eapil-skill-market
CODEX_HOME="$tmp_home" codex plugin remove <plugin-name>@eapil-skill-market
CODEX_HOME="$tmp_home" codex plugin marketplace remove eapil-skill-market
rm -rf "$tmp_home"
```

## Sparse Checkout

Normal installation should leave sparse paths empty. If a constrained environment requires sparse checkout, include both marketplace metadata and plugin contents:

```bash
codex plugin marketplace add https://git.playones.com/arechen/EapilSkillMarket.git --ref main --sparse .agents --sparse plugins/codex
```

## Current Plugins

| Plugin id | Display name | Category | Use when |
| --- | --- | --- | --- |
| `docx` | docx | 文档处理 | Create, edit, review, or extract Word documents. |
| `eapil-gpt2-image` | eapil-gpt2-image | 设计 | Generate or edit images through EAPIL's OpenAI-compatible image API. |
| `find-skills` | find-skills | 工具 | Help users discover suitable installable skills. |
| `frontend-slides` | Frontend Slides | 文档处理 | Create animated fixed-stage HTML slides or convert PPT/PPTX to HTML slides. |
| `guizang-ppt-skill` | Guizang PPT Skill | 文档处理 | Create magazine-style or Swiss-style horizontal web PPTs. |
| `html-ppt` | HTML PPT Studio | 文档处理 | Create professional static HTML presentations with themes, layouts, and animations. |
| `karpathy-guidelines` | karpathy-guidelines | 开发工具 | Apply Andrej Karpathy-inspired AI coding and model-training guidance. |
| `literature-review` | literature-review | 文档处理 | Assist with literature review and academic paper drafting workflows. |
| `oh-my-codex` | oh-my-codex | 开发工具 | Add OMX workflows, plugin-scoped hooks, MCP config, and multi-agent orchestration for Codex CLI. |
| `paper2code` | paper2code | 文档处理 | Turn arXiv papers into concise referenced Python implementations. |
| `pdf` | pdf | 文档处理 | Extract, create, merge, split, fill, or analyze PDF files. |
| `postgres` | postgres | 数据分析 | Run read-only PostgreSQL schema inspection and SELECT analysis. |
| `ppt-master` | PPT Master | 文档处理 | Convert source documents into high-quality SVG pages and export PPTX decks. |
| `ppt-translator` | ppt-translator | 文档处理 | Translate PPT/PPTX files while preserving layout through a render-and-verify loop. |
| `pptx` | pptx | 文档处理 | Create, edit, analyze, or annotate PowerPoint presentations. |
| `shadcn` | shadcn/ui | 开发工具 | Work with shadcn/ui projects, components, registries, and presets. |
| `superpowers` | Superpowers | 开发工具 | Use structured planning, TDD, debugging, code review, and delivery workflows. |
| `threejs` | threejs | 设计 | Build Three.js scenes, materials, lighting, animation, postprocessing, and loaders. |
| `ui-ux-pro-max` | UI/UX Pro Max | 设计 | Use a UI/UX design knowledge base for style, typography, accessibility, charts, and frontend stack choices. |
| `xlsx` | xlsx | 文档处理 | Create, edit, analyze, recalculate, or visualize spreadsheets. |
| `patent-application-drafting-skill` | 专利申请撰写 | 文档处理 | Draft Chinese patent technical disclosures, claims, specifications, abstracts, and related Word documents. |

## Plugin Capabilities

Most plugins expose one or more skills under `skills/`. Codex also supports richer plugin components, and this market may publish them when upstream plugins use them:

- `hooks`: plugin-scoped Codex hooks, usually declared as `./hooks/hooks.json`.
- `mcpServers`: MCP server metadata, usually declared as `./.mcp.json`.
- `apps`: app connector metadata, usually declared as `./.app.json`.

`oh-my-codex` currently uses all three. It requires the user's environment to have `oh-my-codex` / `omx` installed and set up for full runtime behavior. Codex may ask the user to trust plugin hooks before running them.

## Repository Layout

```text
.agents/plugins/marketplace.json
plugins/codex/
  .agents/plugins/marketplace.json
  plugins/<plugin-name>/
    .codex-plugin/plugin.json
    skills/<skill-name>/SKILL.md
    hooks/                 # optional
    .mcp.json              # optional
    .app.json              # optional
config/external-sources.json
scripts/validate_marketplace.py
```

## Maintenance Rules

- This is a distribution repository. Keep the published Git history shallow and small.
- Plugin ids, directory names, and skill `name` values use English kebab-case.
- Preserve upstream display names such as `shadcn/ui`, `oh-my-codex`, and `Guizang PPT Skill`; do not translate proper names.
- User-facing Chinese copy belongs in `description`, `shortDescription`, `longDescription`, `category`, and `defaultPrompt`.
- Update this README whenever a public skill/plugin is added, replaced, renamed, removed, or gains a new major capability such as hooks, MCP, or app metadata.
- Do not sync README-only preview GIFs/screenshots into this repository. Skill/reference images needed by the skill should be compressed to WebP instead.
- Third-party plugin localization belongs in `config/external-sources.json` through `manifestOverrides` and `skillDescriptions`; do not hand-edit generated plugin manifests.

## Third-Party Sync

Third-party sources are tracked in `config/external-sources.json`.

Supported adapters:

- `codex-plugin`: upstream is already a Codex plugin.
- `claude-skill`: upstream is a Claude-style skill that is converted into a Codex plugin.

Independent PowerShell sync:

```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\sync_external_plugins.ps1
```

With proxy:

```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\sync_external_plugins.ps1 -Proxy http://127.0.0.1:2085
```

## Validation

Before publishing changes:

```bash
python scripts/validate_marketplace.py
python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/<plugin-name>
rg -n "<plugin-name>|<display-name>" README.md plugins/codex/README.md
```

For new plugins, also install from a temporary `CODEX_HOME` and run the smallest safe invocation that proves Codex can load the skill/plugin.
