nomadcode/agent-ops/skills/common/check-roadmap-dependency/SKILL.md

3.8 KiB

name version description
check-roadmap-dependency 1.0.0 roadmap dependency lock 상태를 확인한다. 사용자가 roadmap-dependency-checker.sh, locks.yaml, 외부 의존 잠금 충족 여부, unlock-ready 판별, 프로젝트 간 잠금 해제 조건 확인을 요청할 때 사용한다.

check-roadmap-dependency

목적

.agent-roadmap-sync/locks.yaml에서 특정 lock idlocked, rely-on.target, rely-on.status가 유효한지 확인하고, 모든 rely-on.statusenable인지 판별한다. 판별은 agent-ops/bin/roadmap-dependency-checker.sh에 맡기고, 스킬은 입력 확정, 실행, 결과 해석만 담당한다.

언제 호출할지

  • 사용자가 특정 roadmap lock id의 의존 조건 충족 여부를 확인할 때
  • runtime에서 unlock-ready 트리거 전 locks.yaml 판별 절차를 확인할 때
  • .agent-roadmap-sync/locks.yamlrely-on.status 기반 true/false 확인을 요청할 때

입력

  • lock-id: 확인할 lock entry id. 예: oto:oto-agent-registration. 사용자가 "현재 마일스톤"이라고만 말하면 <현재-project>:<current.md 활성 milestone slug>로 추론한다. <현재-project>는 현재 프로젝트 루트 디렉터리 이름이다 (선택, 추론 불가 시 필수)
  • locks-file: 기본값은 프로젝트 상위 .agent-roadmap-sync/locks.yaml이며, 다른 파일을 검사할 때만 지정한다 (선택)

먼저 확인할 것

  • agent-ops/bin/roadmap-dependency-checker.sh가 있는지 확인한다.
  • lock-id가 명시되었거나 현재 프로젝트 current.md의 활성 Milestone 하나로 추론 가능한지 확인한다.
  • 기본 경로 또는 지정된 locks-file을 읽을 수 있는지 확인한다.

실행 절차

  1. 입력 확정

    • 사용자 요청에서 lock-id를 추출한다.
    • lock-id가 없고 "현재 마일스톤" 확인 요청이면 현재 프로젝트 agent-ops/roadmap/current.md의 활성 Milestone 경로에서 milestone slug를 추출해 <현재-project>:<milestone-slug>를 만든다.
    • 활성 Milestone 후보가 없거나 둘 이상이면 추정하지 말고 사용자에게 lock id 또는 Milestone 선택을 요청한다.
    • locks-file이 명시되지 않았으면 프로젝트 상위 .agent-roadmap-sync/locks.yaml을 사용한다.
  2. 판별 실행

    • 기본 파일이면 agent-ops/bin/roadmap-dependency-checker.sh "<lock-id>"를 실행한다.
    • 지정 파일이면 agent-ops/bin/roadmap-dependency-checker.sh "<lock-id>" "<locks-file>"를 실행한다.
  3. 결과 해석

    • stdout true와 exit code 0은 모든 의존 조건 충족으로 보고한다.
    • stdout false와 exit code 1은 아직 충족되지 않은 의존 조건이 있음을 보고한다.
    • exit code 2는 설정 오류, 입력 오류, 필수 필드 누락, 파싱 오류로 보고한다.

실행 결과 검증

  • 정상 판별 결과가 stdout에서 true 또는 false 하나로만 출력되었는가
  • exit code 0, 1, 2 의미를 구분해 보고했는가
  • exit code 2를 unlock 대기 상태로 해석하지 않았는가
  • 이 스킬이 locks.yaml이나 roadmap 문서를 수정하지 않았는가
  • 검증 실패 시: 오류 메시지와 사용한 lock-id, locks-file 경로를 보고하고 멈춘다.

출력 형식

## 의존성 판별 결과

- lock-id: `<lock-id>`
- locks-file: `<locks-file>`
- 결과: `<true | false | error>`
- 의미: <모든 의존 조건 충족 | 미충족 의존 조건 있음 | 설정/입력/필수 필드/파싱 오류>

금지 사항

  • locks.yamlstatus를 변경하지 않는다.
  • roadmap Milestone의 구현 잠금 상태를 변경하지 않는다.
  • false와 설정 오류를 같은 상태로 보고하지 않는다.