[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M75CCTC34ZP8H2VMJYCBJSTV":3,"skill-same:01M75CCTC34ZP8H2VMJYCBJSTV":61},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":14,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M75CCTC34ZP8H2VMJYCBJSTV","codex",null,"Delegate coding to OpenAI Codex CLI (features, PRs).","osman-jalloh-lab\u002Fmyos","osman-jalloh-lab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F197696150?v=4","01M75CAASTD7R8BCGCDJCYFAZG","OSMAN JALLOH","01M75CAATE5G8833499GV57VW0",0,"MIT","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Fcodex\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: codex\ndescription: \"Delegate coding to OpenAI Codex CLI (features, PRs).\"\nversion: 1.0.0\nauthor: Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [Coding-Agent, Codex, OpenAI, Code-Review, Refactoring]\n    related_skills: [claude-code, hermes-agent]\n---\n\n# Codex CLI\n\nDelegate coding tasks to [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex) via the Hermes terminal. Codex is OpenAI's autonomous coding agent CLI.\n\n## When to use\n\n- Building features\n- Refactoring\n- PR reviews\n- Batch issue fixing\n\nRequires the codex CLI and a git repository.\n\n## Prerequisites\n\n- Codex installed: `npm install -g @openai\u002Fcodex`\n- OpenAI auth configured: either `OPENAI_API_KEY` or Codex OAuth credentials\n  from the Codex CLI login flow\n- **Must run inside a git repository** — Codex refuses to run outside one\n- Use `pty=true` in terminal calls — Codex is an interactive terminal app\n\nFor Hermes itself, `model.provider: openai-codex` uses Hermes-managed Codex\nOAuth from `~\u002F.hermes\u002Fauth.json` after `hermes auth add openai-codex`. For the\nstandalone Codex CLI, a valid CLI OAuth session may live under\n`~\u002F.codex\u002Fauth.json`; do not treat a missing `OPENAI_API_KEY` alone as proof\nthat Codex auth is missing.\n\n## One-Shot Tasks\n\n```\nterminal(command=\"codex exec 'Add dark mode toggle to settings'\", workdir=\"~\u002Fproject\", pty=true)\n```\n\nFor scratch work (Codex needs a git repo):\n```\nterminal(command=\"cd $(mktemp -d) && git init && codex exec 'Build a snake game in Python'\", pty=true)\n```\n\n## Background Mode (Long Tasks)\n\n```\n# Start in background with PTY\nterminal(command=\"codex exec --full-auto 'Refactor the auth module'\", workdir=\"~\u002Fproject\", background=true, pty=true)\n# Returns session_id\n\n# Monitor progress\nprocess(action=\"poll\", session_id=\"\u003Cid>\")\nprocess(action=\"log\", session_id=\"\u003Cid>\")\n\n# Send input if Codex asks a question\nprocess(action=\"submit\", session_id=\"\u003Cid>\", data=\"yes\")\n\n# Kill if needed\nprocess(action=\"kill\", session_id=\"\u003Cid>\")\n```\n\n## Key Flags\n\n| Flag | Effect |\n|------|--------|\n| `exec \"prompt\"` | One-shot execution, exits when done |\n| `--full-auto` | Sandboxed but auto-approves file changes in workspace |\n| `--yolo` | No sandbox, no approvals (fastest, most dangerous) |\n| `--sandbox danger-full-access` | No Codex sandbox; useful when the host service context breaks bubblewrap |\n\n## Hermes Gateway Caveat\n\nWhen invoking the Codex CLI from a Hermes gateway\u002Fservice context (for example,\nTelegram-driven agent sessions), Codex `workspace-write` sandboxing may fail even\nwhen the same command works in the user's interactive shell. A typical symptom is\nbubblewrap\u002Fuser-namespace errors such as `setting up uid map: Permission denied`\nor `loopback: Failed RTM_NEWADDR: Operation not permitted`.\n\nIn that context, prefer:\n\n```\ncodex exec --sandbox danger-full-access \"\u003Ctask>\"\n```\n\nUse process boundaries as the safety layer instead: explicit `workdir`, clean git\nstatus before launch, narrow task prompts, `git diff` review, targeted tests, and\nhuman\u002Fagent confirmation before committing broad changes.\n\n## PR Reviews\n\nClone to a temp directory for safe review:\n\n```\nterminal(command=\"REVIEW=$(mktemp -d) && git clone https:\u002F\u002Fgithub.com\u002Fuser\u002Frepo.git $REVIEW && cd $REVIEW && gh pr checkout 42 && codex review --base origin\u002Fmain\", pty=true)\n```\n\n## Parallel Issue Fixing with Worktrees\n\n```\n# Create worktrees\nterminal(command=\"git worktree add -b fix\u002Fissue-78 \u002Ftmp\u002Fissue-78 main\", workdir=\"~\u002Fproject\")\nterminal(command=\"git worktree add -b fix\u002Fissue-99 \u002Ftmp\u002Fissue-99 main\", workdir=\"~\u002Fproject\")\n\n# Launch Codex in each\nterminal(command=\"codex --yolo exec 'Fix issue #78: \u003Cdescription>. Commit when done.'\", workdir=\"\u002Ftmp\u002Fissue-78\", background=true, pty=true)\nterminal(command=\"codex --yolo exec 'Fix issue #99: \u003Cdescription>. Commit when done.'\", workdir=\"\u002Ftmp\u002Fissue-99\", background=true, pty=true)\n\n# Monitor\nprocess(action=\"list\")\n\n# After completion, push and create PRs\nterminal(command=\"cd \u002Ftmp\u002Fissue-78 && git push -u origin fix\u002Fissue-78\")\nterminal(command=\"gh pr create --repo user\u002Frepo --head fix\u002Fissue-78 --title 'fix: ...' --body '...'\")\n\n# Cleanup\nterminal(command=\"git worktree remove \u002Ftmp\u002Fissue-78\", workdir=\"~\u002Fproject\")\n```\n\n## Batch PR Reviews\n\n```\n# Fetch all PR refs\nterminal(command=\"git fetch origin '+refs\u002Fpull\u002F*\u002Fhead:refs\u002Fremotes\u002Forigin\u002Fpr\u002F*'\", workdir=\"~\u002Fproject\")\n\n# Review multiple PRs in parallel\nterminal(command=\"codex exec 'Review PR #86. git diff origin\u002Fmain...origin\u002Fpr\u002F86'\", workdir=\"~\u002Fproject\", background=true, pty=true)\nterminal(command=\"codex exec 'Review PR #87. git diff origin\u002Fmain...origin\u002Fpr\u002F87'\", workdir=\"~\u002Fproject\", background=true, pty=true)\n\n# Post results\nterminal(command=\"gh pr comment 86 --body '\u003Creview>'\", workdir=\"~\u002Fproject\")\n```\n\n## Rules\n\n1. **Always use `pty=true`** — Codex is an interactive terminal app and hangs without a PTY\n2. **Git repo required** — Codex won't run outside a git directory. Use `mktemp -d && git init` for scratch\n3. **Use `exec` for one-shots** — `codex exec \"prompt\"` runs and exits cleanly\n4. **`--full-auto` for building** — auto-approves changes within the sandbox\n5. **Background for long tasks** — use `background=true` and monitor with `process` tool\n6. **Don't interfere** — monitor with `poll`\u002F`log`, be patient with long-running tasks\n7. **Parallel is fine** — run multiple Codex processes at once for batch work\n","# Codex CLI\n\nDelegate coding tasks to [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex) via the Hermes terminal. Codex is OpenAI's autonomous coding agent CLI.\n\n## When to use\n\n- Building features\n- Refactoring\n- PR reviews\n- Batch issue fixing\n\nRequires the codex CLI and a git repository.\n\n## Prerequisites\n\n- Codex installed: `npm install -g @openai\u002Fcodex`\n- OpenAI auth configured: either `OPENAI_API_KEY` or Codex OAuth credentials\n  from the Codex CLI login flow\n- **Must run inside a git repository** — Codex refuses to run outside one\n- Use `pty=true` in terminal calls — Codex is an interactive terminal app\n\nFor Hermes itself, `model.provider: openai-codex` uses Hermes-managed Codex\nOAuth from `~\u002F.hermes\u002Fauth.json` after `hermes auth add openai-codex`. For the\nstandalone Codex CLI, a valid CLI OAuth session may live under\n`~\u002F.codex\u002Fauth.json`; do not treat a missing `OPENAI_API_KEY` alone as proof\nthat Codex auth is missing.\n\n## One-Shot Tasks\n\n```\nterminal(command=\"codex exec 'Add dark mode toggle to settings'\", workdir=\"~\u002Fproject\", pty=true)\n```\n\nFor scratch work (Codex needs a git repo):\n```\nterminal(command=\"cd $(mktemp -d) && git init && codex exec 'Build a snake game in Python'\", pty=true)\n```\n\n## Background Mode (Long Tasks)\n\n```\n# Start in background with PTY\nterminal(command=\"codex exec --full-auto 'Refactor the auth module'\", workdir=\"~\u002Fproject\", background=true, pty=true)\n# Returns session_id\n\n# Monitor progress\nprocess(action=\"poll\", session_id=\"\u003Cid>\")\nprocess(action=\"log\", session_id=\"\u003Cid>\")\n\n# Send input if Codex asks a question\nprocess(action=\"submit\", session_id=\"\u003Cid>\", data=\"yes\")\n\n# Kill if needed\nprocess(action=\"kill\", session_id=\"\u003Cid>\")\n```\n\n## Key Flags\n\n| Flag | Effect |\n|------|--------|\n| `exec \"prompt\"` | One-shot execution, exits when done |\n| `--full-auto` | Sandboxed but auto-approves file changes in workspace |\n| `--yolo` | No sandbox, no approvals (fastest, most dangerous) |\n| `--sandbox danger-full-access` | No Codex sandbox; useful when the host service context breaks bubblewrap |\n\n## Hermes Gateway Caveat\n\nWhen invoking the Codex CLI from a Hermes gateway\u002Fservice context (for example,\nTelegram-driven agent sessions), Codex `workspace-write` sandboxing may fail even\nwhen the same command works in the user's interactive shell. A typical symptom is\nbubblewrap\u002Fuser-namespace errors such as `setting up uid map: Permission denied`\nor `loopback: Failed RTM_NEWADDR: Operation not permitted`.\n\nIn that context, prefer:\n\n```\ncodex exec --sandbox danger-full-access \"\u003Ctask>\"\n```\n\nUse process boundaries as the safety layer instead: explicit `workdir`, clean git\nstatus before launch, narrow task prompts, `git diff` review, targeted tests, and\nhuman\u002Fagent confirmation before committing broad changes.\n\n## PR Reviews\n\nClone to a temp directory for safe review:\n\n```\nterminal(command=\"REVIEW=$(mktemp -d) && git clone https:\u002F\u002Fgithub.com\u002Fuser\u002Frepo.git $REVIEW && cd $REVIEW && gh pr checkout 42 && codex review --base origin\u002Fmain\", pty=true)\n```\n\n## Parallel Issue Fixing with Worktrees\n\n```\n# Create worktrees\nterminal(command=\"git worktree add -b fix\u002Fissue-78 \u002Ftmp\u002Fissue-78 main\", workdir=\"~\u002Fproject\")\nterminal(command=\"git worktree add -b fix\u002Fissue-99 \u002Ftmp\u002Fissue-99 main\", workdir=\"~\u002Fproject\")\n\n# Launch Codex in each\nterminal(command=\"codex --yolo exec 'Fix issue #78: \u003Cdescription>. Commit when done.'\", workdir=\"\u002Ftmp\u002Fissue-78\", background=true, pty=true)\nterminal(command=\"codex --yolo exec 'Fix issue #99: \u003Cdescription>. Commit when done.'\", workdir=\"\u002Ftmp\u002Fissue-99\", background=true, pty=true)\n\n# Monitor\nprocess(action=\"list\")\n\n# After completion, push and create PRs\nterminal(command=\"cd \u002Ftmp\u002Fissue-78 && git push -u origin fix\u002Fissue-78\")\nterminal(command=\"gh pr create --repo user\u002Frepo --head fix\u002Fissue-78 --title 'fix: ...' --body '...'\")\n\n# Cleanup\nterminal(command=\"git worktree remove \u002Ftmp\u002Fissue-78\", workdir=\"~\u002Fproject\")\n```\n\n## Batch PR Reviews\n\n```\n# Fetch all PR refs\nterminal(command=\"git fetch origin '+refs\u002Fpull\u002F*\u002Fhead:refs\u002Fremotes\u002Forigin\u002Fpr\u002F*'\", workdir=\"~\u002Fproject\")\n\n# Review multiple PRs in parallel\nterminal(command=\"codex exec 'Review PR #86. git diff origin\u002Fmain...origin\u002Fpr\u002F86'\", workdir=\"~\u002Fproject\", background=true, pty=true)\nterminal(command=\"codex exec 'Review PR #87. git diff origin\u002Fmain...origin\u002Fpr\u002F87'\", workdir=\"~\u002Fproject\", background=true, pty=true)\n\n# Post results\nterminal(command=\"gh pr comment 86 --body '\u003Creview>'\", workdir=\"~\u002Fproject\")\n```\n\n## Rules\n\n1. **Always use `pty=true`** — Codex is an interactive terminal app and hangs without a PTY\n2. **Git repo required** — Codex won't run outside a git directory. Use `mktemp -d && git init` for scratch\n3. **Use `exec` for one-shots** — `codex exec \"prompt\"` runs and exits cleanly\n4. **`--full-auto` for building** — auto-approves changes within the sandbox\n5. **Background for long tasks** — use `background=true` and monitor with `process` tool\n6. **Don't interfere** — monitor with `poll`\u002F`log`, be patient with long-running tasks\n7. **Parallel is fine** — run multiple Codex processes at once for batch work\n",{"name":5,"author":24,"license":15,"version":25,"metadata":26,"platforms":37,"description":7},"Hermes Agent","1.0.0",{"hermes":27},{"tags":28,"related_skills":34},[29,30,31,32,33],"Coding-Agent","Codex","OpenAI","Code-Review","Refactoring",[35,36],"claude-code","hermes-agent",[38,39,40],"linux","macos","windows","main","c2b5af98407b1ad3ee4c27fc5bbb56ce09328af6","skills\u002Fcodex","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab","2026-11-04 05:17:57",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add osman-jalloh-lab\u002Fmyos --skill codex",{"tool":53,"command":54},"bunx","bunx skills add osman-jalloh-lab\u002Fmyos --skill codex",{"tool":56,"command":57},"pnpm","pnpm dlx skills add osman-jalloh-lab\u002Fmyos --skill codex","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Fcodex\u002FSKILL.md",true,[],[62,69,76,83,90,97],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M75CPVE5M6GXZ39PW5CPKCPK","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Fxurl\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M75CPQ57MF6AM46MXYSGKJ6W","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M75CPFNZFXN7FT6NTF21BX5M","touchdesigner-mcp","Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Ftouchdesigner-mcp\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M75CPCKM3C9SN622Z7K5DZX2","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":19},"01M75CP9C4EWMY810CY1SW231T","teams-meeting-pipeline","Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Fteams-meeting-pipeline\u002FSKILL.md",[],[],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":19},"01M75CP4K49H7QZQ0Z7HAXKQJR","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fosman-jalloh-lab\u002Fmyos\u002Fblob\u002Fmain\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[]]