Agent skill
configuring-codex
Configure Codex CLI settings and troubleshoot AGENTS.md/.agents/skills symlink projection. Trigger: 'Codex 설정', 'codex 스킬 인식', 'AGENTS.md 심링크', '.agents/skills 심링크', 'verify-ai-compat', 'codex 권한', 'codex 업데이트', 'AI 도구 호환', 'codex 바이너리', 'approval_policy', 'sandbox_mode', 'Codex 권한 프롬프트'. NOT for harness 동기화 (use syncing-codex-harness). NOT for codex exec 실행 (use using-codex-exec).
Install this agent skill to your Project
npx add-skill https://github.com/greenheadHQ/nixos-config/tree/main/.claude/skills/configuring-codex
SKILL.md
Codex CLI 설정
Codex CLI 호환 레이어와 프로젝트 스킬 발견 문제를 다룹니다.
목적과 범위
~/.codex/config.toml실행 정책(approval_policy,sandbox_mode) 및 모델 설정AGENTS.md/.agents/skills투영 구조.agents/skills/*디렉토리 심링크 검증nrs(또는 동등 activation) 이후 결과 검증- Claude Code와 Codex CLI 동작 차이 정리
빠른 진단 체크리스트
.agents/skills/*이 디렉토리 심링크인지 확인 (ls -la .agents/skills/)- 프로젝트 루트
AGENTS.md -> CLAUDE.md심링크 확인 (git-tracked) ./scripts/ai/verify-ai-compat.sh실행codex exec로 런타임에서 스킬 이름이 보이는지 확인- 권한 프롬프트 이슈는
approval_policy,sandbox_mode설정으로 분리 진단
핵심 파일
modules/shared/programs/codex/default.nix— 설정 및 스킬 투영modules/shared/programs/codex/files/config.toml— 실행 정책/모델 설정 (NixOS)modules/shared/programs/codex/files/config.darwin.toml— macOS 전용 설정 (user-scope MCP 포함)scripts/ai/verify-ai-compat.sh— 구조 검증modules/shared/programs/claude/files/CLAUDE.md— 글로벌 라우팅/지침.claude/skills/*(원본).agents/skills/*(Codex 발견용 투영)
설치/업데이트 경로
Codex CLI 바이너리 설치/업데이트는 modules/shared/programs/codex/default.nix의
home.activation.installCodexCli에서 관리한다. 운영 절차는 nrs 적용 후
codex --version과 ./scripts/ai/verify-ai-compat.sh로 검증한다.
진단 우선순위 (중요)
Skills 누락 이슈의 1차 원인은 trust보다 투영 방식이다.
Codex CLI는 디렉토리 심링크를 따라가지만 파일 심링크는 무시한다 (PR #8801).
.agents/skills/<name>은 반드시 디렉토리 심링크여야 하며, SKILL.md 파일 자체를 심링크하면 안 된다.
실행 정책 / Trust 메모
codex-cli 0.114.0 기준으로 codex trust 독립 서브커맨드는 확인되지 않았다.
권한 프롬프트 동작은 전역 실행 정책으로 제어한다.
approval_policy = "never"
sandbox_mode = "danger-full-access"
trust_level 프로젝트 엔트리는 경로별 세부 제어가 필요할 때만 추가한다.
트러블슈팅 / FAQ
- 스킬이 안 보임:
.agents/skills/*가 파일 심링크인지 확인하고 디렉토리 심링크로 교정한다. - 권한 프롬프트 반복:
~/.codex/config.toml의approval_policy,sandbox_mode를 확인한다. - AGENTS 불일치: 프로젝트 루트
AGENTS.md -> CLAUDE.md심링크를 복구한다. - 활성화 누락:
nrs실행 후./scripts/ai/verify-ai-compat.sh로 재검증한다.
투영 아키텍처
.claude/skills/<name>/ # 단일 원본 (SKILL.md, references/ 등)
-> directory symlink
.agents/skills/<name>/ # ../../.claude/skills/<name> 심링크
Codex CLI는 디렉토리 심링크를 follow_links(true)로 순회한다 (PR #8801).
파일 심링크는 무시되므로 반드시 디렉토리 단위로 심링크해야 한다.
활성화
원칙은 nrs 실행이다.
환경 제약으로 nrs를 실행하지 못하면, Codex 모듈 activation과 동등한 절차로 재생성해도 된다.
검증 명령
# 구조 검증
./scripts/ai/verify-ai-compat.sh
# 디렉토리 심링크 검증 (모두 심링크여야 함)
for d in .agents/skills/*; do
[ -L "$d" ] && echo "OK: $(basename $d) -> $(readlink $d)" || echo "FAIL: $(basename $d)"
done
# 런타임 인식 검증
codex -a never exec "Answer YES or NO only: Is a skill named 'configuring-codex' available in this workspace?"
관련 스킬
syncing-codex-harness: 다른 프로젝트에서 Codex 하네스 동기화 시 사용
레퍼런스
- 상세 장애 기록 및 회귀 체크:
references/runbook-codex-compat.md
문서와 CLI 동작이 다를 때는 CLAUDE.md의 "스킬 문서 불일치 시 행동 원칙"을 따른다.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
managing-mise
Manage mise runtime: Node.js, pnpm, shims. Trigger: 'mise 설정', 'pnpm not found', '.nvmrc', 'mise shims', 'mise activate', '런타임 버전 불일치'.
configuring-git
Configure Git via Home Manager: delta, lazygit, rerere. Trigger: 'git 설정 충돌', 'delta 설정', 'lazygit', 'rerere', 'git-cleanup', 'git 브랜치 정리'.
managing-tmux
Configure tmux: plugins (resurrect, thumbs, yank), Pane Notepad. Trigger: 'tmux 설정', 'tmux 플러그인', 'pane notepad', 'tmux-resurrect', 'tmux 단축키', 'tmux 세션 복원'. NOT for SSH (use managing-ssh). NOT for Atuin (use syncing-atuin).
configuring-neovim
Configure Neovim (LazyVim) via Nix: plugins, LSP, formatters, linters, themes, treesitter, im-select. Default editor skill — generic '에디터', '편집기', '코드 편집기' queries route here unless the request is explicitly about Zed or another editor-specific path. Trigger: 'neovim', 'LSP', 'lazy.nvim', 'treesitter', '한영 전환', 'im-select', '에디터', '코드 편집기', '편집기 설정', 'colorscheme', 'catppuccin', 'formatter', 'linter', 'extraPackages', '자동완성', 'syntax highlighting', 'language server', '코드 편집'. NOT for Zed/확장 (→ modules/darwin/programs/zed/). NOT for VSCode (제거됨, #329).
managing-secrets
Manage encrypted secrets with agenix: .age files, re-encryption, decryption failures. Trigger: '시크릿', '암호화', '복호화', 'agenix', 'secrets.nix', 'age key', '.age', '토큰 추가', 're-encrypt', '/run/agenix'. NOT for Vaultwarden 비밀번호 관리자 (use hosting-vaultwarden).
managing-ssh
Configure SSH, Tailscale VPN, mosh, sudo auth. Trigger: 'SSH 인증 실패', 'Tailscale', 'ssh-agent 문제', 'MagicDNS', 'mosh', 'authorized_keys 설정'. NOT for tmux (use managing-tmux). NOT for Atuin (use syncing-atuin).
Didn't find tool you were looking for?