| name | mino |
| description | Mino iOS 작업의 단일 진입점. 진행 상황을 읽어 지금 차례인 ios-workflow 세션으로 들어간다. "mino", "이어서 하자", "다음 단계", 기획서·피그마를 던지며 작업을 시작할 때 사용한다. `auto` 를 붙이면 승인 게이트에서 묻지 않고 끝까지 진행한다. |
| argument-hint | [auto] [처음이면 figma URL 또는 기획서 경로 / 이어서면 비워둠] |
Mino 진입점
/ios-workflow <세션> <모드> 를 매번 손으로 적는 대신, 새 창에서 /mino 한 줄로 지금 차례인 세션에 들어간다.
세션을 합치지 않는다 — 창을 나눠 여는 컨텍스트 격리는 그대로 두고, 어느 세션인지 고르는 일만 대신한다.
절차
1. 진행 상황 판정
/plan/ 을 탐색해 어느 세션까지 끝났는지 읽는다. 폴더가 없으면 아직 시작 전이다.
| 관측 | 다음 세션 |
|---|
/plan/ 없음 | BG (자료를 인자로 받는다) |
background/ 있고 pr{N}/ 없음 | BG 이어서 또는 MARKUP |
pr{N}/consumable/overview.md 있고 persistent/implementation.md 없음 | PR_{N}_PLAN 이어서 |
pr{N}/persistent/implementation.md 있고 구현 커밋 없음 | PR_{N}_IMPL |
구현 커밋 있고 pr{N}/consumable/pr-body.md 없음 | PR_{N}_WRITING |
산출물이 서로 어긋나 판정이 갈리면 추측하지 않는다. 관측한 파일 목록과 후보 세션을 제시하고 사용자에게 고르게 한다.
MARKUP 은 PR 세션과 병렬로 도는 별도 트랙이라 위 순서에 끼지 않는다. 화면 마크업이 필요한데 아직 없으면 함께 안내한다.
2. 모드 확인
실무(피그마가 디자인 진실 원천) / 개인(피그마 없음, 사용자 시각 확인이 진실 원천).
- 처음이면 사용자에게 묻는다. 폴더 구조나 파일 존재로 추론하지 않는다 — 분기 영향이 커서 오추론 비용이 크다.
- 답을 받으면
/plan/background/retained/mode.md 에 한 줄로 남긴다.
- 이후 세션에서는 그 파일을 읽되, 진입 안내에 모드를 함께 출력해 사용자가 한 마디로 뒤집을 수 있게 한다.
3. 세션 진입
판정한 세션의 절차를 직접 읽어 따른다.
- ios-workflow 스킬을 Skill tool 로 호출한다 — 스킬 목록에
ios-workflow(전역 설치)가 있으면 그 이름으로, ai-workflow:ios-workflow(플러그인 설치)만 있으면 그 이름으로. 「세션」 표, 「[CRITICAL] 지킬 원칙」이 여기서 로드된다.
- 로드된 SKILL.md 의 「작업 진행 순서」에서 자기 세션의 step 파일을 찾아, 스킬 디렉토리 기준 상대 경로로 전체를 Read 한다.
- step.md 도입부의
[CRITICAL]·필수 절차부터 실행한다. Plan mode 표기가 있는 step(step-3·step-4)은 EnterPlanMode 를 명시 호출한다.
두 이름 다 스킬 목록에 없으면 진행하지 말고 설치를 안내한다: /plugin marketplace add https://github.com/hooni0918/AI-Workflow.git → /plugin install ai-workflow@hooni-workflow.
4. 진입 보고
무엇을 보고 그렇게 판정했는지 한 줄로 밝힌 뒤 시작한다. 사용자가 틀렸다고 하면 즉시 멈추고 다시 고른다.
판정한 세션의 권장 구동 모델을 함께 밝힌다 (ios-workflow SKILL.md 「세션」 표 (6) 칸). 세션 모델은 하네스가 자동으로 바꿀 수 없어서, 현재 모델이 권장과 다르면 작업 시작 전에 /model 전환을 요청하고 답을 기다린다. 사용자가 현재 모델로 가겠다고 하면 그대로 진행한다.
/plan/pr1/persistent/implementation.md 확인 → PR_1_IMPL 차례입니다 (모드: 실무, 권장 모델: Sonnet).
아니면 알려주세요.
하지 않는 것
- 여러 세션을 한 창에서 연달아 돌지 않는다. 한 세션이 끝나면 다음 세션 안내를 출력하고 종료한다 — 새 창에서 다시
/mino. (자동 모드는 예외 — 아래)
- 모드를 추론하지 않는다.
- ios-workflow 의 절차를 여기에 베껴 적지 않는다. 이 파일은 어느 세션인지 고르는 일만 하고, 무엇을 어떻게 할지는 ios-workflow 가 단일 출처다.
자동 모드 — /mino auto
승인 게이트에서 묻지 않고 AI 가 판단해 계속 간다. 사용자가 자리를 비운 사이 굴리기 위한 모드다.
묻지 않는 대신 전부 기록한다. 게이트를 없애는 게 아니라 동기 승인을 사후 검토로 옮기는 것이다 — 기다림은 사라지되 무엇을 근거로 그렇게 갔는지는 남는다.
어디까지 가나
| |
|---|
| 진행 | 로컬 커밋까지 |
| 하지 않음 | 푸시 · PR 생성 · 머지 |
| 정지 | 커밋 재정렬 · force-push 직전 |
커밋 히스토리를 다시 쓰는 일은 되돌리기가 번거로워 사람 손을 남긴다. 거기까지 오면 현재 커밋 목록과 정리 계획을 제시하고 종료한다.
시작할 때 딱 한 번 묻는 것
모드(실무/개인)는 /plan/background/retained/mode.md 에서 읽는다. 파일이 없으면 자동 모드라도 이때 한 번 묻는다 — 이건 승인 게이트가 아니라 입력이고, 없는 입력을 추측하면 그 뒤가 전부 어긋난다. 답을 받아 파일로 남기고 나면 그 뒤로는 묻지 않는다.
게이트에서 하는 일
승인 게이트(과제 정의 / 구현 방침·stub / 코드 리뷰 / 동작 테스트·시각 대조)를 만나면 멈추지 말고:
- 결정한다
/plan/auto-decisions.md 에 한 항목 append —
세션 · 게이트 이름 · 결정 · 근거(파일:라인 또는 원문 인용) · 되돌리려면 무엇을 바꿔야 하는지
- 계속 간다
근거 칸에 AI 가 만든 산출물을 적지 않는다. 그건 자기가 낸 답을 자기 채점 기준으로 삼는 것이다. 근거는 기획서 원본·피그마·사용자 발화·코드·공식 문서 같은 진실 원천에서만 가져온다. 진실 원천에 근거가 없으면 그 항목은 아래 「그래도 멈추는 것」이다.
그래도 멈추는 것
- 커밋 재정렬 · force-push (위 표)
- 되돌리기 어려운 파괴적 작업 — 파일 대량 삭제, 브랜치 삭제, 외부 서비스로 나가는 것
- 실행 전제 미충족 —
scripts/setup.sh --check 실패. 설치까지 자동으로 하려면 scripts/setup.sh --yes
- 근거 없이 판단이 갈릴 때 — 진실 원천을 뒤져도 어느 쪽인지 정할 수 없으면 추측으로 밀지 않고 멈춘다. 이 모드의 목적은 대기 제거이지 추측 허용이 아니다
자동 모드가 약해지는 지점 — 알고 쓴다
- 시각 대조는 자동으로 판정할 수 없다. 실무 모드는 피그마와 대조할 수 있지만, 개인 모드는 진실 원천이 사용자 눈이다. 이 항목은 멈추지 말고 진행하되 「사용자 확인 필요」로 표시해 남긴다 — 통과로 처리하지 않는다.
- 한 창에서 세션을 이어 돌면 컨텍스트 격리가 깨진다. 앞 세션의 대화가 뒤 판단에 남는다. 세션 경계마다
/plan/ 산출물을 다시 읽어 근거로 삼고, 창 안의 기억을 근거로 쓰지 않는다. 그래도 격리 수준은 창을 나눌 때보다 낮다 — 중요한 작업은 수동 모드를 쓴다.
- QA 의 PASS 는 시나리오 범위 안에서만 참이다. 자동 모드에서도 리포트의 「미검증 범위」·「판정 보류」는 그대로 사람 몫으로 남는다.
끝났을 때
/plan/auto-decisions.md 전체를 요약해 제시한다. 사용자가 "이 결정은 아니다"라고 하면 그 항목에 적어둔 되돌리는 법대로 그 지점부터 다시 간다.
커밋 메시지 본문 끝에 자동 모드로 진행 — 근거는 /plan/auto-decisions.md 한 줄을 남겨, 나중에 이 커밋들이 사람 승인을 거치지 않았음을 알 수 있게 한다.