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.
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-pdfeapil-pptxeapil-xlsxeapil-threejs-animationeapil-threejs-fundamentalseapil-threejs-geometryeapil-threejs-interactioneapil-threejs-lightingeapil-threejs-loaderseapil-threejs-materialseapil-threejs-postprocessingeapil-threejs-shaderseapil-threejs-texturessuperpowersui-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 forobra/superpowers.claude-skill: converts one Claude-style skill directory into a Codex plugin, used fornextlevelbuilder/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, andpwshin 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/