api-design-principles
REST·GraphQL API를 새로 설계하거나, 엔드포인트·스키마·버전 관리·에러 형식·페이지네이션을 정하거나 API 스펙을 리뷰할 때. Triggers - API 설계, REST, GraphQL, 엔드포인트 설계, API…
작업 흐름을 잊었거나 하네스 특성을 다시 확인할 때 사용. SDLC 단계·문서 규칙, 서브에이전트 띄우는 법, 메모리 쓰는 법, 문서 스킬, 리뷰·검증, hook·호스트 차이를 한 곳에 둔다. Triggers - harness-guide, 하네스 가이드, 하네스 사용법, 흐름이 뭐였지, 다음에 뭐 해, 어떤 스킬 써, 서브에이전트 어떻게, 메모리 어떻게.
Claude Code
$ npx -y skills add jh941213/adlc-harness --skill harness-guide --agent claude-code
Codex
$ npx skills add jh941213/adlc-harness --skill harness-guide -a codex -y
Cursor
$ npx skills add jh941213/adlc-harness --skill harness-guide -a cursor -y
Gemini CLI
$ npx skills add jh941213/adlc-harness --skill harness-guide -a gemini-cli -y
GitHub Copilot
$ npx skills add jh941213/adlc-harness --skill harness-guide -a github-copilot -y
OpenCode
$ npx skills add jh941213/adlc-harness --skill harness-guide -a opencode -y
Windsurf
$ npx skills add jh941213/adlc-harness --skill harness-guide -a windsurf -y
name: harness-guide description: 작업 흐름을 잊었거나 하네스 특성을 다시 확인할 때 사용. SDLC 단계·문서 규칙, 서브에이전트 띄우는 법, 메모리 쓰는 법, 문서 스킬, 리뷰·검증, hook·호스트 차이를 한 곳에 둔다. Triggers - harness-guide, 하네스 가이드, 하네스 사용법, 흐름이 뭐였지, 다음에 뭐 해, 어떤 스킬 써, 서브에이전트 어떻게, 메모리 어떻게.
흐름이 헷갈리거나 특성을 잊었을 때 다시 읽는 곳이다. 필요한 절만 읽는다. 일을 처음부터 끝까지 돌리려면 `loopeng`.
| 크기 | 기준 | 흐름 | |---|---|---| | 바로 끝나는 일 | 한두 파일, 정답이 하나 | 바로 하고 검증 출력으로 보고 | | 작은 변경 | 범위가 분명하고 설계 판단이 한두 개 | 채팅에서 짧은 설계(수용 기준 한두 줄) 승인 → 구현(테스트 먼저) → 전체 검사 → `review` Quick → 커밋·PR(푸시는 묻고) → 배운 것은 `memory` | | 큰 작업 | 여러 파일·여러 결정, 요구가 덜 정해짐 | 아래 SDLC 전 단계 |
판정이 애매하면 한 단계 큰 쪽으로 하고, 사용자에게 한 줄로 알린다.
작업 폴더: `docs/work/YYYY-MM-DD-<주제>/`. 단계마다 문서를 커밋하고, 다음 단계는 그 문서를 읽고 시작한다.
| # | 단계 | 스킬·에이전트 | 산출물 | 게이트 | |---|---|---|---|---| | 1 | 의도 | `brainstorming` | `intent.md`: 사용자 말 그대로의 문제·원하는 결과·영향 대상·제약·열린 질문 | 사람 승인 | | 2 | 설계 | `brainstorming` | `spec.md`: 동작·구조, `## 수용 기준`(R1…, 숫자 목표), `## 우려 사항` | 사람 승인 | | | 디자인 | `design-md`(참고 사이트 캡처·디자인 시스템 반영), impeccable | 화면 작업이면 `design.md`: 디자인 방향·토큰·컴포넌트·화면 흐름과 상태. 프로젝트 `DESIGN.md`가 있으면 따른다 | 사람 승인 | | 3 | 계획 | `writing-plans` | `plan.md`: Task마다 R#, 파일·테스트·검증 명령, 체크박스, `승인:`·`재개:` 줄 | 사람 승인 | | 4 | 구현 | `test-driven-development`, `systematic-debugging`, `build-fix` | 코드·테스트, 체크된 plan | 자동 | | 5 | 검증 | `verification-before-completion`, `evaluator` | 전체 검사 출력, R#별 판정 | 자동 | | 6 | 리뷰 | `review`, `receiving-code-review`, `security-reviewer` | 지적·위험 등급 | 자동 | | 7 | 출시 | `commit-push-pr` | PR(Testing·Risk·How to revert) | 사람 승인. 병합·배포는 사람 | | 8 | 학습 | `memory` | 메모·`hits`, REVIEW.md에 놓친 사례, 다음 의도 후보 | — |
규칙:
**언제 띄우나**: 서로 독립인 일이 둘 이상일 때, 큰 탐색이나 조사로 메인 컨텍스트를 채우고 싶지 않을 때, 만든 사람과 분리된 판정이 필요할 때(검증·리뷰). 한두 번의 도구 호출로 끝날 일, 같은 맥락을 계속 나눠야 하는 일은 직접 한다.
**브리프가 전부다**: 서브에이전트는 auto memory도 SessionStart 규칙도 받지 못한다. 브리프에 다섯 가지를 넣는다. 1. 목표, 그리고 왜 하는지 2. 범위: 읽을 파일과 고쳐도 되는 파일, 건드리지 말 것 3. 이미 아는 것과 이미 배제한 것 4. 완료 기준: 돌릴 명령과 기대 출력 5. 돌려받을 형식과 길이
결론을 넘겨 주면 그것을 확인하고 돌아오기 쉽다. 판정을 맡길 때는 결론이 아니라 코드와 기준을 넘긴다.
| 호스트 | 띄우는 법 | |---|---| | Claude Code | Agent 도구(`subagent_type`). 코드를 고치는 병렬 작업은 `isolation: worktree`. 이 하네스의 에이전트: `evaluator`(R# 판정·채점), `security-reviewer`, `docs-writer` | | Codex | `codex exec -s workspace-write "<브리프>"`. 저장소 밖에 써야 하면 `--add-dir <폴더>` | | Copilot CLI | `/agent`로 사용자 정의 에이전트, 또는 `copilot -p "<브리프>"` | | Orca | `orchestration`의 워커. 소유권은 Orca Dispatch가 맡는다(`memorybox` 스킬 `references/orca.md`) |
**여러 워커가 주고받으면 `memorybox`**: 리드가 run과 항목을 올리고, 워커가 가져가 결과와 배운 점을 남긴다. 가져가기·라운드 상한·선행 조건은 스크립트가 강제한다. 코더와 리뷰어는 다른 모델로 짝짓는다. 여러 부분을 잇는 일이면 먼저 끝에서 끝까지 도는 가장 얇은 경로를 만들고 나서 나눈다.
| 층 | 어디 | 쓰는 때 | |---|---|---| | 단기 | `handoff.md`: 지금·다음·막힘 5줄 | `/clear`·세션 종료 전, 큰 단계를 끝낼 때. 작업이 끝나면 지운다 | | 중기 | 메모 파일(사실 하나에 파일 하나, `type`·`hits`) + `MEMORY.md` 한 줄 색인 | 코드만 봐서는 알 수 없고, 오래 유효하고, 잊으면 손해인 교정·의외 | | 장기·팀 | 프로젝트 `AGENTS.md`의 `## 명령`·`## 자주 틀리는 것`·`## 지식 지도` | `hits` 2 이상이거나 사용자가 "항상/절대"라고 할 때 승격 | | 장기·개인 | `~/.claude/CLAUDE.md`(Codex는 `~/.codex/AGENTS.md`) | 모든 프로젝트에 해당하는 개인 규칙 | | 원본 | `docs/`, `docs/work/*/` | 메모리는 위치만 가리키고 내용을 옮기지 않는다 |
| 무엇 | 스킬·에이전트 | |---|---| | 작업 문서(intent·spec·design·plan) | 위 SDLC 단계 | | 시스템 구조: ARCHITECTURE.md 코드맵, C4, ADR, ERD | `docs-architecture` | | API·이벤트 명세: OpenAPI, AsyncAPI, API CHANGELOG | `docs-interfaces` | | 사용자 매뉴얼, 런북·배포·운영 문서 | `docs-manuals` | | 문서 CI·드리프트 감지 | `docs-ci` | | 코드 레벨 문서(컴포넌트·훅·모델·CHANGELOG) | `docs-writer` 에이전트, `/docs` | | 고객 제출 산출물 | `client-docs` |
문서가 원본이다. 구현을 바꾼 커밋에서 문서도 고친다.
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