Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 98 additions & 0 deletions .codex/README.md
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 |
Copy link

Copilot AI Apr 24, 2026

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.

Suggested change
| [`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 |
| [`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 |

Copilot uses AI. Check for mistakes.

Comment on lines +30 to +33
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

P1: The “Current skills” markdown table uses double-leading pipes (|| Skill | ...) which renders as an extra empty column and looks unintentional. Consider rewriting it to a standard markdown table with single leading | so it renders consistently in GitHub and markdownlint doesn’t flag it.

Copilot uses AI. Check for mistakes.
## 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
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

P1: This provenance line uses human-maintainer as a role-ref; the repo’s convention is role references as plain words (e.g., “human maintainer” per docs/AGENT-BEST-PRACTICES.md). Standardizing avoids fragmented terminology in docs/search.

Suggested change
Initial landing: human-maintainer paste 2026-04-24 loop-agent
Initial landing: human maintainer paste 2026-04-24 loop-agent

Copilot uses AI. Check for mistakes.
tick 102. Paste message: *"there are files in the drop
including a skill created with the openai skill creator so it
seems like codex should use this and integrate with this like
you did with your skill creator please absorb and
delete/remove items from the drop folder, there is a sample
skill in tere created by the oopenai skill creator too"*.

The `idea-spark` skill is a sample generated by the OpenAI
Skill Creator — functional content (brainstorming helper)
is secondary; the primary value is as exemplar of the
OpenAI-skill-bundle layout for future Codex skill authoring.
77 changes: 77 additions & 0 deletions .codex/skills/idea-spark/SKILL.md
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.
2 changes: 2 additions & 0 deletions .codex/skills/idea-spark/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
interface:
display_name: "Idea Spark"
24 changes: 24 additions & 0 deletions .codex/skills/idea-spark/references/idea-patterns.md
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.
Loading