.claude/skills/openai-codex-cli-github-actions/SKILL.md
Configure OpenAI Codex CLI (@openai/codex) for automated PR reviews in GitHub Actions. Use when: (1) Getting "401 Missing bearer or basic authentication" errors, (2) Error "the argument '--base <BRANCH>' cannot be used with '[PROMPT]'", (3) Error "--commit cannot be used with --base", (4) Codex review not authenticating despite OPENAI_API_KEY secret being set. Covers the required login step and correct argument combinations.
npx skillsauth add Dbochman/dotfiles openai-codex-cli-github-actionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Setting up the OpenAI Codex CLI (@openai/codex) for automated PR reviews in GitHub
Actions fails with authentication errors or argument conflicts, even when OPENAI_API_KEY
is properly configured as a repository secret.
You'll hit this when:
401 Missing bearer or basic authentication in headerthe argument '--base <BRANCH>' cannot be used with '[PROMPT]'the argument '--commit <SHA>' cannot be used with: --base <BRANCH>OPENAI_API_KEY secret is set but reviews still fail with auth errorsThe Codex CLI does NOT automatically use OPENAI_API_KEY environment variable. You must
explicitly log in by piping the key to stdin:
- name: Run Codex review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
# REQUIRED: Authenticate before running review
echo "$OPENAI_API_KEY" | codex login --with-api-key
# Now run the review
codex review --base origin/main --title "PR Title"
The codex review command has mutually exclusive options:
| Use Case | Command |
|----------|---------|
| Review PR diff against base | codex review --base origin/main |
| Review specific commit | codex review --commit <SHA> |
| Review uncommitted changes | codex review --uncommitted |
Cannot combine:
--base with --commit--base with custom [PROMPT] argument (remove the prompt)name: Codex PR Review
on:
pull_request:
branches: [main]
jobs:
review:
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Codex CLI
run: npm install -g @openai/codex
- name: Run Codex review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
echo "$OPENAI_API_KEY" | codex login --with-api-key
codex review \
--base origin/${{ github.base_ref }} \
--title "${{ github.event.pull_request.title }}" \
> review_output.txt 2>&1 || true
- name: Post comment
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr comment ${{ github.event.pull_request.number }} \
--body-file review_output.txt
Reading API key from stdin... Successfully logged inmodel: gpt-5.2-codex and actual code analysis| Mistake | Result | Fix |
|---------|--------|-----|
| Missing login step | 401 Unauthorized | Add echo "$KEY" \| codex login --with-api-key |
| Using --base + --commit | Argument conflict error | Use only one |
| Adding custom prompt with --base | Argument conflict error | Remove the prompt |
| Expecting OPENAI_API_KEY env to work automatically | 401 error | Must explicitly login |
gpt-5.2-codexfetch-depth: 0 is required for --base to work (needs git history)npx @openai/codex --helptools
Use exact configured Reolink cameras through the local Home Hub for availability and power status, fresh stills, visual commentary, protected Dylan/Julia/household sharing, and reversible spotlight control. Supports trusted owner tasks and explicitly scoped proactive automations; not for Nest or Ring cameras, arbitrary recipients, recordings, account changes, or raw camera APIs.
data-ai
Privately manage Dylan and Julia's household plant inventory and care history by physical location, bed, and exact Flower Cam view. Use for confirmed plant onboarding from camera conversations, camera- or bed-filtered inventory, record corrections, individual or whole-bed care, and private filtered exports. Pair with reolink-camera when an owner asks about plants visible in Flower Cam images.
testing
Inspect and control the physically secured Reachy Mini at Crosstown through ClawBody. Use for requests to check Reachy, look around, express an emotion, play any official emotion or dance preset, speak proactively, mute or unmute its microphone, stop movement, or describe what its camera sees.
tools
Handle Reachy/iMessage handoffs, selective durable memory, forgetting, and diagnostics; automatic context comes from the gateway plugin.