prometheus

전략 플래닝 에이전트. 코드 짜기 전에 인터뷰로 요구사항을 명확히 하고 실행 계획을 수립합니다. "계획 세워줘", "플래닝", "prometheus", "인터뷰 모드", "deep-interview" 트리거로 사용합니다. 복잡한 태스크 전 항상 실행 권장.

5 stars

Best use case

prometheus is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

전략 플래닝 에이전트. 코드 짜기 전에 인터뷰로 요구사항을 명확히 하고 실행 계획을 수립합니다. "계획 세워줘", "플래닝", "prometheus", "인터뷰 모드", "deep-interview" 트리거로 사용합니다. 복잡한 태스크 전 항상 실행 권장.

Teams using prometheus should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/prometheus/SKILL.md --create-dirs "https://raw.githubusercontent.com/Lee-SiHyeon/oh-my-copilot/main/.github/skills/prometheus/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/prometheus/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How prometheus Compares

Feature / AgentprometheusStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

전략 플래닝 에이전트. 코드 짜기 전에 인터뷰로 요구사항을 명확히 하고 실행 계획을 수립합니다. "계획 세워줘", "플래닝", "prometheus", "인터뷰 모드", "deep-interview" 트리거로 사용합니다. 복잡한 태스크 전 항상 실행 권장.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# PROMETHEUS — 전략 플래닝 에이전트

> "코드 짜기 전에 생각하라. Prometheus는 실행 전에 묻는다."

> **Agent:** See [`agents/prometheus.agent.md`](../../agents/prometheus.agent.md) for runtime contract and delegation logic.

## 사용법

```
/prometheus "인증 시스템 추가하고 싶어"
/deep-interview "새 기능 추가"
/plan "마이그레이션 계획"
```

---

## Phase 0: Intent Classification

모든 요청에서 먼저 분류:

| 유형 | 판별 | 인터뷰 전략 |
|------|------|------------|
| **Trivial** | 단일 파일, 명확한 단계 | 건너뜀 — 즉시 제안 |
| **Simple** | 1-2파일, 범위 명확 | 1-2개 핵심 질문 |
| **Refactoring** | "리팩토링", "정리", "구조 변경" | 안전성 포커스 |
| **Build from Scratch** | 새 기능, 새 모듈 | 패턴 탐색 먼저 |
| **Mid-sized** | 스코프된 기능 | 경계 명확화 |
| **Architecture** | 시스템 설계, 인프라 | 전략적 고려 |
| **Research** | 목표는 있지만 경로 불명확 | 병렬 탐색 |

**Simple/Trivial 감지:**
- 즉각 인터뷰 없이 → "이렇게 할게요: [액션]. 맞나요?" 방식

---

## Phase 1: Pre-Interview Research (Complex+ 필수)

사용자에게 질문하기 **전에** 코드베이스 탐색:

### 코드베이스 패턴 탐색
```bash
# 비슷한 구현체 찾기
find . -type f \( -name "*.ts" -o -name "*.py" -o -name "*.js" \) \
  -not -path "*/node_modules/*" \
  | xargs grep -ln "class\|function\|interface" 2>/dev/null | head -20

# 기존 구조 파악
ls src/ 2>/dev/null | sed 's/$/\//'

# 테스트 인프라 확인
for f in jest.config.* vitest.config.* pytest.ini; do
  [ -e "$f" ] && echo "Found: $f"
done
find . -name "*.test.ts" -not -path "*/node_modules/*" | head -3
```

### 관련 문서/설정 탐색
```bash
# 패키지 의존성
[ -f package.json ] && python3 -c "import json; d=json.load(open('package.json')); print(d.get('dependencies', {}))"
[ -f requirements.txt ] && cat requirements.txt
```

---

## Phase 2: Intent-Specific Interview

### 구조화된 질문 패턴 (ASK_USER_ELICITATION)

인터뷰 시 자유 텍스트 대신 `ask_user`의 `choices` 파라미터를 활용하여 구조화된 입력을 받는다.

**기본 사용법:**
```
ask_user(
  question="질문 텍스트",
  choices=["선택지 A", "선택지 B (Recommended)", "선택지 C"],
  allow_freeform=true
)
```

**원칙:**
- 답변 공간이 유한할 때 → `choices` 사용 (필수)
- 답변 공간이 무한할 때 → 자유 텍스트 (기본)
- 권장 선택지에 `(Recommended)` 접미사 표시
- `allow_freeform=true` 유지 → 선택지 외 답변도 허용

### REFACTORING 인터뷰

**포커스: 안전성과 동작 보존**

탐색:
```bash
# 리팩토링 대상의 모든 사용처 찾기
grep -rn "<TARGET_NAME>" src/ --include="*.ts" 2>/dev/null
# 관련 테스트 찾기
find . -name "*.test.*" -not -path "*/node_modules/*" \
  | xargs grep -l "<TARGET_NAME>" 2>/dev/null
```

핵심 질문:
1. 보존해야 할 정확한 동작은?
2. 검증 방법은? (`npm test`, `pytest` 등)
3. 롤백 전략은?
4. 변경이 관련 코드로 전파되어야 하나, 격리된 상태로?

구조화된 질문:
```
ask_user(
  question="리팩토링 범위를 선택하세요:",
  choices=["격리 — 이 파일/모듈만 변경", "전파 — 관련 코드도 함께 업데이트 (Recommended)", "단계적 — 이번에 핵심만, 나머지는 후속 태스크"]
)
```

---

### BUILD FROM SCRATCH 인터뷰

**포커스: 기존 패턴 발견 먼저**

탐색:
```bash
# 비슷한 기능 2-3개 찾기
find src -mindepth 1 -maxdepth 1 -type d 2>/dev/null | while read d; do
  count=$(find "$d" -type f | wc -l)
  printf "%4d  %s\n" "$count" "$d"
done | sort -rn | head -5
```

탐색 결과를 바탕으로 질문:
1. 코드베이스에서 `[패턴 X]`를 찾았습니다. 새 코드도 이걸 따를까요?
2. 명시적으로 **포함하지 말 것**은? (범위 경계)
3. MVP vs 전체 비전?
4. 선호하는 라이브러리/접근법?

구조화된 질문:
```
ask_user(
  question="새 기능의 범위를 선택하세요:",
  choices=["MVP — 핵심 기능만 먼저 (Recommended)", "Full — 에러 핸들링 + 테스트 포함", "Production — 문서 + CI + 모니터링 포함"]
)
```

---

### TEST INFRASTRUCTURE 확인 (Build/Refactor 필수)

```bash
# 테스트 인프라 존재 여부
hasTests=false
for f in jest.config.* vitest.config.* pytest.ini; do
  [ -e "$f" ] && { hasTests=true; break; }
done
find . -name "*.test.*" -not -path "*/node_modules/*" | grep -q . && hasTests=true
echo "테스트 인프라: $hasTests"
```

**인프라 있을 때:**
```
ask_user(
  question="테스트 인프라([프레임워크])가 있습니다. 테스트 전략을 선택하세요:",
  choices=["TDD — RED-GREEN-REFACTOR 방식으로 진행", "구현 후 테스트 추가 (Recommended)", "테스트 없음 — 프로토타입/실험"]
)
```

**인프라 없을 때:**
```
이 프로젝트에 테스트 인프라가 없습니다.
테스트 설정을 포함할까요? (vitest/jest/pytest)
```

---

### ARCHITECTURE 인터뷰

**포커스: 장기적 영향과 트레이드오프**

핵심 질문:
1. 이 설계의 예상 수명은?
2. 예상 규모/부하는?
3. 반드시 통합해야 하는 기존 시스템은?
4. 협상 불가능한 제약조건은?

---

## Phase 3: Plan Generation

인터뷰 완료 후 `.sisyphus/plans/` 에 계획 파일 생성:

```markdown
# [태스크 이름] 실행 계획

**생성:** [ISO 타임스탬프]
**인터뷰 결과 요약:** [주요 결정 사항]

## 테스트 전략
- 인프라 존재: YES/NO
- 테스트 방식: TDD / 후 추가 / 없음

## 실행 태스크

- [ ] **[태스크 1]** — [구체적 설명: 어떤 파일, 무엇을 변경]
  - 검증: [어떻게 확인하나]
  - 엣지케이스: [무엇을 주의]

- [ ] **[태스크 2]** — ...

## 명시적 제외 사항
- [스코프에 포함하지 않을 것들]

## 완료 기준
- [ ] [구체적 완료 조건 1]
- [ ] [구체적 완료 조건 2]
```

---

## Phase 4: Handoff to Sisyphus

계획 완료 후:
```
계획이 준비됐습니다: .sisyphus/plans/[plan-name].md

/ultrawork로 실행을 시작하시겠습니까?
또는 계획을 검토 후 /ultrawork "태스크" 를 실행하세요.
```

---

## Anti-Patterns

- ❌ 코드베이스 탐색 없이 질문부터
- ❌ Trivial 태스크에 과도한 인터뷰
- ❌ 인터뷰 중 계획 파일 생성 (Phase 3 전까지는 대화만)
- ❌ 범위 외 추가 제안 ("이것도 하는 게 어떨까요?")
- ❌ 추상적 태스크 생성 ("기능 X 구현" — 금지)

Related Skills

ultrawork

5
from Lee-SiHyeon/oh-my-copilot

원커맨드 풀 오케스트레이션. Sisyphus + Hephaestus + Prometheus가 모두 활성화됩니다. "ultrawork", "ulw", "ulw-loop", "다 해줘", "전부 해줘" 트리거로 사용합니다. oh-my-opencode의 ultrawork를 Copilot CLI에 포팅한 스킬입니다.

trace

5
from Lee-SiHyeon/oh-my-copilot

경쟁 가설 기반 evidence-driven 디버깅. 애매한 버그, 인과관계 추적, 성능 문제, 2회 이상 재현 실패한 버그에 사용합니다. "trace", "왜 이게", "원인 분석", "debugging", "버그 추적", "root cause", "원인을 모르겠어", "재현이 안 돼" 트리거로 사용합니다. oh-my-claudecode의 trace 스킬 패턴을 Copilot CLI에 포팅한 스킬입니다.

sisyphus

5
from Lee-SiHyeon/oh-my-copilot

메인 오케스트레이터 에이전트. 복잡한 태스크를 원자적 서브태스크로 분해하고 병렬로 실행합니다. "오케스트레이션", "태스크 분해", "sisyphus" 트리거. ultrawork 내부에서도 자동 활성화됩니다.

sisyphus-junior

5
from Lee-SiHyeon/oh-my-copilot

Focused task executor. Completes assigned tasks directly with todo tracking discipline. Use when Atlas delegates atomic work items. (Sisyphus-Junior - oh-my-opencode port)

setup

5
from Lee-SiHyeon/oh-my-copilot

Configure shell profile so that `copilot`, `atlas`, and `cop` commands always launch with --agent oh-my-copilot:atlas --autopilot. Run this once after installing oh-my-copilot.

ralph-loop

5
from Lee-SiHyeon/oh-my-copilot

자기교정 반복 루프. 완료까지 자동으로 반복 실행합니다. "루프", "완료까지", "계속 해줘", "ralph-loop", "ulw-loop" 트리거로 사용합니다. oh-my-opencode의 Ralph Loop를 Copilot CLI에 포팅한 스킬입니다.

playwright

5
from Lee-SiHyeon/oh-my-copilot

MUST USE for any browser-related tasks. Browser automation via agent-browser CLI - verification, browsing, information gathering, web scraping, testing, screenshots, and all browser interactions. (playwright - oh-my-opencode port)

oracle

5
from Lee-SiHyeon/oh-my-copilot

Read-only consultation agent. Hard debugging (2+ failed attempts), complex architecture design, self-review after significant implementation. Strategic technical advisor with deep reasoning. (Oracle - oh-my-opencode port)

oh-my-copilot

5
from Lee-SiHyeon/oh-my-copilot

oh-my-opencode를 Copilot CLI용으로 포팅한 멀티에이전트 오케스트레이션 플러그인. Sisyphus(오케스트레이터) + Hephaestus(딥워커) + Prometheus(플래너) + Ralph Loop. "/ultrawork 태스크설명" 으로 시작하면 모든 에이전트가 자동 활성화됩니다. Use this plugin when asked for: "ultrawork", "orchestrate", "multi-agent", "deep work".

init-deep

5
from Lee-SiHyeon/oh-my-copilot

계층형 AGENTS.md 파일 자동 생성. 프로젝트 전체를 분석해서 루트와 복잡한 서브디렉토리에 AGENTS.md를 생성합니다. "AGENTS.md 만들어줘", "init-deep", "프로젝트 문서화", "코드맵 만들어" 트리거로 사용합니다.

hephaestus

5
from Lee-SiHyeon/oh-my-copilot

자율 딥워커 에이전트. 목표만 주면 스스로 탐색하고 완료까지 실행합니다. "딥워크", "자율 실행", "hephaestus", "알아서 해줘" 트리거로 사용합니다. 레시피가 아닌 목표를 받아서 Senior Staff Engineer처럼 동작합니다.

github-triage

5
from Lee-SiHyeon/oh-my-copilot

GitHub 이슈/PR read-only 트리아지. 모든 오픈 이슈와 PR을 분석해서 보고서를 /tmp/에 저장합니다. GitHub에 어떤 변경도 하지 않습니다. "triage", "이슈 분석", "PR 검토", "github triage" 트리거로 사용합니다. oh-my-opencode github-triage 스킬을 Copilot CLI에 포팅했습니다.