Type
feature (high confidence)
Description
readCodexMarketplaceFiles() was introduced in PR #151 to read available (not necessarily installed) Codex plugin entries from ~/.agents/plugins/marketplace.json and .agents/plugins/marketplace.json. The function is fully implemented, exported, and tested, but it is deliberately not wired into scanAllSkills() because its return type (CodexMarketplaceEntry[]) does not match SkillInfo[] — and fabricating path, realPath, and dirName for plugins that are not installed on disk would be incorrect.
The result is that ASM currently has no way to surface available Codex plugins (those listed in a marketplace file but not yet installed in the cache). Users can only see installed plugins via the cache scan.
Related components
src/scanner.ts — readCodexMarketplaceFiles(), scanAllSkills()
src/utils/types.ts — CodexMarketplaceEntry, SkillInfo
- CLI commands:
asm list, asm search, potentially a new asm marketplace list
Related issues / PRs
Reporter Context
readCodexMarketplaceFiles is exported and fully tested but is never called from scanAllSkills. This is a design limitation: the function returns CodexMarketplaceEntry[] (name, source, version, description only) — plugins that are available but not necessarily installed. Wiring it into scanAllSkills would require fabricating path, realPath, dirName, etc. for plugins that don't exist on disk, which would be incorrect. The function is correctly positioned for a future asm marketplace list-style command.
Acceptance Criteria
Metadata
- Priority: medium
- Effort: M
- Suggested labels: enhancement, codex, cli
Type
feature (high confidence)
Description
readCodexMarketplaceFiles()was introduced in PR #151 to read available (not necessarily installed) Codex plugin entries from~/.agents/plugins/marketplace.jsonand.agents/plugins/marketplace.json. The function is fully implemented, exported, and tested, but it is deliberately not wired intoscanAllSkills()because its return type (CodexMarketplaceEntry[]) does not matchSkillInfo[]— and fabricatingpath,realPath, anddirNamefor plugins that are not installed on disk would be incorrect.The result is that ASM currently has no way to surface available Codex plugins (those listed in a marketplace file but not yet installed in the cache). Users can only see installed plugins via the cache scan.
Related components
src/scanner.ts—readCodexMarketplaceFiles(),scanAllSkills()src/utils/types.ts—CodexMarketplaceEntry,SkillInfoasm list,asm search, potentially a newasm marketplace listRelated issues / PRs
readCodexMarketplaceFileswithout wiring it inReporter Context
Acceptance Criteria
asm marketplace list(or equivalent sub-command) reads~/.agents/plugins/marketplace.jsonand.agents/plugins/marketplace.jsonand outputs available Codex plugins, indicating which are already installed (present in the cache) — (high confidence)"Codex Plugin (available)") — (medium confidence)readCodexMarketplaceFilesis called from the new command path;scanAllSkillsremains unchanged (installed-only scan) — (high confidence)scanAllSkillstests and the 7readCodexMarketplaceFilesunit tests continue to pass without modification — (high confidence)Metadata