agentleFS
xiaolaixiaolai/vmark/.claude/skills/ai-coding-agents/SKILL.md

ai-coding-agents

Skill851 starsChanged 29 days agoISCView on GitHub

Comprehensive guide for using Codex CLI (OpenAI) and Claude Code CLI (Anthropic) - AI-powered coding agents. Use when orchestrating CLI commands, automating tasks, configuring agents, or troubleshooting issues.

  • Reads credentials
  • Installs packages

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Review diffs: before applying (/diff, codex cloud diff)

    line 569
  2. Distinctive:

    Commit checkpoints: before major changes

    line 570

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

AI Coding Agents Skill

Expert knowledge for Codex CLI and Claude Code CLI — the two leading AI coding agents.

Note: This skill documents both tools for reference. VMark development primarily uses Claude Code CLI. The Codex CLI sections are retained for completeness and cross-tool workflows.

When to Use

  • Orchestrating complex coding tasks via CLI
  • Configuring MCP servers for either tool
  • Setting up automation pipelines (CI/CD)
  • Troubleshooting authentication or sandbox issues
  • Comparing capabilities between agents
  • Custom agent/subagent configuration

Quick Reference

Starting Sessions

TaskCodex CLIClaude Code CLI
Interactive sessioncodexclaude
With promptcodex "fix the bug"claude "fix the bug"
Non-interactivecodex exec "task"claude -p "task"
Resume lastcodex resume --lastclaude -c
Resume by IDcodex resume <id>claude -r <id>

Safety Modes

ModeCodex CLIClaude Code CLI
Read-only-s read-only--permission-mode plan
Workspace write-s workspace-write(default)
Full access-s danger-full-access--dangerously-skip-permissions
Auto mode--full-auto--permission-mode default
YOLO mode--yolo--dangerously-skip-permissions

Model Selection

TaskCodex CLIClaude Code CLI
Select model-m gpt-5-codex--model opus
Use local OSS--ossN/A
Fallback modelN/A--fallback-model sonnet

Codex CLI (OpenAI)

Installation

npm i -g @openai/codex
# or
brew install --cask codex

Authentication

codex login              # OAuth via ChatGPT
codex login --with-api-key   # Read API key from stdin
codex login status       # Check auth status
codex logout             # Remove credentials

Core Commands

codex - Interactive Mode

codex                           # Start TUI
codex "fix all TypeScript errors"  # With initial prompt
codex -i screenshot.png "explain"  # With image
codex --full-auto "refactor"    # Low-friction mode
codex --search "find docs"      # Enable web search

codex exec - Non-Interactive

codex exec "write tests"        # Run and exit
codex e "task"                  # Short alias
echo "task" | codex exec -      # From stdin
codex exec --json "task"        # JSONL output
codex exec -o result.txt "task" # Save to file
codex exec --output-schema schema.json "task"  # Validate output

codex resume - Continue Sessions

codex resume                    # Interactive picker
codex resume --last             # Most recent
codex resume --all              # Show all (any directory)
codex resume <session-id>       # Specific session
codex resume <id> "continue with this"  # With prompt

codex review - Code Review

codex review                    # Review current branch vs main
codex review --uncommitted      # Review uncommitted changes
codex review --base develop     # Against specific branch
codex review --commit abc123    # Review specific commit
codex review "focus on security"  # Custom instructions

codex apply - Apply Cloud Task

codex apply <task-id>           # Apply diff from cloud task

codex cloud - Cloud Tasks (Experimental)

codex cloud                     # Browse cloud tasks
codex cloud exec "task" --env <env-id>  # Submit task
codex cloud status <task-id>    # Check status
codex cloud diff <task-id>      # Show diff
codex cloud apply <task-id>     # Apply changes

codex mcp - MCP Server Management

codex mcp list                  # List servers
codex mcp list --json           # JSON output
codex mcp get <name>            # Server details
codex mcp add <name> -- npx my-server   # Add stdio server
codex mcp add <name> --url https://... # Add HTTP server
codex mcp add <name> --env API_KEY=xxx -- cmd  # With env vars
codex mcp remove <name>         # Remove server
codex mcp login <name> --scopes read,write  # OAuth for HTTP
codex mcp logout <name>         # Remove OAuth

codex sandbox - Run Sandboxed Commands

# macOS
codex sandbox macos -- npm test
codex sandbox seatbelt --full-auto -- ./script.sh

# Linux
codex sandbox linux -- npm test
codex sandbox landlock -- ./script.sh

codex completion - Shell Completions

codex completion bash >> ~/.bashrc
codex completion zsh >> ~/.zshrc
codex completion fish > ~/.config/fish/completions/codex.fish

Slash Commands (Interactive)

CommandPurpose
/modelSwitch model (gpt-5-codex, gpt-5, etc.)
/approvalsChange approval policy
/compactSummarize conversation, free context
/diffShow git diff
/reviewAnalyze working tree
/statusShow config and token usage
/mcpList available MCP tools
/mentionAttach files
/forkBranch conversation
/resumeReopen previous session
/newFresh conversation
/initCreate AGENTS.md scaffold
/feedbackSubmit logs/diagnostics
/quit, /exitExit CLI

Configuration (~/.codex/config.toml)

model = "gpt-5-codex"
approval_policy = "on-request"

[sandbox]
mode = "workspace-write"

[features]
web_search = true

[profiles.ci]
model = "gpt-4.1"
approval_policy = "never"

Global Flags

-m, --model <MODEL>          Model selection
-s, --sandbox <MODE>         read-only|workspace-write|danger-full-access
-a, --ask-for-approval <P>   untrusted|on-failure|on-request|never
-c, --config <KEY=VALUE>     Override config
-C, --cd <DIR>               Working directory
-i, --image <FILE>           Attach image(s)
-p, --profile <NAME>         Config profile
--full-auto                  Low-friction mode
--yolo                       Bypass all safety (DANGEROUS)
--search                     Enable web search
--add-dir <DIR>              Grant additional write access
--enable <FEATURE>           Enable feature flag
--disable <FEATURE>          Disable feature flag
--oss                        Use local OSS model

Claude Code CLI (Anthropic)

Installation

npm install -g @anthropic-ai/claude-code

Authentication

claude                      # First run prompts login
claude setup-token          # Set up long-lived token
# Requires Claude Pro/Max subscription OR API key

Core Commands

claude - Interactive Mode

claude                          # Start REPL
claude "explain this project"   # With prompt
claude -c                       # Continue last conversation
claude -r "session-name"        # Resume by name/ID
claude --model opus             # Select model
claude --chrome                 # Enable Chrome integration
claude --ide                    # Auto-connect to IDE

claude -p - Print Mode (Non-Interactive)

claude -p "explain this function"   # Query and exit
cat file | claude -p "explain"      # Process piped input
claude -p --output-format json "q"  # JSON output
claude -p --output-format stream-json "q"  # Streaming JSON
claude -p --max-turns 3 "task"      # Limit agent turns
claude -p --max-budget-usd 5 "task" # Spending limit
claude -p --json-schema '{...}' "q" # Validate output schema

claude mcp - MCP Server Management

claude mcp list                 # List servers
claude mcp get <name>           # Server details
claude mcp add <name> <cmd>     # Add stdio server
claude mcp add -t http <name> <url>  # Add HTTP server
claude mcp add -e KEY=val <name> -- cmd  # With env vars
claude mcp add -H "Auth: Bearer x" <name> <url>  # With headers
claude mcp add -s project <name> <cmd>  # Project scope
claude mcp remove <name>        # Remove server
claude mcp serve                # Run as MCP server
claude mcp add-from-claude-desktop   # Import from desktop app
claude mcp reset-project-choices     # Reset approvals

claude plugin - Plugin Management

claude plugin list              # List plugins
claude plugin install <name>    # Install plugin
claude plugin install <name>@marketplace  # From specific marketplace
claude plugin uninstall <name>  # Remove plugin
claude plugin enable <name>     # Enable disabled plugin
claude plugin disable <name>    # Disable plugin
claude plugin update <name>     # Update plugin
claude plugin validate <path>   # Validate manifest
claude plugin marketplace       # Manage marketplaces

claude update - Self-Update

claude update                   # Check and install updates

claude doctor - Diagnostics

claude doctor                   # Check health/issues

claude install - Native Build

claude install                  # Install native build
claude install stable           # Specific version
claude install latest           # Latest version

Slash Commands (Interactive)

CommandPurpose
/initGenerate CLAUDE.md
/clearReset context
/compactSummarize conversation
/bugReport issues
/doctorRun diagnostics
/modelSwitch model
/configView/edit settings
/permissionsManage permissions
/memoryView/edit memory
/project:<cmd>Project-specific commands
/user:<cmd>User-specific commands

Custom Commands

Create .claude/commands/fix-issue.md:

Fix GitHub issue #$ARGUMENTS

1. Read the issue details
2. Identify the problem
3. Implement the fix
4. Write tests
5. Create a commit

Usage: /project:fix-issue 1234

Configuration

User settings (~/.claude/settings.json):

{
  "model": "claude-sonnet-4-5-20250929",
  "verbose": false,
  "theme": "dark"
}

Project settings (.claude/settings.json):

{
  "allowedTools": ["Bash(git:*)", "Read", "Edit"],
  "disallowedTools": ["Bash(rm:*)"]
}

CLI Flags

Core

-p, --print                 Non-interactive mode
-c, --continue              Continue last conversation
-r, --resume <ID>           Resume specific session
-v, --version               Show version

Model & Config

--model <MODEL>             sonnet|opus|haiku or full name
--fallback-model <MODEL>    Fallback when overloaded
--settings <FILE>           Load settings JSON
--setting-sources <LIST>    user,project,local
--session-id <UUID>         Use specific session ID

System Prompt

--system-prompt <TEXT>      Replace default prompt
--append-system-prompt <T>  Append to default
--system-prompt-file <F>    Replace with file (print only)
--append-system-prompt-file Replace with file (print only)

Agent & Tools

--agent <NAME>              Specify agent
--agents <JSON>             Define custom subagents
--tools <LIST>              Restrict built-in tools
--allowedTools <LIST>       Auto-approve tools
--disallowedTools <LIST>    Remove tools from context

Permissions

--permission-mode <MODE>    acceptEdits|bypassPermissions|default|delegate|dontAsk|plan
--dangerously-skip-permissions  Skip all prompts (DANGEROUS)
--allow-dangerously-skip-permissions  Enable bypass option

Output

--output-format <FMT>       text|json|stream-json
--input-format <FMT>        text|stream-json
--include-partial-messages  Include streaming chunks
--verbose                   Verbose logging
--debug [FILTER]            Debug mode with filtering

Advanced

--max-turns <N>             Limit agent turns (print only)
--max-budget-usd <AMT>      Spending limit (print only)
--json-schema <SCHEMA>      Validate JSON output
--chrome / --no-chrome      Chrome integration
--ide                       IDE auto-connect
--fork-session              Create new session on resume
--no-session-persistence    Don't save session
--add-dir <DIRS>            Additional directories
--plugin-dir <DIRS>         Load plugins
--disable-slash-commands    Disable all skills
--mcp-config <FILES>        MCP server configs
--strict-mcp-config         Only use specified MCP
--betas <HEADERS>           Beta API headers

Custom Subagents

claude --agents '{
  "reviewer": {
    "description": "Code reviewer. Use after changes.",
    "prompt": "You are a senior code reviewer...",
    "tools": ["Read", "Grep", "Glob"],
    "model": "sonnet"
  }
}'

Common Patterns & Edge Cases

CI/CD Integration

Codex in GitHub Actions:

- name: Run Codex
  run: |
    echo "${{ secrets.OPENAI_API_KEY }}" | codex login --with-api-key
    codex exec --json -o result.txt "fix linting errors"

Claude in CI:

- name: Run Claude
  env:
    ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
  run: |
    claude -p --output-format json "review this PR" > review.json

Handling Rate Limits

Codex: Automatic backoff built-in.

Claude: Use --fallback-model:

claude -p --fallback-model haiku "quick task"

Working with Large Codebases

# Codex: Use /compact to free context
# In session: /compact

# Claude: Use /compact or start fresh
claude --no-session-persistence -p "analyze src/"

Multi-Directory Access

# Codex
codex --add-dir ../shared-lib --add-dir ../config

# Claude
claude --add-dir ../shared-lib ../config

Structured Output

Codex:

codex exec --output-schema schema.json "generate API spec"

Claude:

claude -p --json-schema '{"type":"object","properties":{"name":{"type":"string"}}}' "extract data"

Image Input

Codex:

codex -i screenshot.png "explain this UI"
codex -i img1.png -i img2.png "compare these"

Claude:

# Via file reference in prompt
claude "analyze the image at ./screenshot.png"

Session Forking

# Codex: /fork in session

# Claude
claude -r "session-id" --fork-session "try alternative approach"

MCP Server Debugging

Codex:

codex mcp list --json | jq .

Claude:

claude --debug "mcp" --mcp-config ./mcp.json

Troubleshooting

Authentication Issues

ProblemCodexClaude
Not logged incodex login statusclaude doctor
Token expiredcodex logout && codex loginclaude setup-token
API key issuesCheck OPENAI_API_KEYCheck ANTHROPIC_API_KEY

Sandbox Issues

ProblemSolution
Permission deniedUse --add-dir for specific directories
Can't run commandsCheck sandbox mode, use workspace-write
Network blockedSandbox may block network; use danger-full-access carefully

MCP Server Issues

ProblemSolution
Server not foundCheck mcp list, verify installation
Connection failedCheck server logs, verify URL/command
Auth requiredUse mcp login (Codex) or add headers (Claude)

Performance Issues

ProblemSolution
Slow responsesUse lighter model (gpt-4.1-mini / haiku)
Context overflowUse /compact to summarize
High costsSet --max-budget-usd (Claude)

Best Practices

  1. Start with read-only for exploration, escalate as needed
  2. Use sessions - resume work instead of starting fresh
  3. Create AGENTS.md/CLAUDE.md for project-specific instructions
  4. Leverage MCP servers for external integrations
  5. Use structured output in CI/CD for parsing
  6. Set spending limits with --max-budget-usd
  7. Review diffs before applying (/diff, codex cloud diff)
  8. Commit checkpoints before major changes

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.