Recent Posts
Recent Comments
반응형
«   2026/10   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

오늘도 공부

Codex에서 pstack 활용방법 본문

AI/추천 오픈소스

Codex에서 pstack 활용방법

행복한 수지아빠 2026. 10. 19. 15:21
반응형

Codex에서 pstack 개발 실습

아래 순서대로 진행하세요. 프롬프트는 Codex 채팅에 입력합니다.

1. Codex 재시작 → 스킬 확인

Codex를 완전히 종료한 뒤 다시 실행합니다. 입력창에서 다음 스킬을 선택하고 보냅니다.

$pstack-poteto-help
할 일 CLI를 만들면서 pstack을 실습하려고 해.
사용할 주요 스킬만 간단히 설명해줘. 아직 파일은 만들지 마.

2. 실습 폴더 준비

터미널에서 실행합니다. 같은 이름의 폴더가 있으면 다른 이름을 사용하세요.

cd /Users/Documents/ChatGPT/pstack-test
mkdir pstack-flow-lab
cd pstack-flow-lab
git init
python3 --version

Codex에서 pstack-flow-lab 폴더를 프로젝트로 열고 새 채팅을 시작합니다. Python 3.11 이상이 필요합니다.

3. 작업 범위 지정

이 채팅은 pstack 개발 실습이야.
현재 폴더 안에서 코드 작성, 테스트, 서브에이전트 작업을 진행해도 돼.
모델은 현재 채팅 모델을 상속해줘.
커밋은 내가 요청할 때만 하고, push·PR 생성·배포는 하지 마.
각 단계가 끝나면 실행한 검증과 결과를 짧게 알려줘.

4. 기본 프로그램 만들기

$pstack-poteto-mode
Python 표준 라이브러리만 사용하는 할 일 CLI를 만들어줘.

파일: todo.py, todo_store.py, tests/, README.md, .gitignore
명령:
python3 todo.py --db .lab/tasks.json add "우유 사기"
python3 todo.py --db .lab/tasks.json list
python3 todo.py --db .lab/tasks.json done 1

항목은 정수 id, title, done을 갖고 JSON 파일에 저장해줘.
DB가 없으면 빈 목록으로 시작하고 저장할 때 부모 폴더를 만들어줘.
빈 제목이나 없는 id는 오류로 처리해줘.
.lab/와 __pycache__/는 Git에서 제외해줘.

조사·설계·구현·검증까지 진행해줘.
테스트는 unittest와 임시 DB를 사용하고 실제 CLI 실행도 확인해줘.
아직 검색 기능은 만들지 마.

완료 후 터미널에서 확인합니다.

python3 -m unittest discover -s tests -v

테스트가 1개 이상 실행되고 통과하면 다음을 요청합니다.

이번 앱 파일만 확인해서 로컬 기준 커밋을 만들어줘.

5. 코드 구조 이해하기

$pstack-how
add, list, done 명령이 JSON 저장까지 이어지는 흐름을 설명해줘.
관련 파일과 함수, 테스트 범위를 짧게 정리해줘.
파일은 수정하지 마.

6. 검색 기능 추가하기

$pstack-poteto-mode
새 작업: list에 --search 옵션을 추가해줘.
예: python3 todo.py --db .lab/tasks.json list --search milk

완료 조건:
- 제목의 부분 문자열로 검색한다.
- 영문 대소문자를 구분하지 않는다.
- 한글 검색이 된다.
- 빈 검색어는 전체 목록을 반환한다.
- 옵션이 없으면 기존 출력이 유지된다.
- 검색은 DB를 변경하지 않는다.

설계 후 구현과 검증까지 진행해줘.
완료 조건별 테스트 결과를 보여줘. 아직 커밋하지 마.

7. 실제 동작 검증하기

$pstack-create-verification-skill
이 프로젝트의 검증 스킬을 .agents/skills/verify-todo-cli/에 만들어줘.
임시 DB로 add/list/done/search를 실제 실행하고,
종료 코드·출력·저장된 JSON을 확인하게 해줘.
검색 전후 DB가 바뀌지 않는지도 확인해줘.
만든 검증 절차를 지금 실행하고 결과를 알려줘.

검증이 통과하면 요청합니다.

검색 기능과 검증 파일을 확인해서 로컬 커밋해줘.

8. 버그 재현·수정하기

$pstack-poteto-mode
새 작업: 검색어 앞뒤 공백을 무시하도록 해줘.
"Buy Milk"를 추가하고 " milk "로 검색해 현재 동작을 재현해줘.
공백만 있는 검색어는 전체 목록을 반환해야 해.

실패하면 회귀 테스트를 먼저 추가해 실패를 확인한 뒤 수정해줘.
같은 CLI 입력과 전체 테스트를 다시 실행해줘.
이미 정상 동작하면 버그를 만들지 말고 그 결과를 알려줘.
아직 커밋하지 마.

9. 코드 리뷰하기

$pstack-interrogate
현재 커밋되지 않은 변경을 읽기 전용으로 리뷰해줘.
독립 리뷰어 2명이 오류, 기존 동작 회귀, 테스트 누락을 확인해줘.
같은 모델로 검토했다면 밝혀줘.
지적에는 파일 위치와 발생 조건을 적어줘. 아직 수정하지 마.

유효한 지적이 있으면 요청합니다.

$pstack-poteto-mode
리뷰 지적을 확인하고 유효한 항목만 수정해줘.
수정 후 전체 테스트와 실제 CLI 검증을 다시 실행해줘.

10. 최종 확인 → 커밋

현재 최종 코드에서 전체 테스트와 프로젝트 검증 절차를 실행해줘.
통과하면 이번 변경만 로컬 커밋해줘.
구현한 기능, 검증 결과, 남은 문제를 짧게 정리하고 git status를 확인해줘.
push·PR 생성·배포는 하지 마.

실습 완료 기준: 기능 동작 확인 → 버그 재현 또는 정상 동작 확인 → 리뷰 → 마지막 변경 이후 검증 통과 → 로컬 커밋.


전체 스킬 요약표 — 58개

채팅에서 $pstack-스킬명으로 호출합니다. 보통은 $pstack-poteto-mode로 시작하고, 특정 작업만 원할 때 아래 스킬을 직접 선택하세요. principle-*는 개발 판단에 쓰는 원칙이며, 모든 원칙을 순서대로 실행할 필요는 없습니다.

먼저 익힐 핵심 스킬

⭐는 개발 실습에서 먼저 익힐 스킬입니다. 나머지는 필요한 상황에 선택하면 됩니다.

스킬 쓰는 시점
$pstack-poteto-mode 개발 작업을 시작할 때. 필요한 절차를 연결하는 기본 진입점
$pstack-how 수정 전에 코드 구조와 동작을 이해할 때
$pstack-architect 데이터 구조와 함수·모듈 경계를 설계할 때
$pstack-create-verification-skill 실제 동작을 반복해서 확인할 검증 절차가 필요할 때
$pstack-tdd 버그를 실패 테스트로 재현한 뒤 수정할 때
$pstack-interrogate 구현 후 오류와 회귀를 독립적으로 리뷰할 때

매번 여섯 스킬을 직접 호출할 필요는 없습니다. 보통 $pstack-poteto-mode에 목표와 완료 조건을 전달하면 됩니다.

개발 원칙 중에서는 실제 동작 검증, 근본 원인 수정, 관찰 가능한 동작 테스트를 우선 확인하세요. 해당 원칙에도 ⭐를 표시했습니다.

시작·설정·진행 관리 — 9개

스킬 요약 설명 / 사용할 때
$pstack-poteto-help 사용법을 안내하고 현재 작업에 맞는 스킬을 추천합니다.
$pstack-setup-pstack Codex에서 사용할 모델 역할과 리뷰 패널 인원을 설정합니다.
⭐ $pstack-poteto-mode 작업에 맞는 조사·설계·구현·검증 절차를 선택해 진행합니다. 대부분의 개발 작업의 시작점입니다.
$pstack-in-your-own-words 구현 전에 사용자의 목표와 문제를 에이전트가 어떻게 이해했는지 확인합니다.
$pstack-sharpen 작업의 목적, 접근 방법, 요구사항의 구체성을 다듬습니다.
$pstack-figure-it-out 정해진 절차로 처리하기 어려운 큰 작업이나 마이그레이션의 실행 절차를 구성합니다.
$pstack-recall 접근 가능한 이전 대화와 현재 상태를 바탕으로 중단했던 작업의 맥락을 복원합니다.
$pstack-ketchup 현재 대화에서 진행된 변경과 사용자가 결정해야 할 사항을 짧게 정리합니다.
$pstack-show-me-your-work 긴 작업의 결정·이유·근거·결과를 TSV 기록으로 남깁니다.

조사·설계·병렬 작업 — 7개

스킬 요약 설명 / 사용할 때
⭐ $pstack-how 코드가 어떻게 동작하는지, 어느 모듈이 무엇을 담당하는지 조사합니다.
$pstack-why 코드·변경 이력·연결된 자료에서 설계 선택과 문제 발생의 배경을 조사합니다.
$pstack-teach 동작 방식과 설계 배경을 함께 조사해 이해하기 쉬운 설명으로 연결합니다.
⭐ $pstack-architect 구현 전에 데이터 타입, 함수 인터페이스, 모듈 구조와 설계 대안을 정합니다.
$pstack-arena 같은 과제를 여러 방식으로 시도하고, 좋은 결과를 선택하거나 결합합니다.
$pstack-swarm 여러 작업자에게 조사·검증·구현 범위를 나누고 결과를 취합합니다.
$pstack-blast-radius 작은 변경이 다른 코드에 미치는 영향을 추적하고 안전하다는 근거를 확인합니다.

테스트·검증·코드 품질 — 8개

스킬 요약 설명 / 사용할 때
⭐ $pstack-tdd 저렴하게 재현할 수 있는 버그나 명시적인 TDD 요청에서 실패 테스트를 먼저 만들고 수정합니다.
⭐ $pstack-create-verification-skill 실제 UI·CLI·서비스 흐름을 검증하는 프로젝트 전용 스킬을 만듭니다.
$pstack-maintain-verification-skill 기능이 바뀐 뒤 기존 검증 스킬과 기능 목록이 현재 동작을 제대로 반영하는지 점검합니다.
$pstack-create-formal-verification-skill 동시성·재시도·상태 머신 등의 핵심 성질을 명시한 범위에서 형식적으로 검증하는 절차를 만듭니다.
⭐ $pstack-interrogate 독립 리뷰어들이 변경을 검토해 오류·회귀·설계상의 빈틈을 찾습니다.
$pstack-benchmark-checklist 성능 측정의 반복 가능성, 병목, 오류와 실제 사용 상황에서의 의미를 검토합니다.
$pstack-no-comments 불필요한 주석을 검토하고, 주석에만 적힌 제약을 코드·타입·검사로 표현할 방법을 찾습니다.
$pstack-typescript-best-practices TypeScript 코드와 타입 설계를 검토하고 개선합니다.

문서·설명·작업 방식 개선 — 6개

스킬 요약 설명 / 사용할 때
$pstack-technical-writing README, 기술 문서, RFC, PR 설명 등을 목적과 독자에 맞게 작성합니다.
$pstack-unslop 글에서 상투적인 AI 표현과 불필요한 문장을 줄입니다.
$pstack-bro 직전 답변을 전문용어가 적은 쉬운 말로 다시 설명합니다.
$pstack-automate-me 사용자의 반복적인 작업 방식과 선호를 개인 작업 스킬로 정리합니다. 예약 실행 설정과는 다릅니다.
$pstack-reflect 완료한 작업을 돌아보고 얻은 교훈을 기존 스킬 개선으로 연결합니다.
$pstack-correct 반복되는 실수를 분석하고 구조·타입·린트·테스트 등으로 재발을 막습니다.

봇 UI·이슈 처리 — 4개

이 네 스킬은 외부 서비스와 실행 환경에 의존합니다. 현재 Codex 포트에 설치됐다는 사실이 연동 완료를 뜻하지는 않습니다. Cursor 전용 자동화 구성은 지원하지 않습니다.

스킬 요약 설명 / Codex에서의 범위
$pstack-make-bot-ui 웹훅으로 봇을 호출하는 버튼·대시보드를 만드는 절차입니다. 원본은 Grok Bot·Tailscale 연동을 전제로 하므로 연결 수단과 권한을 먼저 확인해야 합니다.
$pstack-setup-benny 이슈 분류와 재현·수정 흐름을 계획합니다. 이 포트에서는 Cursor 자동화를 설치하지 않고 로컬 작업 계획을 구성합니다.
$pstack-triage-issue-reports 이슈 보고의 근거, 원인, 담당 경로와 중복 여부를 정리합니다. 원본은 Benny 자동화용이며 Codex에서는 사용자가 요청한 로컬 분류 작업에 적용합니다. 외부 전송·티켓 생성은 별도 권한이 필요합니다.
$pstack-reproduce-and-fix-issues 분류된 버그를 재현하고 기존 수정 여부를 확인한 뒤 수정 전후를 검증합니다. Codex에서는 요청받은 로컬 재현·수정에 적용하며 자동화나 draft PR 생성이 자동 승인되는 것은 아닙니다.

개발 원칙 — 24개

스킬 요약 설명 / 적용할 상황
$pstack-principle-attack-the-premise 같은 전제로 여러 수정이 실패했다면 전제 자체를 직접 검증합니다.
$pstack-principle-boundary-discipline 외부 입력 경계에서 검증하고 내부 비즈니스 로직은 단순하게 유지합니다.
$pstack-principle-build-the-lever 반복하거나 검증해야 하는 작업을 스크립트·생성기·도구로 만들어 재실행 가능하게 합니다.
$pstack-principle-encode-lessons-in-structure 반복되는 주의사항을 문서만이 아니라 린트·메타데이터·실행 검사로 강제합니다.
$pstack-principle-exhaust-the-design-space 익숙한 선례가 없는 설계는 2~3개 대안을 만들어 비교합니다.
$pstack-principle-experience-first 구현 편의보다 사용자의 실제 경험과 기능의 완성도를 우선합니다.
$pstack-principle-explain-the-number 성능 수치를 보고하기 전에 무엇을 측정했고 무엇이 수치를 제한하는지 확인합니다.
⭐ $pstack-principle-fix-root-causes 증상을 가리는 방어 코드보다 문제가 처음 발생한 원인을 수정합니다.
$pstack-principle-foundational-thinking 로직을 쓰기 전에 핵심 데이터 구조·타입·공유 상태를 먼저 정합니다.
$pstack-principle-guard-the-context-window 큰 자료와 출력을 작업자에게 나누고 메인 대화에는 필요한 요약을 유지합니다.
$pstack-principle-laziness-protocol 불필요한 추상화를 추가하지 않고 문제를 해결하는 가장 작은 변경을 찾습니다.
$pstack-principle-make-operations-idempotent 재시도나 중단 후 재실행해도 의도한 동일 상태에 도달하게 설계합니다.
$pstack-principle-migrate-callers-then-delete-legacy-apis 새 API 도입 시 호출부를 이전하고 구 API를 제거해 임시 호환 계층을 줄입니다.
$pstack-principle-minimize-reader-load 코드 이해에 필요한 중간 계층과 숨은 상태를 줄입니다.
$pstack-principle-model-the-domain 복잡한 상태와 분기를 도메인 타입·상태 머신 등 명시적인 구조로 표현합니다.
$pstack-principle-never-block-on-the-human 이미 허용된 되돌릴 수 있는 작업은 불필요한 확인 질문 없이 진행합니다. 권한 범위를 넓히지는 않습니다.
$pstack-principle-outcome-oriented-execution 단계별 이전 작업에서 임시 호환 코드보다 최종 목표 구조에 집중합니다.
⭐ $pstack-principle-prove-it-works 완료 선언 전에 실제 기능·결과물·저장값을 확인합니다. 컴파일 성공만으로 대신하지 않습니다.
$pstack-principle-redesign-from-first-principles 새 요구사항이 처음부터 있었다면 어떤 구조였을지 검토해 기존 설계를 개선합니다.
$pstack-principle-separate-before-serializing-shared-state 동시 작업 충돌은 먼저 작업 대상과 상태를 분리하고, 필요한 경우에만 직렬화합니다.
$pstack-principle-sequence-verifiable-units 큰 변경을 각각 검증 가능한 작은 단계로 나누고 순서대로 확인합니다.
$pstack-principle-subtract-before-you-add 새 기능을 얹기 전에 죽은 코드와 중복 검사를 먼저 정리합니다.
⭐ $pstack-principle-test-behavior-not-implementation 내부 구현 방식보다 사용자가 관찰할 수 있는 동작을 테스트합니다.
$pstack-principle-type-system-discipline 잘못된 상태를 타입으로 막고 외부 데이터를 경계에서 해석·검증합니다.
반응형