AreChen 9342863eba Document Docker Gitea sync runner requirements
Constraint: Docker-hosted Gitea only executes scheduled workflows when Actions and act_runner are configured.

Rejected: Assuming .gitea/workflows runs by itself | A Gitea runner is required to poll and execute jobs.

Confidence: high

Scope-risk: narrow

Directive: Keep runner prerequisites documented when changing the sync workflow shell or runtime dependencies.

Tested: python scripts\\validate_marketplace.py.

Not-tested: Gitea act_runner execution on the remote Docker host.
2026-06-10 15:40:36 +08:00

EAPIL Skill Market

Codex custom plugin marketplace test repository.

Desktop test

In Add plugin marketplace:

  • Source: https://git.playones.com/arechen/EapilSkillMarket.git
  • Git ref: main
  • Sparse path: leave empty

After the marketplace is added, install only the plugin you need from the EAPIL Skill Market marketplace.

If you want to use sparse checkout, enter both paths if the UI allows multiple lines:

.agents
plugins/codex

CLI test

codex plugin marketplace add https://git.playones.com/arechen/EapilSkillMarket.git --ref main
codex plugin add eapil-pdf@eapil-skill-market

Sparse CLI form:

codex plugin marketplace add https://git.playones.com/arechen/EapilSkillMarket.git --ref main --sparse .agents --sparse plugins/codex
codex plugin add eapil-xlsx@eapil-skill-market

For local testing before pushing:

codex plugin marketplace add .
codex plugin add eapil-pptx@eapil-skill-market

Start a new Codex thread after installing so the new skills are loaded into context.

Plugins

  • eapil-pdf
  • eapil-pptx
  • eapil-xlsx
  • eapil-threejs-animation
  • eapil-threejs-fundamentals
  • eapil-threejs-geometry
  • eapil-threejs-interaction
  • eapil-threejs-lighting
  • eapil-threejs-loaders
  • eapil-threejs-materials
  • eapil-threejs-postprocessing
  • eapil-threejs-shaders
  • eapil-threejs-textures
  • superpowers
  • ui-ux-pro-max

List available plugins:

codex plugin list --marketplace eapil-skill-market --available

Remove an installed plugin:

codex plugin remove eapil-pdf@eapil-skill-market

External sync

Third-party plugins are configured in config/external-sources.json and synced with:

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

If GitHub access is unstable locally, use the proxy:

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

The sync script currently supports:

  • codex-plugin: mirrors an upstream Codex plugin repo, used for obra/superpowers.
  • claude-skill: converts one Claude-style skill directory into a Codex plugin, used for nextlevelbuilder/ui-ux-pro-max-skill.

After sync, validate the marketplace:

python scripts\validate_marketplace.py

.gitea/workflows/sync-external-skills.yml is a scheduled workflow prototype for Git-side periodic sync.

For a Docker-hosted Gitea instance, the workflow file alone is not enough. Gitea must have Actions enabled and an act_runner container registered before scheduled jobs will run. The runner that handles this repository should provide:

  • A label matching runs-on: ubuntu-latest, or adjust the workflow to your runner label.
  • git, python, and pwsh in the job environment.
  • Network access from the job container to GitHub for upstream skill repos and to the Gitea instance for checkout/push.

If the Gitea server does not have Actions enabled, run the same sync command from a host cron job or a small maintenance container that checks out this repository, runs the sync script, validates, commits, and pushes changes.

Layout

.agents/plugins/marketplace.json
plugins/codex/
  .agents/plugins/marketplace.json
  plugins/eapil-pdf/
    .codex-plugin/plugin.json
    skills/pdf/
  plugins/eapil-xlsx/
    .codex-plugin/plugin.json
    skills/xlsx/
  plugins/eapil-threejs-fundamentals/
    .codex-plugin/plugin.json
    skills/threejs-fundamentals/
  plugins/superpowers/
    .codex-plugin/plugin.json
    skills/
  plugins/ui-ux-pro-max/
    .codex-plugin/plugin.json
    skills/ui-ux-pro-max/
S
Description
No description provided
Readme 153 MiB
Languages
Python 71.6%
JavaScript 10.7%
HTML 10.2%
CSS 4.4%
Jupyter Notebook 1.1%
Other 2%