---
name: analyze-roadmap-position
version: 1.2.1
description: "지금 작업이 뭐지?, 현재 작업 분석, 남은 작업 확인 요청에 대해 활성 Milestone과 코드 상태를 함께 읽어 현재 작업 지점, Milestone 문서 링크, 남은 일을 추정하는 읽기 전용 스킬"
---

# 작업 지점 분석

## 목적

현재 브랜치, 변경 파일, 코드 구조, 활성 Milestone 문서를 함께 분석해 지금 작업이 어느 Milestone에 걸쳐 있는지와 남은 작업 후보를 보고한다.
결과에는 추정한 Milestone의 문서 링크를 항상 함께 출력한다.
Milestone의 `필수 기능` 항목에 item-id가 있으면 남은 작업과 판단 근거에 함께 표시해 사용자가 짧은 id로 후속 지시를 할 수 있게 한다.
`current.md`만 보고 현재 작업 위치를 단정하지 않고, 실제 코드 상태와 요청 내용을 근거로 판단한다.

## 언제 호출할지

- 사용자가 "지금 작업이 뭐지?", "현재 작업이 뭐야?", "어디까지 했지?"라고 물을 때
- 사용자가 현재 브랜치 또는 변경 파일 기준으로 남은 작업을 알고 싶어 할 때
- 활성 Milestone 안에서 이번 요청이 어느 범위에 속하는지 확인해야 할 때
- 구현 전에 로드맵 기준 작업 위치를 가볍게 점검해야 할 때

## 입력

- `question`: 사용자의 현재 작업 지점 질문 또는 남은 작업 질문 (선택)
- `scope`: 분석할 경로, 기능명, 도메인명, 브랜치명 힌트 (선택)
- `depth`: `quick` 또는 `deep` (선택, 없으면 `quick`)

## 먼저 확인할 것

- [ ] `agent-ops/roadmap/current.md` 존재 여부 확인
- [ ] `current.md`의 활성 Milestone 목록이 가리키는 문서 존재 여부 확인
- [ ] 활성 Milestone 목록이 `agent-ops/roadmap/archive/**` 경로를 가리키지 않는지 확인
- [ ] 활성 Milestone 이름과 문서 경로를 결과 출력에 쓸 Markdown 링크로 기록
- [ ] git 저장소이면 현재 브랜치, `git status --short`, 변경 파일 목록 확인
- [ ] 변경 파일이 있으면 `agent-ops/rules/project/rules.md`의 도메인 매핑 기준으로 관련 domain rule 확인

## 실행 절차

1. **활성 Milestone 창 확인**
   - `agent-ops/roadmap/current.md`를 읽고 활성 Milestone 후보와 선택 규칙을 파악한다.
   - `current.md`의 후보가 `agent-ops/roadmap/archive/**`를 가리키면 해당 문서는 읽지 말고 로드맵 갱신 필요 항목으로 기록한다.
   - 활성 Milestone 문서를 모두 읽되, 목록이 많으면 사용자 요청이나 변경 파일과 관련 높은 문서부터 읽는다.
   - 읽은 Milestone은 `<milestone-name>: <path>` 형태로 보존하고, 결과 보고에서는 `[<milestone-name>](<path>)` Markdown 링크로 출력한다.
   - `current.md`가 없거나 형식이 맞지 않으면 `agent-ops/roadmap/ROADMAP.md`의 Milestone 목록을 확인하고 불확실성을 보고한다.

2. **작업 흔적 확인**
   - git 저장소이면 `git branch --show-current`, `git status --short`, `git diff --name-only`, 필요 시 `git diff --stat`을 확인한다.
   - 변경 파일이 없으면 사용자의 요청 문장과 최근 대상 경로 힌트를 기준으로 추정한다.
   - 변경 파일이 있으면 관련 코드와 테스트 파일을 필요한 만큼만 읽는다.

3. **Milestone 매칭**
   - 활성 Milestone의 목표, 범위, 완료 기준, 범위 제외 항목과 변경 파일/요청 내용을 비교한다.
   - 활성 Milestone의 `필수 기능` 체크리스트를 확인하고, 관련 항목에 item-id가 있으면 판단 근거와 남은 작업에 item-id를 함께 기록한다.
   - 여러 Milestone 후보에서 같은 item-id가 보이면 item-id만으로 위치를 확정하지 말고 Milestone 이름과 문서 링크를 함께 제시한다.
   - 활성 Milestone의 `구현 잠금` 섹션과 상태를 함께 확인한다. 섹션이 없거나 상태가 `잠금`이면 구현이나 구현 계획 전에 Milestone 구체화 업데이트가 필요하다고 보고한다.
   - 하나의 Milestone에 명확히 속하면 단일 후보로 보고한다.
   - 둘 이상의 Milestone에 걸치면 복수 후보로 보고하고, 어떤 파일이나 기능이 어느 Milestone에 닿는지 나눈다.
   - 활성 Milestone 밖으로 보이면 `ROADMAP.md`의 Milestone 목록을 확인하고 전환 또는 신규 Milestone 필요성을 제안한다.

4. **남은 작업 분류**
   - `확인됨`: 코드, 문서, 테스트, diff로 근거가 있는 남은 작업
   - `추정됨`: 구조상 필요해 보이지만 추가 확인이 필요한 작업
   - `확인 필요`: 제품 판단, 범위 결정, 사용자 의도가 필요한 작업
   - 완료 여부는 evidence 없이 확정하지 않는다.

5. **결과 보고**
   - 추정 Milestone과 신뢰도
   - 추정 Milestone 문서 링크
   - 구현 잠금 상태와 잠금/정보 없음 상태일 때 필요한 다음 조치
   - 판단 근거
   - 구현된 것으로 보이는 부분
   - 남은 작업
   - 확인 필요 항목
   - 읽은 주요 파일

Milestone을 하나로 확정할 수 없으면 후보 Milestone마다 링크를 출력한다.
Milestone 문서 경로를 찾지 못한 경우에도 링크 항목을 생략하지 말고 `링크 확인 불가: <이유>`와 확인한 로드맵 파일 경로를 함께 적는다.

## 실행 결과 검증

- [ ] `current.md`만 근거로 현재 위치를 단정하지 않았는가
- [ ] 활성 Milestone 문서의 목표와 범위 제외 항목을 확인했는가
- [ ] `agent-ops/roadmap/archive/**` 문서를 명시 요청 없이 읽지 않았는가
- [ ] 활성 Milestone 문서의 `구현 잠금` 섹션 존재 여부와 상태를 확인했는가
- [ ] 추정 Milestone마다 문서 링크를 출력했는가
- [ ] 관련 `필수 기능` 항목에 item-id가 있으면 결과에 함께 표시했는가
- [ ] 변경 파일 또는 사용자 요청과 Milestone 판단 근거가 연결되어 있는가
- [ ] 남은 작업을 `확인됨`, `추정됨`, `확인 필요`로 구분했는가
- [ ] 로드맵 파일을 수정하지 않았는가
- 검증 실패 시: 부족한 근거를 명시하고 신뢰도를 낮춘다. Milestone 링크 누락은 출력 전 반드시 보정한다.

## 출력 형식

```markdown
## 현재 작업 분석

- 추정 Milestone: <milestone-name 또는 복수 후보>
- Milestone 링크: [<milestone-name>](agent-ops/roadmap/milestones/<milestone-slug>.md)
- 신뢰도: <높음 | 중간 | 낮음>
- 구현 잠금: <잠금 | 해제 | 정보 없음>

## 근거

- <변경 파일, 브랜치, 요청 내용, Milestone 범위와 연결된 근거>

## 구현된 것으로 보이는 부분

- <코드/문서 근거가 있는 항목>

## 남은 작업

- 확인됨: [<item-id>] <항목>
- 추정됨: [<item-id>] <항목>
- 확인 필요: [<item-id 또는 신규 id 필요>] <항목>

## 읽은 주요 파일

- <path>
```

## 금지 사항

- `current.md`만 읽고 현재 작업 위치를 확정하지 않는다.
- 사용자가 명시하지 않은 상태에서 `ROADMAP.md`, `current.md`, Milestone 문서를 수정하지 않는다.
- 사용자가 명시하지 않은 상태에서 `agent-ops/roadmap/archive/**`를 읽지 않는다.
- evidence 없이 Milestone이나 기능을 완료 처리하지 않는다.
- 활성 Milestone 밖 작업을 임의로 새 Milestone으로 추가하지 않는다.
