Codex
Claude CodeCodex

코덱스 - 비개발자편

참고자료

Codex 자료 모음

Codex 공식 문서

Codex의 웹, IDE, CLI 작업 흐름과 최신 기능을 확인하는 공식 출발점입니다.

Codex Best Practices

프롬프트, 검증, AGENTS.md, MCP, skills를 포함한 공식 권장 흐름입니다.

AGENTS.md

루트 AGENTS.md처럼 프로젝트별 규칙을 Codex에 전달할 때 맞춰 볼 문서입니다.

Codex Changelog

Codex 앱, CLI, IDE 확장의 최신 변경사항을 확인합니다.

openai/codex GitHub

Codex CLI 설치, 릴리스, 오픈소스 변경사항을 직접 확인하는 공식 저장소입니다.

간단한 Git 알아보기 - 생활코딩

Claude Code와 Codex 작업 전후 저장 지점을 이해하기 위한 Git 입문 자료입니다.

새소식

아직 공개된 새소식이 없습니다.

강의0개 챕터

아직 등록된 강의 본문이 없습니다. Markdown 파일이 추가되면 자동으로 표시됩니다.

Commands11개 명령어
Commands 전체 적용하기Codex CLI에 진입한 뒤 아래 문구를 복사해 붙여넣으면 됩니다.
AGENTS.mdbrainstorming.mdproblem-solving.mdverify-before-done.mdexecuting-action-plans.mdparallel-tasks.mdreceiving-feedback.mdtask-planning.mdwriting-action-plans.mdextract-insights.mdhandoff.md
{파일경로}에 있는 AGENTS.md 파일로 현재 프로젝트 루트의 AGENTS.md를 교체해줘.
{파일경로}에 있는 brainstorming.md, problem-solving.md 등 나머지 .md 파일은 모두 ~/.codex/commands 폴더에 넣어줘. 폴더가 없으면 만들어줘. 같은 이름의 파일이 있으면 덮어쓰기 전에 먼저 물어봐줘.

AGENTS.md

★★★★★Codex가 프로젝트에서 따라야 할 기본 작업 규칙과 운영 기준

# AGENTS.md

## Think Before Coding

Don't assume. Don't hide confusion. Surface tradeoffs.

- State your assumptions explicitly.
- If uncertain, ask.
- If something is unclear, stop. Name what's confusing. Ask.
- For meaningful choices, explain the tradeoff before choosing.
- For minor choices, pick a reasonable default and continue.

## Simplicity First

Minimum code that solves the problem. Nothing speculative.

- No features beyond what was asked.
- No abstractions for single-use code.
- No speculative configuration.
- No compatibility layers unless explicitly requested.
- If the solution is much larger than the problem, simplify it.

## Surgical Changes

Touch only what you must. Clean up only your own mess.

- Every changed line should trace directly to the user's request.
- Don't refactor things that aren't broken.
- Don't reformat unrelated code.
- Don't rename unrelated symbols.
- Match existing style, even if you'd do it differently.
- Remove only dead code created by your ow

brainstorming

★★★★★아이디어를 구체적 계획으로 발전시킬 때. 프로젝트 기획, 전략 수립, 새로운 아이디어 탐색 전 사용

---
name: brainstorming
description: "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation."
---

# Brainstorming Ideas Into Designs

Help turn ideas into fully formed designs and specs through natural collaborative dialogue.

Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design and get user approval.

<HARD-GATE>
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity.
</HARD-GATE>

## Anti-Pattern: "This Is Too Simple To Need A Design"

Every project goes through this process. A todo list, a single-function utility, a config change — all of them. "S

problem-solving

★★★★★버그나 예상치 못한 동작을 원인부터 추적해야 할 때 사용

---
name: problem-solving
description: Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
---

# Systematic Problem Solving

## Overview

Random fixes waste time and create new bugs. Quick patches mask underlying issues.

**Core principle:** ALWAYS find root cause before attempting fixes. Symptom fixes are failure.

**Violating the letter of this process is violating the spirit of debugging.**

## The Iron Law

```
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
```

If you haven't completed Phase 0 and Phase 1, you cannot propose fixes.

## When to Use

Use for ANY technical issue:
- Test failures
- Bugs in production
- Unexpected behavior
- Performance problems
- Build failures
- Integration issues

**Use this ESPECIALLY when:**
- Under time pressure (emergencies make guessing tempting)
- "Just one quick fix" seems obvious
- You've already tried multiple fixes
- Previous fix didn't work
- You don't fully understand the issue

**Don't skip when

verify-before-done

★★★★★완료를 말하기 전 테스트, 타입체크, 빌드 등 검증 증거가 필요할 때 사용

---
name: verify-before-done
description: Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
---

# Verify Before Done

## Overview

Claiming work is complete without verification is dishonesty, not efficiency.

**Core principle:** Evidence before claims, always.

**Violating the letter of this rule is violating the spirit of this rule.**

## The Iron Law

```
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
```

If you haven't run the verification command in this message, you cannot claim it passes.

## The Gate Function

```
BEFORE claiming any status or expressing satisfaction:

1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
   - If NO: State actual status with

executing-action-plans

★★★★작성된 실행 계획을 검토하고 단계별로 구현할 때 사용

---
name: executing-action-plans
description: Use when you have a written implementation plan to execute in a separate session with review checkpoints
---

# Executing Action Plans

## Overview

Load plan, review critically, execute all tasks, report when complete.

**Announce at start:** "I'm using the executing-plans skill to implement this plan."

**Note:** Tell your human partner that Superpowers works much better with access to subagents. If subagents are available, use `subagent-driven-development` instead of this command. If they are unavailable, execute inline with checkpoints.

## The Process

### Step 1: Load and Review Plan
1. Read plan file
2. Review critically - identify any questions or concerns about the plan
3. If concerns: Raise them with your human partner before starting
4. If no concerns: Create todos for the plan items and proceed

### Step 2: Execute Tasks

For each task:
1. Mark as in_progress
2. Follow each step exactly (plan has bite-sized steps)
3. Run verific

parallel-tasks

★★★★서로 독립적인 여러 작업을 나누어 동시에 진행할 때 사용

---
name: parallel-tasks
description: Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
---

# Parallel Tasks

## Overview

You delegate tasks to specialized agents with isolated context. By precisely crafting their instructions and context, you ensure they stay focused and succeed at their task. They should never inherit your session's context or history — you construct exactly what they need. This also preserves your own context for coordination work.

When you have multiple unrelated failures (different test files, different subsystems, different bugs), investigating them sequentially wastes time. Each investigation is independent and can happen in parallel.

**Core principle:** Dispatch one agent per independent problem domain. Let them work concurrently.

## When to Use

```dot
digraph when_to_use {
    "Multiple failures?" [shape=diamond];
    "Are they independent?" [shape=diamond];
    "Single agent investigates all" [sha

receiving-feedback

★★★★코드 리뷰나 피드백을 받았을 때 성급히 반영하지 않고 검토할 때 사용

---
name: receiving-feedback
description: Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
---

# Receiving Feedback

## Overview

Code review requires technical evaluation, not emotional performance.

**Core principle:** Verify before implementing. Ask before assuming. Technical correctness over social comfort.

## The Response Pattern

```
WHEN receiving code review feedback:

1. READ: Complete feedback without reacting
2. UNDERSTAND: Restate requirement in own words (or ask)
3. VERIFY: Check against codebase reality
4. EVALUATE: Technically sound for THIS codebase?
5. RESPOND: Technical acknowledgment or reasoned pushback
6. IMPLEMENT: One item at a time, test each
```

## Forbidden Responses

**NEVER:**
- "You're absolutely right!" (explicit instruction-file violation)
- "Great point!" / "Excellent 

task-planning

★★★★요구사항이 넓거나 실행 전 계획이 필요할 때. 목표, 범위, 리스크를 먼저 정리

---
name: task-planning
description: Use when work has multiple steps, unclear requirements, meaningful risk, or several possible approaches and execution should wait for explicit confirmation.
---

# Task Planning

Plan before acting. Restate the goal, define success, surface tradeoffs, identify risks, and wait for explicit approval before executing.

## When to Use

- Starting a new project or initiative
- Work that involves multiple steps or people
- Requirements are unclear or ambiguous
- Multiple approaches are possible
- High stakes (presentation, launch, campaign, report)
- You need a lightweight plan, not a full implementation spec

## The Process

1. **Restate Requirements** - Clarify what needs to be accomplished in your own words.
2. **State Assumptions** - Name defaults you are choosing and uncertainties that remain.
3. **Define Success Criteria** - What proves this is done? Include verification method.
4. **Compare Approaches** - For meaningful choices, present 2-3 options

writing-action-plans

★★★★확정된 요구사항을 실행 가능한 작업 계획으로 쪼갤 때 사용

---
name: writing-action-plans
description: Use when you have a spec or requirements for a multi-step task, before touching code
---

# Writing Action Plans

## Overview

Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.

Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.

**Announce at start:** "I'm using the writing-plans skill to create the implementation plan."

**Context:** If working in an isolated worktree, it should have been created via the `superpowers:using-git-worktrees` skill at execution time.

**Save plans to:** `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`
- (User preferences for pl

extract-insights

★★★반복해서 쓸 만한 작업 패턴이나 교훈을 세션 끝에 정리할 때 사용

---
name: extract-insights
description: Use after a non-trivial session reveals a reusable workflow, failure pattern, decision rule, or tool combination worth preserving for future work.
---

# Extract Insights

Capture reusable lessons from a session so future work starts with evidence instead of rediscovery.

## When to Use

Run this near the end of a session when:

- A problem took multiple attempts to solve.
- A non-obvious workflow or tool combination worked.
- A failure pattern should be avoided next time.
- A decision framework emerged from tradeoffs.
- The insight applies across projects, not only to one incident.

Do not extract trivial steps, one-off outage details, or facts already documented in project instructions.

## Insight Selection

Pick one insight per note. A good insight has:

- **Trigger:** when a future agent should remember it.
- **Pattern:** what to do or avoid.
- **Evidence:** what happened that proves the pattern matters.
- **Boundary:** when not to apply it.

handoff

★★★세션을 이어가야 하거나 다른 작업자에게 맥락을 넘겨야 할 때 사용

---
name: handoff
description: Use when context is getting full, a session needs to continue elsewhere, or plan execution must be resumed later without losing state.
---

# Handoff - Session Transfer

Create a compact, actionable transfer note so a new session can continue without rediscovering decisions, files, blockers, or plan progress.

## When to Use

- Context is getting heavy or compaction is likely.
- You need to stop but want the next session to continue.
- Work is mid-plan and task status matters.
- A different person or agent will pick up the work.

## The Rule

The next session needs operational state, not a diary. Capture what changed, what is true now, what remains, and the exact first next action.

## What to Capture

1. **Objective** - the user's end goal, not just the last task.
2. **Working directory** - absolute path and target repo/project.
3. **Active plan** - path to the plan/spec if one exists, plus completed and remaining tasks.
4. **Git state** - branch, latest