Repository navigation
feat(plugins): the $0-formation first response ships to OpenAI surfaces only - #9
Merged
Merged
Conversation
…es only The "Mandatory first response" (a fixed, vendor-written notice naming one competitor, shown before the first intake question) exists because ChatGPT can render a sponsored placement beside the chat. Codex is from the same vendor. No other harness here can, and Anthropic has committed to keeping Claude ad-free, so only Codex should carry it. Before: every package shared plugins/corpus/skills, so Claude Code, Cursor, Hermes and Codex all got it. Now: - skills/corpus-business-formation (canonical) and plugins/corpus/skills are neutral; the skill keeps a one-line never-claim-to-see-an-ad guard and the existing pre-payment reminder. - Codex gets its own package, plugins/corpus-codex (manifest, MCP file, logo, README), whose business-formation SKILL.md is the neutral skill plus two snippets from overlays/openai/snippets, generated by scripts/sync-codex-skills.py (--check fails on drift). .agents/plugins/marketplace.json and scripts/package-openai-plugin.py point at it. The install command is unchanged: codex plugin add corpus@corpus-agent-kit. - plugins/corpus drops its Codex files, so it can be submitted to Anthropic's directory. Its README is now a listing-grade description (what it adds, connects to, sends, says, and its limits); the multi-harness guide moved to docs/INSTALL.md, with the first-reply disclosure corrected to say the extra notice is Codex-only. Tests: scripts/tests/test_codex_skill_overlay.py (neutral trees carry no duty, Codex tree does and equals neutral + snippets, marketplaces point at the right packages) and new assertions in scripts/check-plugin-package.mjs. Scope notes: - Only the first-response duty moved. The pre-payment "Before you pay" reminder stays in the neutral skill by design (it is disclosed in the README). - This does NOT re-mirror the skill from Corpus. The two copies have drifted both ways: the kit still says "100 searches/month" and lacks the expedite review-waiver wording that Corpus has, while the kit's harness-setup.md has Hermes plugin-doctor lines that Corpus lacks. A blanket copy would revert those, so reconciling is a separate change. - The Hermes catalog entry pins a reviewed commit and is unaffected until re-pinned. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
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.
What and why
The
corpus-business-formationskill opened with a "Mandatory first response": a fixed, vendor-written notice, naming one competitor, shown before the first intake question. It exists because ChatGPT can render a sponsored placement beside the chat. Codex is from the same vendor. No other harness here can, and Anthropic has publicly committed to keeping Claude ad-free. But every package shared one skills folder, so Claude Code, Cursor, Hermes and Codex all carried it.Founder decision (ty, 2026-10-19): the mandatory first response is for Codex/ChatGPT only. This also unblocks submitting
plugins/corpusto Anthropic's directory, whose reviewers read instructions that promote products or name a competitor as a policy problem.Changes
skills/(canonical),plugins/corpus/skills, and therefore Claude Code, Cursor, Hermes, Gemini CLI, Qwen Code and Kimi Code. The skill keeps a one-line never-claim-to-see-an-ad guard.plugins/corpus-codex(manifest, MCP file, logo, README). Its business-formationSKILL.mdis the neutral skill plus two snippets fromoverlays/openai/snippets, generated byscripts/sync-codex-skills.py(--checkfails on drift)..agents/plugins/marketplace.json,scripts/package-openai-plugin.py,scripts/check-plugin-package.mjsanddocs/OPENAI_PLUGIN.mdpoint at it. The install command is unchanged:codex plugin add corpus@corpus-agent-kit.plugins/corpusloses its Codex files (.codex-plugin/,.mcp.json) and gets a listing-gradeREADME.md(what it adds, connects to, sends, says on its own, and its limits). The multi-harness guide moved todocs/INSTALL.md, with the first-reply disclosure corrected to say the extra notice is Codex-only.scripts/tests/test_codex_skill_overlay.py(6 new) and new assertions inscripts/check-plugin-package.mjs.npm run check:plugin-skill-driftnow also runs the Codex check.Counterpart in the Corpus repo (private): the same scoping for the portable skill, its public copy,
skills.mdand the 51 per-state skills, with an OpenAI overlay and tests.Deviations from the approved plan
harness-setup.mdlacks the Hermesplugins doctorlines added in plugins/corpus: address Hermes catalog security review (vendor intake.md, checkout confirmation, disclosure) #6). A blanket copy would revert this repo's. This PR applies only the scoping edit to this repo's own files. Reconciling is tracked separately.Verification (run locally on this branch)
node scripts/check-plugin-package.mjs— okbash scripts/check-plugin-skill-drift.sh— ok: 4 generated skill files match canonical rootspython3 scripts/sync-codex-skills.py --check— ok: 4 generated Codex skill files match canonical roots + overlaypython3 -m unittest discover -s scripts/tests -p 'test_*.py'— Ran 10 tests, OK (6 new, 4 existing)python3 scripts/package-openai-plugin.py HEADrun twice: byte-identical (cmpclean),unzip -tclean, archive containsplugins/corpus-codex/...overlays/openai/snippets/first-response.mdand the generatedplugins/corpus-codex/skills/corpus-business-formation/SKILL.mdNot run locally:
npm ci,npm testworkspaces,typecheck,build(CI runs them).Notes for merging
corpus-openai-v<version>tag (package-openai-plugin.pyties them together). Not done here.plugins/corpus/.claude-plugin/plugin.jsonstill says "end to end" in its description; to be fixed together with the plugin-name decision before the Anthropic directory submission.Not independently reviewed.
🤖 Generated with Claude Code