api-design-principles
REST·GraphQL API를 새로 설계하거나, 엔드포인트·스키마·버전 관리·에러 형식·페이지네이션을 정하거나 API 스펙을 리뷰할 때. Triggers - API 설계, REST, GraphQL, 엔드포인트 설계, API…
요청 하나를 의도부터 PR·학습까지 AI SDLC 루프로 끝까지 돌릴 때, 멈춘 루프를 이어 갈 때, 루프가 지금 어디인지 볼 때 사용. /loopeng [요청|status]. Triggers - loopeng, 루프로 돌려, SDLC 루프, 처음부터 끝까지, 이어서 해, 루프 상태.
Claude Code
$ npx -y skills add jh941213/adlc-harness --skill loopeng --agent claude-code
Codex
$ npx skills add jh941213/adlc-harness --skill loopeng -a codex -y
Cursor
$ npx skills add jh941213/adlc-harness --skill loopeng -a cursor -y
Gemini CLI
$ npx skills add jh941213/adlc-harness --skill loopeng -a gemini-cli -y
GitHub Copilot
$ npx skills add jh941213/adlc-harness --skill loopeng -a github-copilot -y
OpenCode
$ npx skills add jh941213/adlc-harness --skill loopeng -a opencode -y
Windsurf
$ npx skills add jh941213/adlc-harness --skill loopeng -a windsurf -y
name: loopeng description: 요청 하나를 의도부터 PR·학습까지 AI SDLC 루프로 끝까지 돌릴 때, 멈춘 루프를 이어 갈 때, 루프가 지금 어디인지 볼 때 사용. /loopeng [요청|status]. Triggers - loopeng, 루프로 돌려, SDLC 루프, 처음부터 끝까지, 이어서 해, 루프 상태.
요청 하나를 **의도 → 설계 → 계획 → 구현 → 검증 → 리뷰 → 출시 → 학습**으로 돌리고, 남은 문제는 다음 루프의 의도로 넘긴다. 단계마다 산출물을 커밋하고, 다음 단계는 그 산출물을 읽고 시작한다. 사람은 게이트에서만 판단하고, 그 사이는 멈추지 않고 이어 간다.
| 입력 | 하는 일 | |---|---| | `/loopeng <요청>` | 새 루프를 연다 | | `/loopeng` | 진행 중인 루프를 상태에서 이어 간다. 없으면 무엇을 할지 묻는다 | | `/loopeng status` | 현재 상태만 보여 주고 멈춘다 |
Claude Code에서 다른 플러그인과 이름이 겹치면 `/adlc-harness:loopeng`. Codex는 `$loopeng`, 다른 호스트는 "loopeng으로 돌려"라고 요청한다.
1 의도(`brainstorming` → `intent.md`) · 2 설계(`brainstorming` → `spec.md`, 화면이면 `design-md` → `design.md`) · 3 계획(`writing-plans` → `plan.md`) · 4 구현(`test-driven-development`, 독립 Task가 여럿이면 `memorybox`) · 5 검증(전체 검사 + `evaluator`) · 6 리뷰(`review`) · 7 출시(`commit-push-pr`) · 8 학습(`memory`). 게이트는 1·2·3·7이다.
단계별 산출물과 문서 규칙, 서브에이전트 띄우는 법, 메모리 쓰는 법은 `harness-guide`에 있다. 루프를 열 때 한 번 읽고, 흐름이 헷갈리면 다시 읽는다.
**각 단계는 그 단계의 스킬을 실제로 불러서 한다**(Claude Code는 Skill 도구, 다른 호스트는 그 스킬). `harness-guide`는 지도일 뿐이다. 질문하는 법(`brainstorming`), plan의 구성(`writing-plans`), 테스트 먼저(`test-driven-development`)는 그 스킬에만 있으니 요약을 보고 대신하지 않는다.
1. 작업 폴더를 찾는다: 인계(handoff.md)의 `지금:`, 없으면 `docs/work/*/` 중 `loop.md` 마지막 줄이 `done`이 아닌 최신 폴더. 2. 파일과 `승인:` 줄로 단계를 정한다. 기억이나 대화가 아니라 파일이 기준이다(압축·재시작·다른 호스트에서도 같은 답이 나온다).
| 상태 | 다음 | |---|---| | 작업 폴더 없음 | 크기 판정 | | `intent.md` 없음, 또는 `승인:` 날짜 없음 | 1 | | `spec.md`(화면이면 `design.md`도) 없음, 또는 승인 없음 | 2 | | `plan.md` 없음, 또는 승인 없음 | 3 | | plan에 미체크 단계 있음 | 4 (`재개:` 줄대로 첫 미체크 단계부터) | | 모두 체크, 이번 커밋에 대한 PASS 기록 없음 | 5 | | PASS, 리뷰 전이거나 지적이 남음 | 6 | | 리뷰 통과 | 7 | | PR 있음, 또는 7을 건너뜀(원격 없음, 사용자가 미룸) | 8 |
3. `loop.md`에 단계를 넘길 때마다 한 줄을 붙이고 그 단계의 커밋에 넣는다: `- YYYY-MM-DD HH:MM | <단계> | <결과: 승인·PASS·FAIL·지적 n건·PR #n> | 다음: <단계>` 시각은 `date '+%F %R'` 출력을 쓴다. 지어내지 않는다. 이 파일이 루프의 상태 기록이자 감사 기록이다. 고쳐 쓰지 않고 붙이기만 한다.
판정은 한 줄로 알리고 시작한다: "큰 작업으로 루프를 돈다. 1 의도부터." 사용자가 크기를 바꾸라고 하면 따른다.
루프: docs/work/2026-10-28-마감일/ 단계: 4 구현 (Task 3/5) 마지막 기록: 2026-10-28 14:02 | 계획 | 승인 | 다음: 구현 다음 할 일: Task 3 — overdue(list, today) (R2) 남은 게이트: 7 출시(푸시·PR 승인)
진행 중인 루프가 없으면 "`/loopeng <요청>`으로 시작, 흐름은 `harness-guide`"만 보여 준다.
AI SDLC 루프(의도 → 설계 → 계획 → 구현 → 검증 → 리뷰 → 출시 → 학습)를 Claude Code·Codex·GitHub Copilot CLI에서 같은 방식으로 돌리는 개발 하네스 플러그인이다. 상시 컨텍스트와 hook은 최소로 두고, 나머지는 필요할 때만 읽히는 스킬로 둔다. 루프: /loopeng 하나로 의도부터 PR·학습까지 간다. 사람은 의도·설계·계획·출시 게이트에서만 승인하고, 단계마다 문서와 승인 기록이 커밋으로 남는다.
REST·GraphQL API를 새로 설계하거나, 엔드포인트·스키마·버전 관리·에러 형식·페이지네이션을 정하거나 API 스펙을 리뷰할 때. Triggers - API 설계, REST, GraphQL, 엔드포인트 설계, API…
Python asyncio·async/await 코드를 작성하거나 디버깅할 때(동시 I/O, gather·TaskGroup, 타임아웃, 세마포어, 큐, 취소, 이벤트 루프 블로킹). Triggers - asyncio,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
빌드·타입체크·컴파일이 실패해 에러를 고칠 때. Triggers - 빌드 에러, build error, 컴파일 에러, tsc 에러, 타입 에러, 빌드 실패, build fix. 런타임 에러·테스트 실패는…
고객 제출용 SI/AO 산출물(아키텍처설계서, 인터페이스설계서, DB설계서, 요구사항추적표, 테스트결과서, 매뉴얼, 운영보고서)을 요청받았을 때 사용. Triggers - 검수 산출물, 납품 문서, 테스트결과서 뽑아줘.
변경을 커밋·푸시하고 PR을 만들 때 사용. Triggers - 커밋해, 푸시해, PR 만들어, PR 올려, commit and push. 리뷰·git log·diff 조회만 할 때는 쓰지 않는다.
Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.
Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration