Use the pinyin market display name for guizang-ppt-skill instead of localizing the skill name into Chinese characters. Keep the upstream author/developer identity intact while ensuring the user-facing plugin and KeyInfo catalog name are stable and recognizable.
Constraint: Existing third-party skill names should not be translated during localization; only descriptions and prompts should be localized.
Rejected: Keeping “歸藏 PPT Skill” as the display name | It changes the original skill identity shown to users.
Confidence: high
Scope-risk: narrow
Directive: Preserve upstream skill names in future manifestOverrides unless the upstream source itself changes the name.
Tested: python scripts/validate_marketplace.py; python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/guizang-ppt-skill; git diff --check.
Not-tested: Full marketplace install smoke test was not run.
Add frontend-slides, guizang-ppt-skill, html-ppt, and ppt-master as public third-party marketplace sources with localized Chinese metadata, provenance locks, and generated Codex plugin directories. The sync script now handles root-directory skills without VCS/cache artifacts and supports sparse checkout for large upstream repositories.
Constraint: Third-party plugin content is generated from config/external-sources.json and locked to the upstream commit recorded in external-sources.lock.json.
Rejected: Keeping administrator-added local copies | Stable third-party sources give clearer provenance and let KeyInfo replace duplicates consistently.
Confidence: high
Scope-risk: moderate
Directive: Re-run external source sync instead of manually editing generated plugin directories; keep ppt-master sparseCheckout scoped unless the upstream skill layout changes.
Tested: python scripts/validate_marketplace.py; python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/frontend-slides; python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/guizang-ppt-skill; python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/html-ppt; python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/ppt-master; git diff --check.
Not-tested: Codex marketplace install/remove smoke test and PowerShell sync execution were not run; pwsh/powershell is unavailable on this machine.
Add shadcn-ui/ui skills/shadcn to the external source registry and generate the public Codex plugin with localized Chinese marketplace metadata. Index the plugin in both marketplace entry points and lock the synced upstream commit.
Constraint: Third-party plugin contents are generated from config/external-sources.json and locked to the upstream commit recorded in external-sources.lock.json.
Rejected: Hand-editing generated shadcn plugin metadata | Localized display fields belong in manifestOverrides and skillDescriptions so future syncs preserve them.
Confidence: high
Scope-risk: narrow
Directive: Re-run the external source sync instead of manually editing plugins/codex/plugins/shadcn when upstream changes.
Tested: python scripts/validate_marketplace.py; python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/shadcn; git diff --check.
Not-tested: Codex marketplace install/remove smoke test was not run.
Remove market-source-adapter from the public marketplace because it is a local Codex maintenance skill for adapting future third-party repositories, not a user-installable plugin.
Constraint: Marketplace content must contain only user-facing plugins; developer-only workflow skills belong in ~/.codex/skills.
Rejected: Mark it as internal in KeyInfo | That would still expose the skill through the product instead of keeping it as a local development aid.
Confidence: high
Scope-risk: narrow
Directive: Do not publish market-source-adapter to EAPIL Skill Market or KeyInfo skills_collection unless explicitly re-scoped as a user-facing skill.
Tested: python scripts/validate_marketplace.py; git diff --check; marketplace JSON check; quick_validate.py ~/.codex/skills/market-source-adapter
Not-tested: Restarting Codex to observe the global skill in the next thread.
Add a market-source-adapter plugin so maintainers have a reusable workflow for adapting third-party skill repositories while replacing the old test-oriented README with official Chinese marketplace guidance.
Constraint: Public plugins must remain installable as independent Codex plugins and Chinese-facing fields must be localized without changing stable plugin IDs.
Rejected: Keep adapter guidance only in README | Maintainers need it as an installable skill available from the same marketplace and KeyInfo skill generation page.
Confidence: high
Scope-risk: narrow
Directive: Add future third-party repository structures as explicit adapters or source config, not one-off copy steps.
Tested: python scripts/validate_marketplace.py; python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/market-source-adapter; python /Users/eapil/.codex/skills/.system/skill-creator/scripts/quick_validate.py backend/data/skill_market_repo/plugins/codex/plugins/market-source-adapter/skills/market-source-adapter; node local skills.json visibility check
Not-tested: Installing market-source-adapter through Codex Desktop UI.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public marketplace should only expose production-ready plugins while KeyInfo now publishes internal skills explicitly.
Rejected: Keeping eapil-prefixed test plugins | They conflict with future KeyInfo-published skills and confuse plugin identity.
Confidence: high
Scope-risk: narrow
Directive: Keep plugin IDs stable and avoid eapil-prefixed test fixtures in the public market.
Tested: python scripts/validate_marketplace.py; CODEX_HOME temp codex plugin marketplace add .; CODEX_HOME temp codex plugin add docx@eapil-skill-market
Not-tested: Remote Codex Desktop install after push.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources.
Confidence: high
Scope-risk: narrow
Directive: Keep private/internal skills out of the public marketplace.
Tested: Marketplace validation passed.
Constraint: Chinese users need localized plugin and skill descriptions while third-party sources must remain syncable from upstream.
Rejected: Editing third-party generated files by hand | Sync would overwrite them and make localization drift from config.
Rejected: One plugin per Three.js skill | Users should install one domain package while Codex can still select individual skills inside it.
Confidence: high
Scope-risk: moderate
Directive: Keep plugin IDs and skill names in English kebab-case; put user-facing Chinese text in manifest fields, SKILL.md descriptions, or external-source overrides.
Tested: Codex manual confirms duplicate skills are not merged; powershell sync_external_plugins.ps1 with proxy; python scripts\\validate_marketplace.py; validate_plugin.py for all plugins; codex plugin list local marketplace; codex plugin add/remove eapil-threejs.
Not-tested: Codex Desktop visual refresh after pulling the updated remote marketplace.
Constraint: The maintainer wants periodic upstream sync handled by script logic rather than Gitea workflow automation.
Rejected: Repository-owned Gitea Actions schedule | The remote Gitea runner setup is unnecessary for the current direction.
Confidence: high
Scope-risk: narrow
Directive: Treat scripts/sync_external_plugins.ps1 as the synchronization entry point unless a new scheduler is explicitly requested.
Tested: python scripts\\validate_marketplace.py; rg found no remaining Gitea Actions sync references.
Not-tested: External scheduler/container execution.
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.
Constraint: Maintainers need repeatable ingestion for external skill repositories with different layouts.\nRejected: Git submodules as the primary mechanism | Codex marketplace installs do not reliably recurse external submodules, and adapters still need layout conversion.\nConfidence: medium\nScope-risk: moderate\nDirective: Add new upstreams through config/external-sources.json and adapter logic rather than hand-copying plugin folders.\nTested: scripts/sync_external_plugins.ps1 -Proxy http://127.0.0.1:18085; scripts/sync_external_plugins.ps1 -Only ui-ux-pro-max -Proxy http://127.0.0.1:18085; python scripts/validate_marketplace.py; validate_plugin.py for superpowers and ui-ux-pro-max; codex plugin add superpowers@eapil-skill-market; codex plugin add ui-ux-pro-max@eapil-skill-market; verified ui-ux-pro-max data/scripts directories in cache.\nNot-tested: Scheduled .gitea workflow execution on git.playones runner.
Constraint: Codex installs and removes plugin units, not individual SKILL.md files.\nRejected: Keep every skill in one eapil-skills bundle | Users could not selectively install only the needed skill pack.\nConfidence: high\nScope-risk: moderate\nDirective: Add future skills as separate eapil-* plugins unless they are intentionally bundled.\nTested: python json.tool for marketplace and plugin manifests; validate_plugin.py for all 13 plugins; codex plugin marketplace add . --json; codex plugin list --marketplace eapil-skill-market --available --json; codex plugin add eapil-pdf/eapil-xlsx/eapil-threejs-fundamentals.\nNot-tested: Remote Git marketplace refresh after push.
Constraint: Codex Git sparse checkout preserves selected paths, so plugins/codex is not treated as the marketplace root by the CLI.\nRejected: Require users to rely on a single plugins/codex sparse path | The CLI leaves the manifest nested and rejects the marketplace root.\nConfidence: high\nScope-risk: narrow\nDirective: Keep the root .agents/plugins/marketplace.json as the primary Git entrypoint.\nTested: python json.tool on both marketplace manifests; validate_plugin.py.\nNot-tested: Remote Git marketplace add after this commit.