Codex CLI
kortix-ai/suna
Drive OpenAI's Codex CLI (codex exec) as a non-interactive coding sub-agent from inside Claude Code.
Launch a new bb worker thread with the right project, model, worktree, and task brief.
$ npx skills add davidondrej/skills --skill nagent -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install davidondrej/skills nagent --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agent-orchestration/nagent .claude/skills/nagent && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "nagent" agent skill from https://github.com/davidondrej/skills/tree/main/skills/agent-orchestration/nagent into .claude/skills/nagent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nagent", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/davidondrej/skills/tree/main/skills/agent-orchestration/nagentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add davidondrej/skills --skill nagent -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install davidondrej/skills nagent --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/agent-orchestration/nagent .agents/skills/nagent && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nagent" agent skill from https://github.com/davidondrej/skills/tree/main/skills/agent-orchestration/nagent into .agents/skills/nagent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nagent", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davidondrej/skills --skill nagent -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install davidondrej/skills nagent --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/agent-orchestration/nagent .cursor/skills/nagent && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nagent" agent skill from https://github.com/davidondrej/skills/tree/main/skills/agent-orchestration/nagent into .cursor/skills/nagent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nagent", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/davidondrej/skills.git --path skills/agent-orchestration/nagent--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add davidondrej/skills --skill nagent -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install davidondrej/skills nagent --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/agent-orchestration/nagent .gemini/skills/nagent && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nagent" agent skill from https://github.com/davidondrej/skills/tree/main/skills/agent-orchestration/nagent into .gemini/skills/nagent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nagent", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install davidondrej/skills nagentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add davidondrej/skills --skill nagent -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/agent-orchestration/nagent .github/skills/nagent && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nagent" agent skill from https://github.com/davidondrej/skills/tree/main/skills/agent-orchestration/nagent into .github/skills/nagent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nagent", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davidondrej/skills --skill nagent -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install davidondrej/skills nagent --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/agent-orchestration/nagent .opencode/skills/nagent && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nagent" agent skill from https://github.com/davidondrej/skills/tree/main/skills/agent-orchestration/nagent into .opencode/skills/nagent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nagent", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nagentLaunch a new bb worker thread with the right project, model, worktree, and task brief.
Nagent is an agent skill from davidondrej/skills. Launch a new bb worker thread with the right project, model, worktree, and task brief. Use for nagent, launching a bb session, or a standalone bb agent. Covers thread creation; use bb-cli for managing existing threads.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/providers.md` and `scripts/permission-mode.sh`).
It sits in Agent Workflows, covering Git worktrees. It works with OpenAI. The repository describes itself as: access to david ondrej's personal agent skills. The licence is MIT.
Read from SKILL.md and the folder at commit ba8e24c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Nagent loads about 1.7k tokens when it runs, and up to ~2.1k if it reads all its reference files. Until then it costs about 56 tokens; SKILL.md has 812 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
nclude required untracked files such as `.env` through the repo's `.worktreeinclude`; setup may also use `.bb-env-setup.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from davidondrej/skills at commit ba8e24c, republished under its MIT licence (© davidondrej). 812 words, ~1,672 tokens.
.claude/skills/nagent/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Read this before bb thread spawn. Use bb-cli for other thread operations.
Use Codex gpt-5.6-sol, reasoning high, service tier fast ("GPT 5.6 Sol High Fast"). Use xhigh for larger refactors. The user's explicit choices override these defaults.
For a different requested model, use its catalog defaultReasoningEffort when unspecified, and enable fast only when asked. Do not infer a higher reasoning level from the model name.
Prefer bare bb; "$BB_CLI" is also valid when set.
bb project list --json
bb provider list --json
bb provider models <provider-id> --jsonsources[].path is the requested repository. Always pass --project; never hardcode an ID.acp-cursor, Codex/ChatGPT subscription → codex, and Claude Code → claude-code. Grok via Cursor is not acp-grok, which is Grok Build.displayName and supportedReasoningEfforts[].description; model IDs, reasoning labels, and service tiers are separate.For Cursor/Grok or Codex Max naming traps, read provider details. Verify examples against the current catalog; do not guess IDs or substitute a different provider.
--provider pi selects the harness; the full --model provider/model selects the inference and billing route. ChatGPT subscription example:
--provider pi --model openai-codex/gpt-6-astra --reasoning-level xhighQuery Pi's catalog on the target --machine or --environment. openai-codex uses the ChatGPT subscription; OpenRouter and Vercel AI Gateway bill separately. Never substitute routes without the user's approval; stop if unavailable. After spawning, verify the full model ID and reasoning in the client/turn/requested execution metadata, not just the display name.
The user's investigation/build workers default to full. A child cannot exceed the parent's permission mode, so verify the parent before requesting it and the child after spawning.
Run the bundled script relative to this skill's directory:
scripts/permission-mode.sh "$BB_THREAD_ID"For a full worker, this must print full. Otherwise, stop and report that the requested mode is unavailable under the parent's limits. Do not bypass those limits. If the user requests another mode, confirm the provider supports it.
The modes are accept-edits (sandbox, human-reviewed escalations), auto (sandbox, automatic review), and full (no sandbox). A read-only brief must forbid writes regardless of mode. For Cursor permission issues, use the provider-details reference.
Use the resolved IDs and chosen settings. This example shows the default worker's reasoning, tier, and permissions; replace them when the user requests different settings.
bb thread spawn --json \
--project <project-id> \
--new-environment worktree \
--provider <provider-id> \
--model <model-id> \
--reasoning-level high \
--service-tier fast \
--permission-mode full \
--title "Short title" \
--prompt "$(cat <<'EOF'
Objective: ...
Constraints: ...
Skills and files: ...
Deliverable: ...
Validation: ...
Report back: ...
EOF
)"Always include --json, --title, and a complete prompt. The quoted heredoc preserves quotes in the brief.
--parent-self when this thread coordinates the worker or the job is its subtask.--parent-thread <id> to nest under another thread. Never combine the two parent flags.Do not nest unrelated one-off work by default.
Use --new-environment worktree for a bb-managed worktree. Do not create one manually unless the user asks.
.env through the repo's .worktreeinclude; setup may also use .bb-env-setup.sh. See bb guide environments.--base-branch for the project default; specify it only when needed.--machine with an existing --environment ID.environmentId in the spawn response can mean the worktree is still being created.Preserve the user's scope
The worker does not see this conversation. State the objective, constraints, relevant skills/files, deliverable, validation, and expected report. Name the skills it must read rather than assuming your context carries over.
For read-only jobs, explicitly say no code changes, no Git writes, no database writes. For implementation, specify the allowed scope and any Git or production restrictions. Ask for a concise report, including changed files and validation when relevant.
scripts/permission-mode.sh <child-thread-id>Confirm the child received the requested mode. If it differs or is unknown, report the mismatch rather than claiming a successful setup.
Report the thread ID, title, project, provider/model/reasoning/tier, worktree yes/no, and read-only versus implementation scope. Then stop. Do not dump the prompt, open/focus the thread, poll, wait, or read work logs unless the user asks.
If bb reports a blocker, inspect it with bb thread interactions list <id> --json. Resolve routine input within the brief, and approve an action with bb thread interactions approve <interactionId> <id> only when it is authorized and safe. Ask the user about destructive actions, production access, unclear decisions, or work outside the brief. Do not monitor just to look for blockers.
Use bb-cli for lifecycle commands. Archive only when the user asks, then stop the thread to release its runtime. Never delete without an explicit request, and do not use hiding as a substitute for archiving.
© davidondrej, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts, references) in skills/agent-orchestration/nagent of davidondrej/skills.
Open the folder on GitHubat commit ba8e24c
Nagent next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nagent this skilldavidondrej/skills | 4.1k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Codex CLIkortix-ai/suna | 20k | — | ~1.6k | Automated safety check: Pass | Custom licence | |
| DevSpace Manual QA SetupWaishnav/devspace | 5.2k | — | ~440 | Automated safety check: Pass | MIT | |
| Release Candidate Prepopenai/openai-agents-python | 30k | — | ~4.9k | Automated safety check: Pass | MIT | |
| Live Extension UI Automationqixing-jk/all-api-hub | 4.9k | — | ~2.6k | Automated safety check: Pass | AGPL-3.0 | |
| Implementation Kickoffopenai/openai-agents-python | 30k | — | ~2.9k | Automated safety check: Pass | MIT |
kortix-ai/suna
Drive OpenAI's Codex CLI (codex exec) as a non-interactive coding sub-agent from inside Claude Code.
Waishnav/devspace
Prepares the current DevSpace checkout or worktree for isolated local manual QA, covering QA state seeding, UI asset builds and snapshot resets.
openai/openai-agents-python
Prepare a local Python SDK release candidate in a dedicated worktree.
qixing-jk/all-api-hub
Control, debug, and test the live dev browser extension UI (Options, Popup, Sidepanel) via CDP with persistent login states and accounts.
openai/openai-agents-python
Carry implementation through an isolated worktree and local handoff.
SawyerHood/omegacode
Author and run multi-agent workflows with the omegacode CLI — JavaScript files that orchestrate Codex (gpt-5.x) and Claude Code agents deterministically via agent()/parallel()/pipeline()/phase().
davidondrej/skills
Direct browser control via CDP. An agent skill from davidondrej/skills.
davidondrej/skills
Manage persistent dev servers, APIs, and other local processes on a port using macOS LaunchAgents.
davidondrej/skills
Reset a stuck Cursor ACP thread in <chat-system and reload its configuration.
davidondrej/skills
Keep a Mac awake for a set duration or while a process runs.
davidondrej/skills
Use this when controlling bb. An agent skill from davidondrej/skills.
davidondrej/skills
Manage Boat (boat.dev, formerly Box by Ascii) cloud sandboxes via API, CLI, and SSH.
Works with
Categories
Launch a new bb worker thread with the right project, model, worktree, and task brief. Nagent is an agent skill from davidondrej/skills. Launch a new bb worker thread with the right project, model, worktree, and task brief.
Nagent fits situations like: launching a bb session; A standalone bb agent.
Run `npx skills add davidondrej/skills --skill nagent -a claude-code`. Or copy the skill folder (skills/agent-orchestration/nagent in davidondrej/skills) into .claude/skills/nagent in your project. Claude Code loads it when a task matches its description.
Run `npx skills add davidondrej/skills --skill nagent -a codex`. Or copy the skill folder (skills/agent-orchestration/nagent in davidondrej/skills) into .agents/skills/nagent in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davidondrej/skills --skill nagent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nagent, .gemini/skills/nagent, .github/skills/nagent and .opencode/skills/nagent in your project.
Going by SKILL.md and its folder, Nagent needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Nagent is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 382 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Nagent: Codex CLI (kortix-ai/suna, 20k stars), DevSpace Manual QA Setup (Waishnav/devspace, 5.2k stars), Release Candidate Prep (openai/openai-agents-python, 30k stars) and Live Extension UI Automation (qixing-jk/all-api-hub, 4.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
davidondrej (a GitHub user) maintains it in davidondrej/skills, which has 4,107 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on October 7, 2026.
Source: davidondrej/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.