# 로그인된 브라우저 작업을 클릭이 아니라 검증 가능한 상태기계로 만든 방법
## 한줄 요약
기존 게시 상태기계를 기준선으로 삼고, 로그인 브라우저에서 생성 이미지의 원본 다운로드와 리치텍스트의 의미 구조 검증을 같은 증거 계약에 연결한 차이만 설명합니다.
## 바쁘시면 이것만 보세요
- 브라우저에서 보이는 미리보기, 게시 버튼 클릭, 로딩 스피너는 산출물 증거가 아니다.
- 한 항목씩 `입력→사전 확인→실행 한 번→결과 재확인→영수증`으로 처리한다.
- 상태가 불명확하면 재클릭하지 말고 새 화면과 기존 결과부터 확인한다.
## 이런 분께 추천합니다
- 로그인된 웹 서비스만 이용할 수 있어 브라우저 자동화가 필요한 분
- 리치텍스트 서식 손실이나 중복 게시를 피하고 싶은 분
- 생성 이미지를 받았다고 했는데 실제 파일이 없었던 경험이 있는 분
## 제작 배경
브라우저 작업은 눈에 보이기 때문에 오히려 완료를 쉽게 착각한다. 프롬프트가 입력돼도 전송되지 않을 수 있고, 이미지가 화면에 보여도 원본 파일이 저장된 것은 아니다. 게시 버튼을 눌렀지만 전환이 느리면 두 번 눌러 중복 글을 만들 수 있다. 제목과 HTML을 동시에 준비하면 공유 클립보드가 덮여 엉뚱한 내용이 들어갈 수도 있다. 이런 실패는 “다음 상태의 증거”를 분명히 하면 줄일 수 있었다.
## 어떤 스킬인가
`browser-ai-image-generation`은 로그인 세션에서 이미지를 만들되 웹 미리보기가 아니라 원본 다운로드 파일을 산출물로 정의한다. 파일 형식·크기·치수를 확인하고 최종 로컬 파일을 직접 본다. 세 publishing 스킬은 큐 항목마다 작성 중, 게시 준비, 공개 검증, 영수증 기록, 완료 상태를 둔다. 리치텍스트의 제목·본문·분류·태그를 게시 전에 확인하고, 공개 상세 페이지에서 구조가 살아 있는지 다시 본다.
## 어떻게 만들었나
먼저 “클릭됨”과 “효과가 확인됨”을 분리했다. 입력 도구가 `unverifiable`을 반환하면 같은 동작을 반복하지 않고 새 캡처로 상태를 읽도록 했다. 접근성 요소 번호는 캡처마다 바뀔 수 있어 항상 최신 화면에만 묶었다. 게시 배치는 안정 키와 영수증을 먼저 읽고 미완료 한 건만 처리한다. 제목과 HTML은 병렬로 만들지 않고 제목 붙여넣기 확인 뒤 HTML을 준비한다. 이미지는 서비스의 저장 기능으로 원본을 받고, 새 파일을 안정된 이름으로 옮긴 뒤 열어 본다.
## 어떻게 사용하는가
1. 작업 큐와 기존 영수증을 읽어 중복 가능성을 제거한다.
2. 현재 URL, 서비스, 대상 항목을 새 캡처에서 확인한다.
3. 필드를 의존 순서대로 채우고 화면에서 값과 구조를 확인한다.
4. 생성·게시 동작은 한 번만 수행하고 로딩 중에는 기다린다.
5. 결과가 모호하면 기존 대화, 상세 페이지, 동일 제목 검색을 먼저 확인한다.
6. 이미지는 로컬 원본 파일, 글은 공개 상세 URL에서 요구 특성을 검증한다.
7. 검증 범위를 영수증에 기록한 뒤 다음 항목으로 이동한다.
## 검증과 시행착오
리치텍스트에 Markdown 평문을 붙이면 제목·목록·코드블록이 납작해졌다. 그래서 필요한 의미 요소만 담은 HTML 클립보드를 사용하고 게시 전후 모두 구조를 확인했다. 태그 검색어가 입력된 것과 태그 chip이 선택된 것도 달랐다. 이미지 생성 화면이 홈으로 돌아와도 새 대화가 기록돼 있을 수 있어 실패로 단정하기 전 이력을 다시 열게 했다. 공통 교훈은 화면 전환을 결과로 추측하지 말고 결과 표면을 다시 읽는 것이다.
## 효과 / Before-After
**Before:** 입력 성공, 클릭 성공, 미리보기 표시를 곧바로 완료로 세었다.
**After:** 각 단계에 증거가 없으면 멈추고, 실제 파일 또는 상세 페이지와 영수증이 있어야 완료가 된다. 자동화 범위를 늘리기보다 중복·서식 손실·허위 완료를 구분하는 능력이 생겼다.
## 한계와 중단 조건
로그인·결제·권한 동의 화면은 대신 처리하지 않는다. 기존 로그인 세션이 없거나 원본 다운로드를 찾을 수 없으면 이미지 완료를 선언하지 않는다. 게시 승인, 대상, 공개 범위가 현재형으로 확인되지 않으면 게시하지 않는다. 화면 상태를 읽을 수 없거나 결과가 모호하면 재시도보다 `HOLD`를 택한다.
## 다른 업무에 적용하는 법
지원 티켓 제출, CMS 입력, 채용 폼처럼 브라우저 양식 기반 업무에도 적용할 수 있다. 안정 키, 필드 사전 확인, 제출 한 번, 결과 페이지 read-back, 영수증이라는 최소 상태기계면 충분하다.
## 재사용 체크리스트
- [ ] 기존 결과와 영수증을 먼저 확인했는가
- [ ] 최신 화면에서 대상과 필드를 확인했는가
- [ ] 공유 클립보드 작업을 순차 처리했는가
- [ ] 실행 버튼을 한 번만 눌렀는가
- [ ] 결과 파일 또는 상세 페이지를 직접 검증했는가
- [ ] 중복 없는 영수증을 남겼는가