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

10 KiB

name version description
analyze-roadmap-position 1.13.0 여러 레포를 전환할 때 코드/git 분석 없이 priority-queue 실행 순서와 ROADMAP > Phase > Milestone > current 현지점을 링크 달린 흐름 목록으로 빠르게 보여주는 읽기 전용 스킬

로드맵 현지점

목적

여러 레포를 병렬 운용하다가 돌아왔을 때, 현재 작업이 전체 로드맵의 어느 Phase와 Milestone에 있는지 빠르게 보여준다. 기본 출력은 전역 Milestone 실행 순서, 로드맵 > Phase > Milestone breadcrumb, 전체 Phase 흐름, 현재 Phase의 Milestone 흐름이다. Phase 흐름은 실행 순서가 아니라 도메인/책임 영역의 구조적 지도이며, 다음 작업 후보는 priority-queue.md 순서를 우선한다. 코드 진행도 감사, git diff 분석, 테스트 근거 확인, 남은 작업 정밀 판정은 기본 책임이 아니다.

언제 호출할지

  • 사용자가 "지금 작업이 뭐지?", "현재 작업이 뭐야?", "어디까지 했지?"라고 물을 때
  • 사용자가 레포 전환 직후 로드맵상 현재 좌표를 빠르게 알고 싶어 할 때
  • "로드맵상 현 위치", "현재 마일스톤 위치", "current 기준 breadcrumb"를 요청할 때
  • Phase를 가로지르는 다음 작업 후보 순서를 함께 보고 싶어 할 때
  • 구현 시작 전 전체 Roadmap > Phase > Milestone 관계만 확인하면 될 때

먼저 확인할 것

  • agent-ops/skills/common/_templates/roadmap-position-report-template.md를 읽어 최신 답변 템플릿 확인
  • agent-roadmap/ 디렉터리 존재 여부 확인
  • 로컬 agent-roadmap/current.md 존재 여부 확인
  • agent-roadmap/priority-queue.md가 있으면 실행 순서 항목 확인
  • 로드맵이 있으면 ROADMAP.mdPhase 흐름을 확인
  • 로컬 current.md의 활성 Phase와 활성 Milestone 이름, 상태, 경로 확인
  • 활성 Phase 문서의 Milestone 흐름 확인
  • 활성 Milestone 문서의 제목, 목표, 상태, 구현 잠금의 SDD 문서 링크/경로만 확인

실행 절차

  1. agent-roadmap/ 존재 여부를 확인한다.
    • 없으면 로드맵 없음으로 짧게 보고하고 멈춘다.
  2. agent-ops/skills/common/_templates/roadmap-position-report-template.md를 읽는다.
  3. 로컬 agent-roadmap/current.md를 확인한다.
    • 없으면 로컬 current 없음으로 보고하고, priority-queue.md가 있으면 전역 실행 순서와 ROADMAP.mdPhase 흐름을 보여준다.
  4. agent-roadmap/priority-queue.md가 있으면 실행 순서 항목을 읽어 전역 Milestone 실행 순서 목록을 만든다.
    • 각 항목은 순번, Milestone 제목 링크, 식별용 한 줄 설명만 남긴다.
    • 상태, 잠금, 목표, 기능 Task는 각 Milestone 문서 원본을 읽기 전에는 추정하지 않는다.
    • archive 링크가 있거나 링크가 깨진 것으로 보이면 큐 정리 필요로 표시하고 archive 문서는 읽지 않는다.
    • 파일이 없으면 전역 실행 순서: 없음으로 출력한다.
  5. ROADMAP.mdPhase 흐름을 읽어 전체 Phase 목록을 만든다.
    • 각 Phase는 상태, 이름, 링크만 남긴다.
    • current의 활성 Phase와 일치하는 항목에 ← 현재 표시를 붙인다.
    • 완료된 Phase가 archive 경로를 가리켜도 링크만 표시하고 archive 문서는 읽지 않는다.
  6. current의 활성 Phase 경로를 열고 Milestone 흐름을 읽는다.
    • 각 Milestone은 상태, 이름, 링크만 남긴다.
    • current의 활성 Milestone과 일치하는 항목에 ← 현재 후보 표시를 붙인다.
  7. current의 활성 Milestone 문서를 열고 제목, 목표, 상태, 구현 잠금의 SDD 문서 링크/경로만 읽는다.
    • SDD 문서 링크/경로가 있고 해당 SDD.md 파일이 존재하면 Milestone 아래에 SDD: SDD_LINK로 출력한다.
    • SDD 문서 링크/경로는 있으나 해당 파일이 없으면 Milestone 아래에 SDD: SDD_LINK (파일 없음) 형식으로 출력한다.
    • SDD 문서 링크/경로가 없거나 SDD: 불필요이면 Milestone 아래에 SDD: 없음으로 출력한다.
    • SDD.md와 같은 디렉터리에 USER_REVIEW.md가 있으면 Milestone 아래에 사용자 리뷰: USER_REVIEW_LINK로 출력하고, 없으면 사용자 리뷰: 없음으로 출력한다.
    • SDD 상태, 잠금, 승인 여부를 역할 태그나 상태 요약으로 출력하지 않는다. 필요한 독자는 출력된 SDD 링크를 열어 확인하게 한다.
    • SDD 본문은 읽지 않는다.
    • 기능, 완료 리뷰, 범위 제외, 작업 컨텍스트는 사용자가 명시적으로 요청한 경우에만 읽는다.
  8. 결과를 템플릿의 섹션 순서와 필드 의미에 맞춰 출력한다. 템플릿의 placeholder, 선택지 표기, HTML 주석은 출력하지 않는다.

링크 정규화

  • 출력 링크는 채팅 결과이므로 항상 repo root 기준 상대경로를 target으로 쓴다. 예: [PHASE.md](agent-roadmap/phase/example-phase/PHASE.md).
  • current.md, ROADMAP.md, PHASE.md, Milestone 문서에서 읽은 Markdown 링크는 그대로 복사하지 않는다. 반드시 링크가 들어 있던 원본 파일 위치 기준으로 target을 해석한 뒤 repo root 기준 상대경로로 다시 쓴다.
  • 예: agent-roadmap/current.md[PHASE.md](phase/foo/PHASE.md)는 출력에서 [PHASE.md](agent-roadmap/phase/foo/PHASE.md)로 쓴다.
  • 예: agent-roadmap/priority-queue.md[Milestone](phase/foo/milestones/bar.md)는 출력에서 [Milestone](agent-roadmap/phase/foo/milestones/bar.md)로 쓴다.
  • 예: agent-roadmap/phase/foo/PHASE.md[Milestone](milestones/bar.md)는 출력에서 [Milestone](agent-roadmap/phase/foo/milestones/bar.md)로 쓴다.
  • 예: agent-roadmap/phase/foo/PHASE.md[Archive](../../archive/phase/foo/milestones/bar.md)는 출력에서 [Archive](agent-roadmap/archive/phase/foo/milestones/bar.md)로 쓴다. archive 문서는 읽지 않고 링크만 표시한다.
  • 링크 label은 사람이 이해할 수 있는 이름을 쓰고, target에는 <phase-path>, <milestone-path>, <sdd-path>, <user-review-path>, <phase-slug>, <milestone-slug> 또는 {PHASE_LINK} 같은 placeholder를 남기지 않는다.
  • 템플릿의 {PHASE_LINK}, {MILESTONE_LINK}, {SDD_LINK}, {USER_REVIEW_LINK}는 실제 [제목](repo-root-relative-path) Markdown 링크로 치환한다.
  • 대상 경로를 확정할 수 없으면 Markdown 링크를 만들지 말고 링크 없음: <사유>로 표시한다. raw path만 단독으로 출력하거나 깨진 링크를 만들지 않는다.
  • 출력 전 자체 점검으로 ](<, ](...<...>), {PHASE_LINK} 같은 placeholder 링크가 남아 있지 않은지 확인한다.

실행 결과 검증

  • roadmap-position-report-template.md의 출력 구조를 유지했는가
  • priority-queue.md가 있으면 실행 순서 항목을 표시했고, 없으면 전역 실행 순서: 없음으로 표시했는가
  • 로컬 current.md, priority-queue.md, ROADMAP.md, 활성 PHASE.md, 활성 Milestone의 제목/목표/상태/SDD 문서 링크/경로만 기본으로 읽었는가
  • 현재 후보 Milestone 아래에 SDD와 사용자 리뷰를 링크 또는 없음으로 출력했는가
  • Phase, Milestone, SDD, 사용자 리뷰 등 모든 문서 포인터가 raw path만 남지 않고 Markdown 링크로 출력되었는가
  • 문서에서 읽은 file-location-relative 링크를 채팅 출력용 repo root 상대 링크로 정규화했는가
  • 출력에 placeholder 링크 target이나 (제목)[링크]처럼 뒤집힌 Markdown 문법이 남지 않았는가
  • SDD 상태, 잠금, 승인 여부를 역할 태그나 상태 요약으로 출력하지 않았는가
  • 완료 또는 archive Phase/Milestone은 링크만 표시하고 archive 문서를 읽지 않았는가
  • Phase 흐름을 실행 순서로 설명하지 않고, 전역 실행 순서는 별도 섹션으로 출력했는가
  • current가 여러 Milestone을 가리키면 모두 현재 후보로 표시했는가
  • 코드 파일, 테스트 파일, git status, git diff를 기본 동작에서 읽지 않았는가
  • 로드맵 파일을 수정하지 않았는가

출력 형식

  • 템플릿 경로: agent-ops/skills/common/_templates/roadmap-position-report-template.md
  • 템플릿의 섹션 순서와 필드 의미를 따른다. placeholder 줄을 그대로 복사하지 말고, 실제 항목 수에 맞춰 행을 생성한다.
  • 출력에는 <phase-path>, <milestone-path>, <sdd-path>, <user-review-path>, {PHASE_LINK}, {MILESTONE_LINK}, {SDD_LINK}, {USER_REVIEW_LINK} placeholder를 그대로 남기지 않고 실제 repo root 기준 상대 링크 target으로 치환한다.
  • 섹션 제목과 필드명을 임의로 번역, 축약, 삭제하지 않는다.
  • current가 여러 Milestone을 가리키면 breadcrumb와 Milestone 흐름에 모두 표시한다.
  • 현재 후보의 역할 태그는 선행 스케치, 다음 구현 계획, 검토 후보, 보류 후보처럼 짧게 쓰되 SDD 상태를 역할 태그에 넣지 않는다.
  • 현재 후보에 SDD 문서 링크/경로가 있으면 Milestone 아래에 SDD 링크를 배치한다. USER_REVIEW.md가 있으면 그 링크도 SDD 아래에 배치한다.
  • 문서 포인터는 항상 [표시 제목](상대경로) Markdown 링크로 출력한다. 파일이 없어도 raw path만 쓰지 말고 SDD_LINK (파일 없음)처럼 링크와 상태를 함께 쓴다.
  • 전역 마일스톤 실행 순서에는 priority-queue.md의 항목 순서를 그대로 출력한다. Milestone 상태나 잠금은 각 Milestone 문서를 읽지 않았다면 출력하지 않는다.
  • 로드맵이 없는 프로젝트에서는 로드맵 없음으로 짧게 보고하고 템플릿을 억지로 채우지 않는다.
  • 로컬 current.md가 없으면 local current: 없음으로 출력하고, [current.md](agent-roadmap/current.md) 링크를 만들지 않는다.

금지 사항

  • 기본 동작에서 코드 파일, 테스트 파일, git status, git diff를 읽지 않는다.
  • 기본 동작에서 Milestone의 기능 체크리스트를 감사하지 않는다.
  • 완료 여부, 남은 작업, 코드와 문서의 동기화 상태를 evidence 기반으로 판정하지 않는다.
  • 사용자가 명시하지 않은 상태에서 ROADMAP.md, 로컬 current.md, Phase, Milestone 문서를 수정하지 않는다.
  • 사용자가 과거 기록 확인을 명시하지 않으면 agent-roadmap/archive/**를 읽지 않는다.