-
Notifications
You must be signed in to change notification settings - Fork 1
codex: land OpenAI Skill Creator sample skill (idea-spark) + .codex/ substrate entry-point #288
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,98 @@ | ||||||
| # Codex CLI harness substrate (`.codex/`) | ||||||
|
|
||||||
| Parallel to `.claude/` — Codex-specific substrate for the | ||||||
| factory. Per tick-79 refinement of the first-class-Codex-CLI | ||||||
| BACKLOG row: *"each harness owns its own named loop agent"* | ||||||
| and *"each harness authors its own skill files"*. This | ||||||
| directory is Codex's substrate; Claude Code's lives at | ||||||
| `.claude/`. | ||||||
|
|
||||||
| ## Layout | ||||||
|
|
||||||
| ``` | ||||||
| .codex/ | ||||||
| ├── README.md — this file | ||||||
| └── skills/ — Codex-authored skill bundles | ||||||
| └── <skill-name>/ — one directory per skill | ||||||
| ├── SKILL.md — frontmatter + instructions | ||||||
| ├── agents/ — vendor-specific agent config | ||||||
| │ └── openai.yaml | ||||||
| └── references/ — on-demand content | ||||||
| └── *.md | ||||||
| ``` | ||||||
|
|
||||||
| The OpenAI Skill Creator produces skill bundles matching the | ||||||
| layout above; skills land in `.codex/skills/` when the human | ||||||
| maintainer or a Codex CLI session adds them. | ||||||
|
|
||||||
| ## Current skills | ||||||
|
|
||||||
| | Skill | Source | Purpose | | ||||||
| |---|---|---| | ||||||
| | [`idea-spark`](skills/idea-spark/) | human-maintainer paste 2026-04-24 loop-agent tick 102 (via OpenAI Skill Creator, skill.zip in drop/) | Sample skill; brainstorming + idea-development helper | | ||||||
|
|
||||||
|
Comment on lines
+30
to
+33
|
||||||
| ## Loop-agent / Claude Code boundary | ||||||
|
|
||||||
| The Claude Code loop agent does **not** edit files under | ||||||
| `.codex/skills/` as part of its normal work. A future Codex | ||||||
| CLI session authors + maintains Codex skills. The loop | ||||||
| agent's initial landing of `idea-spark` here is a **substrate | ||||||
| setup action** — not an ongoing edit-responsibility claim. | ||||||
| Per the tick-79 cross-session-review-yes-cross-edit-no | ||||||
| discipline: the Claude Code loop agent can read this | ||||||
| directory and comment on substrate quality in PR reviews, | ||||||
| but a Codex CLI session owns the edits. | ||||||
|
|
||||||
| ## Bootstrap story | ||||||
|
|
||||||
| When a Codex CLI session first opens Zeta, it reads | ||||||
| `AGENTS.md` (per Codex-CLI convention) which already | ||||||
| provides the universal handbook. This `.codex/README.md` is | ||||||
| the Codex-harness-specific entry-point, parallel to | ||||||
| `CLAUDE.md` for Claude Code. Future Codex-CLI sessions can | ||||||
| expand this README with session-bootstrap content as the | ||||||
| Claude Code loop-agent's first-class-Codex research (PR #231) | ||||||
| described. | ||||||
|
|
||||||
| ## Skill authorship convention | ||||||
|
|
||||||
| - **For Codex CLI sessions:** use the OpenAI Skill Creator | ||||||
| (or equivalent Codex-native tooling) to author new skills. | ||||||
| Land in `.codex/skills/<name>/` via normal PR flow. | ||||||
| - **For the human maintainer:** land skills produced by the | ||||||
| OpenAI Skill Creator by unzipping bundle contents into | ||||||
| `.codex/skills/<name>/` and opening a PR — same pattern | ||||||
| as this initial landing. | ||||||
| - **For the Claude Code loop-agent:** do NOT author | ||||||
| `.codex/skills/**` content directly. If a Claude-Code-side | ||||||
| skill would benefit from a Codex counterpart, file a | ||||||
| BACKLOG row describing the need; Codex owns the authoring. | ||||||
|
|
||||||
| ## Related substrate | ||||||
|
|
||||||
| - [`.claude/skills/`](../.claude/skills/) — Claude Code's | ||||||
| parallel skill substrate. | ||||||
| - [`docs/BACKLOG.md`](../docs/BACKLOG.md) — the | ||||||
| first-class-Codex-CLI row (PR #228 + tick-78 refinement PR | ||||||
| #236 + tick-79 refinement PR #236 amendments + tick-86 | ||||||
| peer-harness progression PR #255) names the | ||||||
| 6-stage arc that this `.codex/` directory is substrate- | ||||||
| support for. | ||||||
| - [`docs/research/openai-codex-cli-capability-map.md`](../docs/research/openai-codex-cli-capability-map.md) | ||||||
| — Codex CLI capability map; catalogs surface area of the | ||||||
| OpenAI Codex CLI harness relative to Claude Code. | ||||||
|
|
||||||
| ## Provenance | ||||||
|
|
||||||
| Initial landing: human-maintainer paste 2026-04-24 loop-agent | ||||||
|
||||||
| Initial landing: human-maintainer paste 2026-04-24 loop-agent | |
| Initial landing: human maintainer paste 2026-04-24 loop-agent |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| --- | ||
| name: idea-spark | ||
| description: chat-only brainstorming and idea development helper. use when the user gives a vague thought, goal, topic, name, draft concept, creative block, or early-stage project and wants concrete directions, options, names, outlines, experiments, or next steps. useful for turning ambiguous ideas into structured, practical possibilities without requiring external connectors or files. | ||
| --- | ||
|
|
||
| # Idea Spark | ||
|
|
||
| ## Overview | ||
|
|
||
| Turn fuzzy ideas into useful options quickly. Keep the conversation lightweight, curious, and practical rather than over-planned. | ||
|
|
||
| ## Default Workflow | ||
|
|
||
| 1. Restate the seed idea in one sentence. | ||
| 2. Identify the likely goal behind it. | ||
| 3. Generate multiple directions using the three-option spread: | ||
| - **Safe**: familiar, low-risk, easy to execute. | ||
| - **Sharp**: distinctive, memorable, or more opinionated. | ||
| - **Weird**: unusual but still connected to the goal. | ||
| 4. Pick the most promising direction and convert it into next steps. | ||
| 5. End with one useful question only when the answer would meaningfully change the next iteration. | ||
|
|
||
| ## Output Style | ||
|
|
||
| Prefer short, skimmable sections. Avoid long theory. Give the user something they can react to immediately. | ||
|
|
||
| Use this flexible format unless the user asks for something else: | ||
|
|
||
| ```markdown | ||
| ## Read on the idea | ||
| [one-sentence interpretation] | ||
|
|
||
| ## Three directions | ||
| **Safe:** [practical direction] | ||
| **Sharp:** [more distinctive direction] | ||
| **Weird:** [unexpected direction] | ||
|
|
||
| ## Best bet | ||
| [recommendation with a brief reason] | ||
|
|
||
| ## Next move | ||
| [one concrete action] | ||
| ``` | ||
|
|
||
| ## Handling Very Vague Inputs | ||
|
|
||
| When the user says something like "anything," "I don't know," or gives only a topic, do not stall. Invent a useful starting frame and say what assumption you made. | ||
|
|
||
| Example: | ||
|
|
||
| User: "something about journaling" | ||
|
|
||
| Response should assume the user wants ideas around journaling and produce several product, writing, or habit directions. Ask at most one follow-up question at the end. | ||
|
|
||
| ## Naming and Positioning | ||
|
|
||
| For naming tasks: | ||
|
|
||
| - Generate names in clusters: clear, evocative, playful, premium, and weird. | ||
| - Include a one-line rationale for the strongest 3 names. | ||
| - Do not claim domain or trademark availability unless specifically checked with an external tool. | ||
|
|
||
| For positioning tasks: | ||
|
|
||
| - Write one plain-English positioning sentence. | ||
| - Then write three variants: practical, emotional, and punchy. | ||
|
|
||
| ## Experiments | ||
|
|
||
| When the idea needs validation, use the tiny experiment template from `references/idea-patterns.md`: | ||
|
|
||
| - Hypothesis | ||
| - Setup | ||
| - Success signal | ||
| - Timebox | ||
|
|
||
| Load that reference only when the task is about testing, validating, or comparing early ideas. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| interface: | ||
| display_name: "Idea Spark" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| # Idea Patterns | ||
|
|
||
| Use these lightweight patterns when turning vague ideas into practical options. | ||
|
|
||
| ## Expansion lenses | ||
|
|
||
| - Audience: who is this for? | ||
| - Outcome: what change should happen? | ||
| - Constraint: what must be avoided or preserved? | ||
| - Medium: what form should the idea take? | ||
| - Test: what is the smallest useful experiment? | ||
|
|
||
| ## Option styles | ||
|
|
||
| - Safe option: familiar, low-risk, easy to execute. | ||
| - Sharp option: more distinctive, memorable, or opinionated. | ||
| - Weird option: intentionally unusual but still connected to the goal. | ||
|
|
||
| ## Tiny experiment template | ||
|
|
||
| - Hypothesis: If we do [action], then [audience] will [observable behavior]. | ||
| - Setup: What must be created or changed. | ||
| - Success signal: What would count as promising evidence. | ||
| - Timebox: The shortest reasonable test window. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: This line uses the role-ref
human-maintainer, but the repo’s convention is to use role references in plain form like “human maintainer” (see docs/AGENT-BEST-PRACTICES.md around the “No name attribution” rule). Please standardize to the canonical role wording for consistency/searchability.