Skip to content

Stop relaying sign-in codes; complete Codex listing metadata - #4

Merged
ottomarilves merged 1 commit into
mainfrom
skill-sign-in-without-code-relay
Oct 2, 2026
Merged

ottomarilves merged 1 commit into
mainfrom
skill-sign-in-without-code-relay

Conversation

@ottomarilves

@ottomarilves ottomarilves commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Why

We're preparing the Codex plugin (codex/display-dev/) for OpenAI's Plugins Directory, which covers ChatGPT and Codex. OpenAI scans bundled skills automatically, and its plugin guidelines forbid plugins from soliciting "MFA/OTP codes" (Plugin guidelines → Privacy → Restricted data). Our skill told the agent to ask the user for the six-digit email code and pass it to dsp login --code. The directory submission also requires listing fields our Codex manifest lacks.

Spec (display-dev repo): engineering/specs/feat-openai-plugin-directory-listing.md, §10.

What changes

Sign-in (canonical, every mount)

  • With a bundled remote MCP server, sign-in uses that connection: the user connects in the host.
  • Otherwise the user runs dsp login --client-source display-dev-skill@0.7.4 in their own terminal. The CLI asks for the email and the code there, and SSO organizations open the browser.
  • The agent never runs dsp login or ./scripts/login.sh itself, and never asks for, reads, or relays the code. The trust-boundary bullet, the copy section, and the publish.sh post-publish hint now say the same.
  • The CLI path only works when the user's terminal shares the agent's machine and OS user. Hosted sandboxes use the host's MCP connection, or publish anonymously and hand over the claim URL.
  • tests/run.sh gains a "sign-in codes stay with the user" check. It fails on --code, read and provide, provide the six-digit or login.sh --email in SKILL.md or scripts, and requires both prohibition sentences. Every forbidden pattern matches the 0.7.4 files, so the check would have failed on the old text.
  • README sign-in paragraph and CONTRIBUTING audit guidance updated, including a third clean-room prompt with the dsp test double on PATH.

Codex manifest (OpenAI listing fields)

  • shortDescription "Publish and share agent docs" (28 chars; the limit is 30 and the old text was 44).
  • New capabilities, composerIcon, supportURL, privacyPolicyURL and termsOfServiceURL fields, plus a host-neutral longDescription.
  • assets/logo.svg moves to a 64×64 viewBox with the same artwork; OpenAI requires square icons of at least 48×48.

Decision: canonical, not per-mount

We first considered changing only the Codex mount. That breaks this repo's rule (your 2026-07-22 hardening) that the canonical tree is placeholder-free and every mount is byte-identical, so the change applies to every mount. Trade-off: Claude Code and other CLI users now run dsp login themselves instead of pasting the code into chat. That happens once per machine, since the session is long-lived.

Not in this PR

  • Release commit (version bump across manifests and attribution literals), per the repo's release convention.
  • Removing http_headers from .mcp.json. Only the directory ZIP build strips it, so the GitHub Codex plugin keeps its attribution.
  • Listing name ("Display") and the final listing icon. The SVG uses <text> with system-ui, so its rendering depends on OpenAI's rasterizer; swap in the brand badge (paths or PNG) before upload.
  • scripts/login.sh is unchanged. SKILL.md no longer references it, but the argv-forwarding tests still use it.

Verification

  • bin/sync-mounts.sh --check: 4 mounts match canonical.
  • bash tests/run.sh: exit 0, 10 PASS groups.
  • node --test tests/archive-candidate.test.mjs: pass.
  • jq empty on all manifests and configs. Manifest fields checked against OpenAI's submission limits; support, privacy and terms URLs return 200.
  • Not run: the CONTRIBUTING clean-room agent audit. Codex CLI hit its usage limit (resets 2026-10-15), and the Claude CLI can't authenticate in an isolated HOME without copying credentials. Please run the three sign-in prompts before the release commit.

Review

Three independent Fable review rounds. Rounds 1–2 found remaining relay paths (the publish.sh hint, the copy section, a runnable bash fence before the prohibition, the email solicitation) and missing sandbox guidance; all are fixed. The final gate found no blocker, high or medium issues, and its two low wording fixes are applied. The display-dev repo's docs page (website/content/docs/publishing/skill.mdx) and spec are updated separately.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

The skill no longer asks the agent to collect, read, or relay the email
sign-in code. With a bundled remote MCP server, sign-in uses that
connection; otherwise the user runs `dsp login` in their own terminal,
where the CLI asks for the email and code. The agent never runs
`dsp login` or `./scripts/login.sh` itself. publish.sh no longer prints
the code-relay steps after an anonymous publish, and tests/run.sh now
fails if the relay instructions return.

The change is canonical for every mount: per-mount text would break the
placeholder-free, byte-identical mount invariant in CONTRIBUTING.md.

The Codex plugin manifest gains the fields OpenAI's Plugins Directory
requires for MCP review (30-character subtitle, capabilities,
composerIcon, support/privacy/terms URLs, host-neutral description),
and its SVG icon moves to a 64x64 viewBox to meet the 48px minimum.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ottomarilves
ottomarilves merged commit e2c6c1f into main Oct 2, 2026
1 check passed
@ottomarilves
ottomarilves deleted the skill-sign-in-without-code-relay branch October 2, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants