8.9 KiB
8.9 KiB
| name | version | description |
|---|---|---|
| analyze-roadmap-position | 1.12.0 | 여러 레포를 전환할 때 코드/git 분석 없이 전체 ROADMAP > Phase > Milestone > current 현지점을 링크 달린 breadcrumb와 흐름 목록으로 빠르게 보여주는 읽기 전용 스킬 |
로드맵 현지점
목적
여러 레포를 병렬 운용하다가 돌아왔을 때, 현재 작업이 전체 로드맵의 어느 Phase와 Milestone에 있는지 빠르게 보여준다.
기본 출력은 로드맵 > Phase > Milestone breadcrumb와 전체 Phase 흐름, 현재 Phase의 Milestone 흐름이다.
코드 진행도 감사, git diff 분석, 테스트 근거 확인, 남은 작업 정밀 판정은 기본 책임이 아니다.
언제 호출할지
- 사용자가 "지금 작업이 뭐지?", "현재 작업이 뭐야?", "어디까지 했지?"라고 물을 때
- 사용자가 레포 전환 직후 로드맵상 현재 좌표를 빠르게 알고 싶어 할 때
- "로드맵상 현 위치", "현재 마일스톤 위치", "current 기준 breadcrumb"를 요청할 때
- 구현 시작 전 전체 Roadmap > Phase > Milestone 관계만 확인하면 될 때
먼저 확인할 것
agent-ops/skills/common/_templates/roadmap-position-report-template.md를 읽어 최신 답변 템플릿 확인agent-roadmap/디렉터리 존재 여부 확인- 로컬
agent-roadmap/current.md존재 여부 확인 - 로드맵이 있으면
ROADMAP.md의Phase 흐름을 확인 - 로컬
current.md의 활성 Phase와 활성 Milestone 이름, 상태, 경로 확인 - 활성 Phase 문서의
Milestone 흐름확인 - 활성 Milestone 문서의 제목,
목표,상태,구현 잠금의 SDD 문서 링크/경로만 확인
실행 절차
agent-roadmap/존재 여부를 확인한다.- 없으면 로드맵 없음으로 짧게 보고하고 멈춘다.
agent-ops/skills/common/_templates/roadmap-position-report-template.md를 읽는다.- 로컬
agent-roadmap/current.md를 확인한다.- 없으면 로컬 current 없음으로 보고하고,
ROADMAP.md가 있으면Phase 흐름만 보여준다.
- 없으면 로컬 current 없음으로 보고하고,
ROADMAP.md의Phase 흐름을 읽어 전체 Phase 목록을 만든다.- 각 Phase는 상태, 이름, 링크만 남긴다.
- current의 활성 Phase와 일치하는 항목에
← 현재표시를 붙인다. - 완료된 Phase가 archive 경로를 가리켜도 링크만 표시하고 archive 문서는 읽지 않는다.
- current의 활성 Phase 경로를 열고
Milestone 흐름을 읽는다.- 각 Milestone은 상태, 이름, 링크만 남긴다.
- current의 활성 Milestone과 일치하는 항목에
← 현재 후보표시를 붙인다.
- 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 본문은 읽지 않는다.
기능,완료 리뷰,범위 제외,작업 컨텍스트는 사용자가 명시적으로 요청한 경우에만 읽는다.
- 결과를 템플릿의 섹션 순서와 필드 의미에 맞춰 출력한다. 템플릿의 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/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의 출력 구조를 유지했는가- 로컬
current.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 문서를 읽지 않았는가
- 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 (파일 없음)처럼 링크와 상태를 함께 쓴다. - 로드맵이 없는 프로젝트에서는 로드맵 없음으로 짧게 보고하고 템플릿을 억지로 채우지 않는다.
- 로컬
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/**를 읽지 않는다.