OpenCode - Sisyphus (Ultraworker) *or*
Claude Code - /goal Skill *2026.5.12.업데이트*
*codex 의 조건부 loop도 참고하세요!
공격적 Harness 들을 사용할 때는
작업 범위,종료 조건,수반 동작을 명시하여
잘못된 goal 사용 예시
**/goal 지금부터 이 프로젝트에서 개발 계획한 모든 내용을 완벽하게 구현 완료해줘**
/goal-setting 스킬과 연계한 /goal 프롬프팅
- 가장 강력하게 **
Hands-off**형 에이전틱 워크플로우를 실행할 수 있는 프롬프트 작성하기!
임의로” 들어가고 있는지를 조건화! (내가 정하지 않았는데, Agent 가 유추하는 양이 얼마만큼인지?)**/goal-setting**
@docs/PRD_v1.0.md @docs/issues/ISSUE_LIST.md 문서들과,
현재 프로젝트의 GitHub Issue 및 PR 진행상태를 확인하고,
후속 작업으로 한번에 처리할 수 있는 최대 작업 범위를 목표로 설정해서 다음 에이전틱 루프를 실행하고 싶어.
goal 에 "조기 종료 조건"으로는 기존 문서에서 명확하게 정해놓지 않은 **핵심 의사결정사항이 3가지 이상 누적되거나, 부수적인 의사결정사항이 10가지 이상 누적**되는 경우로 설정해주고, 이 카운팅은 별도 문서를 체크포인트로 두어서 멀티에이전트 작업에서도 명확하게 확인할 수 있도록 명시해줘.

전체 프롬프트를 한글로 작성해주고, 한줄로 작성하지 말고 적절히 개행해서
다음의 네 개 항목으로 구조화된 /goal 프롬프트를 작성해줘
---
1) 작업 핵심 목표 및 범위
2) 작업 세부 규칙
3) 종료 조건 및 종료 방법
4) 기타 제약조건
**/goal**
## 1) 작업 핵심 목표 및 범위
- lecture-hub 프로젝트의 후속 구현 작업을 자동화 루프로 진행한다.
- 시작 지점: 선행 이슈가 모두 해소된 다음 착수 지점.
- 작업 대상: ISSUE_LIST.md 순서(ISSUE-002~ISSUE-024)의 열린 GitHub 이슈 중 선행 이슈가 해소되어 있고 아직 PR이 없는 것을 차례로 구현.
- 작업 자율성: 사용자의 권한 승인 및 컨펌을 받기 위한 작업 중단 없이, 최대한 모든 권한을 가지고 종료 조건에 도달하거나 모든 구현이 끝날 때까지 작업한다.
## 2) 작업 세부 규칙
- 브랜치 전략: 각 이슈는 프로젝트 TDD 사이클(Red→Green→Refactor→Report→PR)을 따르고, 그 선행 이슈의 기존 feat/* 브랜치 위에 스택형 draft PR로 분기한다.
- 각 이슈별 TDD 작업 순서:
1) TEST 작성
2) 코드 구현
3) TEST 수행
4) TEST 기준 미달성 항목 개선
**5) TEST 기준 모두 충족 시 보고서 작성
6) 변경 내용을 상세 기록한 PR 작성 — 다음 작업 수행
~~7) 작업 내용 중 사용자가 직접 확인 및 외부 플랫폼 연동 수행해야 하는 내용이 있다면 "작업 순서 & 상세 작업 방법 가이드"로 작성~~**
- 의사결정 로그:
**- docs/PRD_v1.0.md 또는 docs/issues/ISSUE_LIST.md에서 기존에 확정되어 있지 않은 모든 추가 의사결정을 docs/loop/DECISION_LOG.md 에 기록한다.
- 의사결정 각 항목은 CORE(아키텍처·보안·외부의존 선택) 또는 MINOR(네이밍·디렉터리·UI 디테일·로그 포맷)로 분류한다.**
- grep 가능한 카운터를 각각 별도 줄에 `CORE: N` 과 `MINOR: M` 으로 유지한다.
## 3) 종료 조건 및 종료 방법
- 종료 조건 (아래 중 하나라도 충족되는 순간 루프를 즉시 멈춘다):
**- CORE 카운터가 3에 도달 → `STOP REASON: CORE_BUDGET`
- MINOR 카운터가 10에 도달 → `STOP REASON: MINOR_BUDGET`**
- 선행 이슈가 해소된 열린 이슈가 더 없음 → `STOP REASON: NO_UNBLOCKED_ISSUES`
- 평가-진행 라운드(turn = /goal 평가자가 진행 상태를 한 번 점검하는 메인 에이전트 응답 사이클)가 누적 40회에 도달 → `STOP REASON: TURN_CAP` (= `or stop after 40 turns`)
- 종료 방법:
1) docs/loop/DECISION_LOG.md 마지막 줄에 `STOP REASON: <원인 코드>` 한 줄을 덧붙인다.
2) `pnpm typecheck && pnpm test && pnpm lint && pnpm build` 를 실행해 네 명령 모두 exit 0 인 출력을 대화에 남겨 증명한다.
3) `cat docs/loop/DECISION_LOG.md` 를 실행해 `CORE: N` · `MINOR: M` 카운터 줄과 `STOP REASON:` 줄이 보이는 출력을 대화에 남긴다.
4) `gh pr list` 를 실행해 루프가 연 draft PR 목록을 대화에 남긴다.
## 4) 기타 제약조건
- 어떤 PR도 main에 merge하지 않으며, Vercel 자동배포를 유발하지 않는다.
- docs/PRD_v1.0.md, docs/issues/ISSUE_LIST.md, docs/PRD_OPEN_DECISIONS.md 는 수정하지 않는다.
- 활성 이슈의 구현 범위 밖 파일은 수정하지 않는다 (단 docs/loop/DECISION_LOG.md 와 reports/ 는 예외).
⇒ 상기 포맷의 프롬프트를 여러 벤더 에이전틱 플로우에 적용할 수 있습니다.
/ulw-loop 를 사용한 공격적인 Issue 해결 작업 프롬프팅Goal 프롬프트를 그대로 사용합니다.
**/ulw-loop**
**[goal prompt]**
출력
(앞부분 생략)
