Skip to content

sync-to-codex-plugin: seed interface.defaultPrompt#1180

Merged
obra merged 1 commit intomainfrom
sync-to-codex-default-prompt
Apr 15, 2026
Merged

sync-to-codex-plugin: seed interface.defaultPrompt#1180
obra merged 1 commit intomainfrom
sync-to-codex-default-prompt

Conversation

@arittr
Copy link
Copy Markdown
Collaborator

@arittr arittr commented Apr 15, 2026

What problem are you trying to solve?

Codex plugins surface an interface.defaultPrompt array as suggested
prompts on the plugin's app page (see the figma plugin's plugin.json
for the canonical shape). The superpowers plugin generator in
scripts/sync-to-codex-plugin.sh omits that field entirely, so when
the generated plugin.json lands in the openai-codex-plugins mirror
the superpowers app card has no onboarding hints — users who open the
listing see an empty prompt-suggestion area.

What does this PR change?

Adds defaultPrompt to the interface block of the heredoc in
generate_plugin_json(), seeded with two generic prompts. No other
fields change; the rest of the manifest is byte-identical.

Is this change appropriate for the core library?

Yes. sync-to-codex-plugin.sh is core tooling (added in #1165) and
every sync run through it produces the manifest this edit shapes. The
two seed prompts are deliberately domain-neutral ("I've got an idea
for something I'd like to build." / "Let's add a feature to this
project.") so they apply to any user, any project.

What alternatives did you consider?

Making the prompts configurable via a flag or env var. Rejected: the
rest of the heredoc (displayName, description, category, colors,
icons) is all hard-coded, so threading one field through a config
layer would be inconsistent and buy nothing — editing the script is
the same friction as editing an env var.

Does this PR contain multiple unrelated changes?

No. One field added in one file.

Existing PRs

  • I have reviewed all open AND closed PRs for duplicates or prior art
  • Related PRs: none found

Environment tested

Harness Harness version Model Model version/ID
Claude Code current Opus 4.6 claude-opus-4-6[1m]

Verified by extracting generate_plugin_json and running it against
/tmp/sp-plugin-test.json, then parsing the result with
python3 -m json.tool — output is valid JSON and
interface.defaultPrompt contains both seed strings. Did not run the
full sync end-to-end (would push to a fork destination).

Evaluation

Not a skills change — no behavior-shaping content touched. The change
is a pure additive manifest field; eval criterion is "generated JSON
still parses and contains the expected array," which it does.

Rigor

  • If this is a skills change: N/A
  • This change was tested adversarially, not just on the happy path
    (verified JSON validity after edit; confirmed apostrophes in the
    string literals survive the unquoted heredoc without shell
    interpolation)
  • I did not modify carefully-tuned content

Human review

  • A human has reviewed the COMPLETE proposed diff before submission

Codex plugin pages use interface.defaultPrompt to show suggested
prompts on the plugin's app card; the generator now emits two
domain-neutral seed prompts so the superpowers listing isn't empty.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Owner

@obra obra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@obra obra merged commit 34c17ae into main Apr 15, 2026
ronnyf pushed a commit to ronnyf/superpowers that referenced this pull request Apr 27, 2026
Codex plugin pages use interface.defaultPrompt to show suggested
prompts on the plugin's app card; the generator now emits two
domain-neutral seed prompts so the superpowers listing isn't empty.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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