nomadcode/agent-ops/skills/common/analyze-roadmap-position/SKILL.md

7.2 KiB

name version description
analyze-roadmap-position 1.2.1 지금 작업이 뭐지?, 현재 작업 분석, 남은 작업 확인 요청에 대해 활성 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 링크 누락은 출력 전 반드시 보정한다.

출력 형식

## 현재 작업 분석

- 추정 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으로 추가하지 않는다.