feat: Codex marketplace support, README rebuild, code-intelligence doctor#2
Merged
Conversation
…plicate versioning - H1 'Agent Plugins for AI Coding Agents'; add Agent Skills, Claude Code, CI badges - Install section above Plugins; collapsible <details> per host (Gemini CLI, Cursor, Copilot, OpenCode, Codex, Antigravity, npx skills, Manual) - one-sentence what+why per plugin as cards; remove duplicated failure-mode prose - remove standalone Versioning section (lives in CONTRIBUTING.md / CLAUDE.md) - add Author section (Anton Babenko, LinkedIn) - inline vs external install paths kept distinct on non-Claude hosts - .markdownlint.jsonc: allow only <details>/<summary> for the collapsible blocks No plugin scope: release pipeline is a deliberate no-op.
- .agents/plugins/marketplace.json: Codex marketplace mirroring the Claude manifest (code-intelligence local subdir source, terraform-skill url pin v1.8.0); category Title-cased per Codex (marketplace category overrides plugin manifest) - plugins/code-intelligence/.codex-plugin/plugin.json: Codex per-plugin manifest, skills ./skills, version 0.2.0 (synced with SKILL.md and the Claude manifest) - README: Codex badge, project framing (Agent Plugins = Claude Code + Codex marketplace), Codex install block (marketplace add + /plugins TUI; no plugin install subcommand exists), Codex details retitled as clone fallback, naming proofread to 'Agent Plugins' Codex CLI specifics verified via Codex (codex 0.130.0): no stable plugin-install subcommand, category is a free string, repo-root .agents/plugins/marketplace.json is read by 'codex plugin marketplace add'. No plugin scope: release pipeline is a no-op.
automated-release.yml: on a per-plugin bump, also rewrite plugins/<plugin>/.codex-plugin/plugin.json version (step 2b) when that manifest exists, so Codex/Claude/SKILL.md versions never diverge. The existing 'git add plugins' already stages it. Header comment updated. validate.yml: extend the marketplace<->SKILL.md version-sync gate to also require .codex-plugin/plugin.json version == marketplace version when the file is present, so drift fails a PR. Both checks are optional-by-presence: plugins without a Codex manifest are unaffected. No plugin scope: release pipeline no-op.
- CLAUDE.md / CONTRIBUTING.md: release pipeline and CI version-sync now also cover plugins/<plugin>/.codex-plugin/plugin.json; 'never hand-edit versions' extended to it - .claude-plugin/marketplace.json: replace em dash with ' - ' (ASCII) - README.md: user copy edits (badge order, plugin section formatting)
- plugins/code-intelligence/commands/doctor.md: /code-intelligence:doctor checks rg + language servers on PATH with per-OS install hints, prints a READY/DEGRADED verdict tied to the skill's degradation tier, then an optional consent-gated GitHub star (gh api only on explicit Yes, manual link otherwise, no state file written) - baseline-scenarios.md: add Scenario 4 covering the command (consent gate, statelessness) - keeps the CONTRIBUTING add-a-scenario rule and the validate.yml section gate satisfied - README: one discovery line under the code-intelligence card Claude Code only (Codex plugins expose skills, not commands). No plugin scope: release pipeline is a no-op.
The release step prepended new entries above the '# Changelog' H1, producing MD041 (first line not H1), MD012 (double blanks), and MD004 (mixed bullet styles) - which failed validate.yml's markdownlint on every PR touching plugins/**. - automated-release.yml: keep a stable '# Changelog' + preamble on top, insert new version sections below it; single blank-line separators; '*' bullets only; idempotent and self-repairing for a malformed file. - plugins/code-intelligence/CHANGELOG.md: one-time normalize to the clean shape (v0.2.0 entry preserved; stale superseded '## [Unreleased]' scaffold dropped). Unscoped: release pipeline no-op.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Six commits on
docs/readme-rebuild:docs:rebuild README - pitch, per-plugin cards, npx-first install, Author section, cut duplicate versioningfeat:Codex marketplace support -.agents/plugins/marketplace.json+plugins/code-intelligence/.codex-plugin/plugin.json(mirrors the Claude manifest; inline plugin uses a local subdir source, not the repo-root./blocked by Marketplace local plugin path "./" cannot reference the repository root openai/codex#17066)ci:release syncs.codex-plugin/plugin.jsonversion; validate.yml fails on Codex-manifest version driftdocs:CLAUDE.md / CONTRIBUTING.md document the Codex manifest in the release + version-sync model; marketplace.json em dash -> ASCIIfeat:/code-intelligence:doctorcommand - checksrg+ language servers on PATH with install hints, READY/DEGRADED verdict, optional consent-gated GitHub star (no state file,gh apionly on explicit Yes)fix:release CHANGELOG generation is now markdownlint-clean (stable# ChangelogH1, single blank lines,*bullets, idempotent/self-repairing); existing CHANGELOG normalizedCodex CLI specifics (no
plugin installsubcommand; category is a free string; repo-root.agents/plugins/marketplace.jsonis read bycodex plugin marketplace add) were verified with Codex itself.Release impact
PRs are squash-merged and the squash subject drives the per-plugin release pipeline. Keep the squash subject unscoped (e.g.
feat: ..., no(code-intelligence)scope) so this merges with no version bump / no release - that is the intent here. Use afeat(code-intelligence): ...subject only if a code-intelligence release is actually wanted.Test plan
markdownlint-cli2overREADME.md CONTRIBUTING.md plugins/**/*.md-> 0 errors (CHANGELOG fix verified; previously 3 MD0xx failures).claude-pluginmanifest, SKILL.md,.codex-plugin/plugin.json./plugins/code-intelligence), not repo-root./(not hit by Marketplace local plugin path "./" cannot reference the repository root openai/codex#17066)doctor.mdfrontmatter valid (name,description,allowed-tools: Bash, AskUserQuestion); ASCII cleantests/baseline-scenarios.mdretains## Scenario(now 4),## Running These Tests,### Success Criteria(validate.yml gate green)/code-intelligence:doctor- confirm rg/LSP status + install hints, READY/DEGRADED verdict, star asked once after checks, no state file,gh apionly on explicit YesNotes
skills, not commands), so/code-intelligence:doctoris Claude Code only.